@charset "UTF-8";
/* NOTE: INITIAL SETTINGS IMPORT AND LANG DIRECTION ARE SET IN `app-ltr` and `app-rtl` scss files that import this file */
/**
 * Foundation for Sites
 * Version 6.7.4
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 46.25em) {
  .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 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

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

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          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 {
  -webkit-box-sizing: border-box;
          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"] {
  -webkit-box-sizing: border-box;
          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; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=46.25em&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #666;
  -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 {
  -webkit-box-sizing: border-box;
          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;
  -webkit-overflow-scrolling: touch; }

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

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 46.25em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row.is-collapse-child,
  .row.collapse > .column > .row,
  .row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0; }

.column, .columns {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  min-width: 0; }
  @media print, screen and (min-width: 46.25em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.column.row.row, .row.row.columns {
  float: none;
  display: block; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

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

.small-2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

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

.small-3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

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

.small-4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

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

.small-5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

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

.small-6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

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

.small-7 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

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

.small-8 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

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

.small-9 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

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

.small-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

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

.small-11 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

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

.small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

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

.small-up-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }

.small-up-2 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-2 > .column, .small-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }

.small-up-3 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }

.small-up-4 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }

.small-up-5 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%; }

.small-up-6 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }

.small-up-7 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.28571%;
            flex: 0 0 14.28571%;
    max-width: 14.28571%; }

.small-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

@media print, screen and (min-width: 46.25em) {
  .medium-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 46.25em) and (min-width: 46.25em) {
  .medium-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.medium-unstack > .column, .row.medium-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 46.25em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 46.25em) {
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

@media print, screen and (min-width: 64em) {
  .large-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 14.28571%;
              flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 12.5%;
              flex: 0 0 12.5%;
      max-width: 12.5%; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .large-expand {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.row.large-unstack > .column, .row.large-unstack > .columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) {
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; } }

.shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  max-width: 100%; }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 46.25em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

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: 1.5rem;
  font-size: inherit;
  line-height: 1.4;
  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: "Source Sans Pro", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  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: 2.625rem;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 1rem; }

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

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

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

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

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

@media print, screen and (min-width: 46.25em) {
  h1, .h1 {
    font-size: 3.75rem; }
  h2, .h2 {
    font-size: 1.6875rem; }
  h3, .h3 {
    font-size: 1.5rem; }
  h4, .h4 {
    font-size: 1.25rem; }
  h5, .h5 {
    font-size: 1.0625rem; }
  h6, .h6 {
    font-size: 1rem; } }

a {
  line-height: inherit;
  color: #2063D6;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1c55b8; }
  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: 1.5rem;
  list-style-position: outside;
  line-height: 1.4; }

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 1.5rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #cacaca; }
  blockquote, blockquote p {
    line-height: 1.4;
    color: #8a8a8a; }

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

figure {
  margin: 0; }

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

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  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; }

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

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

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

.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: 46.25em) {
  .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;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !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 {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 1.25em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  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; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  @media print, screen and (max-width: 46.24875em) {
    .button.small-only-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 46.25em) and (max-width: 63.99875em) {
    .button.medium-only-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (max-width: 63.99875em) {
    .button.medium-down-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 46.25em) {
    .button.medium-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
    .button.large-only-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (max-width: 74.99875em) {
    .button.large-down-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .button.large-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #0a0a0a;
    color: #fefefe; }
  .button:hover, .button:focus {
    background-color: #090909;
    color: #fefefe; }
  .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
    background-color: #2063D6;
    color: #fefefe; }
  .button.primary:hover, .button.primary:focus {
    background-color: #1a4fab;
    color: #fefefe; }
  .button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
    background-color: #767676;
    color: #fefefe; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #5e5e5e;
    color: #fefefe; }
  .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
    background-color: #3adb76;
    color: #0a0a0a; }
  .button.success:hover, .button.success:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #0a0a0a; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
    border: 3px solid #0a0a0a;
    color: #0a0a0a; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #050505;
    color: #050505; }
  .button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
    border: 3px solid #2063D6;
    color: #2063D6; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #10326b;
    color: #10326b; }
  .button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
    border: 3px solid #767676;
    color: #767676; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
    border: 3px solid #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
    border: 3px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
    border: 3px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
    color: #0a0a0a; }
  .button.clear:hover, .button.clear:focus {
    color: #050505; }
  .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {
    color: #2063D6; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #10326b; }
  .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
    color: #767676; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #3b3b3b; }
  .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.4em;
    content: '';
    border-bottom-width: 0;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #0a0a0a; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #2063D6; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #e4e8f2;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -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 #cacaca;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

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'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

::-moz-placeholder {
  color: #cacaca; }

:-ms-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: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.5;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: 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: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: 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-box-flex: 1;
      -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-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -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 {
    -ms-flex-item-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 #e4e8f2;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  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;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @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 #cacaca;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

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

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

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

input[type='range'] {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 0.45rem;
  margin-bottom: 0.45rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  line-height: 1;
  cursor: pointer; }
  input[type='range']:focus {
    outline: 0; }
  input[type='range'][disabled] {
    opacity: 0.25; }
  input[type='range']::-webkit-slider-runnable-track {
    height: 0.5rem;
    background: #e6e6e6; }
  input[type='range']::-webkit-slider-thumb {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -webkit-appearance: none;
    background: #2063D6; }
  input[type='range']::-moz-range-track {
    height: 0.5rem;
    -moz-appearance: none;
    background: #e6e6e6; }
  input[type='range']::-moz-range-thumb {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: -0.45rem;
    -moz-appearance: none;
    background: #2063D6; }
  input[type='range']::-ms-track {
    height: 0.5rem;
    border: 0;
    border-top: 0.45rem solid #fefefe;
    border-bottom: 0.45rem solid #fefefe;
    background: #e6e6e6;
    overflow: visible;
    color: transparent; }
  input[type='range']::-ms-thumb {
    width: 1.4rem;
    height: 1.4rem;
    border: 0;
    background: #2063D6; }
  input[type='range']::-ms-fill-lower {
    background: #cacaca; }
  input[type='range']::-ms-fill-upper {
    background: #e6e6e6; }
  output {
    vertical-align: middle;
    margin-left: 0.5em;
    line-height: 1.4rem; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  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: #2063D6; }
  :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: "–"; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group::before, .button-group::after {
    display: none; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
    background-color: #2063D6;
    color: #fefefe; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #1a4fab;
    color: #fefefe; }
  .button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
    background-color: #767676;
    color: #fefefe; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #5e5e5e;
    color: #fefefe; }
  .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
    background-color: #3adb76;
    color: #0a0a0a; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
    background-color: #ffae00;
    color: #0a0a0a; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
    border: 3px solid #0a0a0a;
    color: #0a0a0a; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #050505;
    color: #050505; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
    border: 3px solid #2063D6;
    color: #2063D6; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
    border-color: #10326b;
    color: #10326b; }
  .button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
    border: 3px solid #767676;
    color: #767676; }
  .button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
    border-color: #3b3b3b;
    color: #3b3b3b; }
  .button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
    border: 3px solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
    border: 3px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
    border: 3px solid #cc4b37;
    color: #cc4b37; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
    color: #0a0a0a; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #050505; }
  .button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
    color: #2063D6; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
    color: #10326b; }
  .button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
    color: #767676; }
  .button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
    color: #3b3b3b; }
  .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
    color: #cc4b37; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
    color: #67251a; }
  .button-group.no-gaps .button {
    margin-right: -0.1875rem; }
    .button-group.no-gaps .button + .button {
      border-left-color: transparent; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 46.25em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 46.24875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media print, screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0);
  border-radius: 0;
  background-color: white;
  color: #666; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: white;
    color: #666; }
  .callout.secondary {
    background-color: white;
    color: #666; }
  .callout.success {
    background-color: white;
    color: #666; }
  .callout.warning {
    background-color: white;
    color: #666; }
  .callout.alert {
    background-color: white;
    color: #666; }
  .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-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #666; }
  .card > :last-child {
    margin-bottom: 0; }

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

.card-section {
  -webkit-box-flex: 1;
      -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;
  z-index: 10;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .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-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: 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: 46.25em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -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, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -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, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -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, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: #2063D6;
    color: #fefefe; }
  .menu .active > a {
    background: #2063D6;
    color: #fefefe; }
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: 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.icon-top li a img,
  .menu.align-right.icon-top li a i,
  .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
  .menu.align-right.icon-bottom li a i,
  .menu.align-right.icon-bottom li a svg {
    text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: 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-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu-centered > .menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu-centered > .menu li .submenu li {
      -webkit-box-pack: 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: #fefefe;
    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #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: #0a0a0a;
    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
            box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
            box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.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-style: solid;
  border-width: 6px;
  content: '';
  border-bottom-width: 0;
  border-color: #2063D6 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

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

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

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

.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-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #2063D6 transparent transparent;
  right: auto;
  left: 5px; }

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

@media print, screen and (min-width: 46.25em) {
  .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-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #2063D6 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-style: solid;
    border-width: 6px;
    content: '';
    border-left-width: 0;
    border-color: transparent #2063D6 transparent transparent;
    right: auto;
    left: 5px; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #2063D6; } }

@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-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #2063D6 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-style: solid;
    border-width: 6px;
    content: '';
    border-left-width: 0;
    border-color: transparent #2063D6 transparent transparent;
    right: auto;
    left: 5px; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #2063D6; } }

.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: #fefefe; }
  .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-style: solid;
    border-width: 6px;
    content: '';
    border-left-width: 0;
    border-color: transparent #2063D6 transparent transparent;
    right: auto;
    left: 5px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #2063D6; }
  .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%; }

.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(10, 10, 10, 0.5);
  color: #fefefe; }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [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(10, 10, 10, 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; }

.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;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  cursor: -webkit-grab;
  cursor: grab;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #2063D6;
  -webkit-transition: all 0.2s ease-in-out;
  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: #1b54b6; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear;
    cursor: -webkit-grabbing;
    cursor: grabbing; }

.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);
          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%);
            transform: translateX(-50%); }

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
  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(254, 254, 254, 0.8);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: none;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 46.25em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 46.25em) {
    .reveal {
      width: 800px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 46.25em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 46.25em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 46.25em) {
    .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 print, screen and (max-width: 46.24875em) {
    .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 {
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2rem; }

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  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: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #2063D6; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-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 #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #666; }
  tfoot {
    background: #f1f1f1;
    color: #666; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

@media print, 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: #f3f3f3; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid none;
  background: #fefefe;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -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: #2063D6; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1e5ecb; }

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

.tabs-content {
  border: 1px solid none;
  border-top: 0;
  background: #fefefe;
  color: #666;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

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

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

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: 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-box-flex: 1;
      -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; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

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

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

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

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

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

@media screen and (max-width: 46.24875em), 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 print, 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 !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

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

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

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

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

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

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

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

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

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

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

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

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

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

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

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

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

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

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

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

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

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

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

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

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

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

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

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

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

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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%);
          transform: translateX(-100%); }

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

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

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

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

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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);
          transform: rotate(-0.75turn);
  opacity: 0; }

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

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

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

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

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

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

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

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

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

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

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

.long-delay {
  -webkit-transition-delay: 700ms !important;
          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; }

/* 
 * FUNCTIONS
 * Various functions for rendering SVG icons / arrows etc. Using these allows fill colours 
 * and in some cases direction of arrows to be specified and the relevant SVG markup output
 * urlencoded SVGs in the CSS file.
 */
/*
 * MARGIN / PADDING CLASSES 
 * These are intended to be used for adding or removing padding or margins
 * on elements in a way to allow flexible variations between breakpoints
 */
.unpadded .columns {
  padding-left: 0;
  padding-right: 0; }

.unpadded.columns {
  padding-left: 0;
  padding-right: 0; }

.unpadded_column, .unpadded-column {
  padding-left: 0;
  padding-right: 0; }

.unpadded_column_left, .unpadded-column-left {
  padding-left: 0; }

.unpadded_column_right, .unpadded-column-right {
  padding-right: 0; }

.small-padding-left {
  padding-left: 15px; }

.small-padding-right {
  padding-right: 15px; }

.no-top-padding, .top-padding-zero {
  padding-top: 0 !important; }

.no-bottom-padding, .bottom-padding-zero {
  padding-bottom: 0 !important; }

.no-top-margin, .top-margin-zero {
  margin-top: 0 !important; }

.no-bottom-margin, .bottom-margin-zero {
  margin-bottom: 0 !important; }

.no-left-padding, .left-padding-zero {
  padding-left: 0 !important; }

.no-right-padding, .right-padding-zero {
  padding-right: 0 !important; }

.no-left-margin, .left-margin-zero {
  margin-left: 0 !important; }

.no-right-margin, .right-margin-zero {
  margin-right: 0 !important; }

/* NEGATIVE MARGINS */
/* 16px Padding options */
.top-negative-margin-one {
  margin-top: -16px !important; }

.bottom-negative-margin-one {
  margin-bottom: -16px !important; }

/* 32px Padding options */
.top-negative-margin-two {
  margin-top: -32px !important; }

.bottom-negative-margin-two {
  margin-bottom: -32px !important; }

/* 48px Padding options */
.top-negative-margin-three {
  margin-top: -48px !important; }

.bottom-negative-margin-three {
  margin-bottom: -48px !important; }

.large-offset-05 {
  margin-left: 4.15555%; }

/* POSITIVE */
/* 8px Padding options */
.top-padding-half {
  padding-top: 8px !important; }

.bottom-padding-half {
  padding-bottom: 8px !important; }

.top-margin-half {
  margin-top: 8px !important; }

.bottom-margin-half {
  margin-bottom: 8px !important; }

/* 16px Padding options */
.top-padding-one {
  padding-top: 16px !important; }

.bottom-padding-one {
  padding-bottom: 16px !important; }

.top-margin-one {
  margin-top: 16px !important; }

.bottom-margin-one {
  margin-bottom: 16px !important; }

/* 32px Padding options */
.top-padding-two {
  padding-top: 32px !important; }

.bottom-padding-two {
  padding-bottom: 32px !important; }

.top-margin-two {
  margin-top: 32px !important; }

.bottom-margin-two {
  margin-bottom: 32px !important; }

/* 48px Padding options */
.top-padding-three {
  padding-top: 48px !important; }

.bottom-padding-three {
  padding-bottom: 48px !important; }

.top-margin-three {
  margin-top: 48px !important; }

.bottom-margin-three {
  margin-bottom: 48px !important; }

/* 64px Padding options */
.top-padding-four {
  padding-top: 64px !important; }

.bottom-padding-four {
  padding-bottom: 64px !important; }

.top-margin-four {
  margin-top: 64px !important; }

.bottom-margin-four {
  margin-bottom: 64px !important; }

/* 80px Padding options */
.top-padding-five {
  padding-top: 80px !important; }

.bottom-padding-five {
  padding-bottom: 80px !important; }

.top-margin-five {
  margin-top: 80px !important; }

.bottom-margin-five {
  margin-bottom: 80px !important; }

/* 96px Padding options */
.top-padding-six {
  padding-top: 96px !important; }

.bottom-padding-six {
  padding-bottom: 96px !important; }

.top-margin-six {
  margin-top: 96px !important; }

.bottom-margin-six {
  margin-bottom: 96px !important; }

/* 112px  Padding options */
.top-padding-seven {
  padding-top: 112px !important; }

.bottom-padding-seven {
  padding-bottom: 112px !important; }

.top-margin-seven {
  margin-top: 112px !important; }

.bottom-margin-seven {
  margin-bottom: 112px !important; }

/* 128px Padding options */
.top-padding-eight {
  padding-top: 128px !important; }

.bottom-padding-eight {
  padding-bottom: 128px !important; }

.top-margin-eight {
  margin-top: 128px !important; }

.bottom-margin-eight {
  margin-bottom: 128px !important; }

/* 16px Left / Right Padding options */
.left-padding-one {
  padding-left: 16px !important; }

.right-padding-one {
  padding-right: 16px !important; }

/* 32px Left / Right Padding options */
.left-padding-two {
  padding-left: 32px !important; }

.right-padding-two {
  padding-right: 32px !important; }

/* 48px Left / Right Padding options */
.left-padding-three {
  padding-left: 48px !important; }

.right-padding-three {
  padding-right: 48px !important; }

.alt-padding .column:nth-child(odd), .alt-padding .columns:nth-child(odd) {
  padding-left: 0; }

.alt-padding .column:nth-child(even), .alt-padding .columns:nth-child(even) {
  padding-right: 0; }

.small-inner-padding .column:nth-child(odd), .small-inner-padding .columns:nth-child(odd) {
  padding-left: 0;
  padding-right: 20px; }

.small-inner-padding .column:nth-child(even), .small-inner-padding .columns:nth-child(even) {
  padding-right: 0;
  padding-left: 20px; }

.alt-left-padding .column, .alt-left-padding .columns {
  padding-left: 0; }

.padding-right-restore, .padding-right-restore.columns {
  padding-right: 30px; }

.padding-left-restore, .padding-left-restore.columns {
  padding-left: 30px; }

/* 1280px - large */
@media only screen and (max-width: 80em) {
  .unpadded-column-large {
    padding-left: 0;
    padding-right: 0; } }

/* 1023px - med */
@media only screen and (max-width: 63.938em) {
  .unpadded-column-medium {
    padding-left: 0;
    padding-right: 0; } }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .padding-right-restore, .padding-right-restore.columns {
    padding-right: 15px; }
  .padding-left-restore, .padding-left-restore.columns {
    padding-left: 15px; }
  .no-left-padding-small-only {
    padding-left: 0 !important; }
  .no-right-padding-small-only {
    padding-right: 0 !important; } }

/* 740px - 1023px - Medium Only */
@media only screen and (min-width: 46.25em) and (max-width: 63.938em) {
  .no-left-padding-medium-only {
    padding-left: 0 !important; }
  .no-right-padding-medium-only {
    padding-right: 0 !important; } }

/* 1023px - 1199px - Large Only */
@media only screen and (min-width: 64em) and (max-width: 74.938em) {
  .no-left-padding-large-only {
    padding-left: 0 !important; }
  .no-right-padding-large-only {
    padding-right: 0 !important; } }

/* Min-width sized classes */
/* 0px and up */
@media only screen and (min-width: 0em) and (max-width: 46.188em) {
  /* Translate Y */
  .translate-y--50-small {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .no-left-padding-small, .left-padding-zero-small {
    padding-left: 0 !important; }
  .no-right-padding-small, .right-padding-zero-small {
    padding-right: 0 !important; }
  /* NEGATIVE MARGINS */
  /* 16px Padding options */
  .top-negative-margin-one-small {
    margin-top: -16px !important; }
  .bottom-negative-margin-one-small {
    margin-bottom: -16px !important; }
  /* 32px Padding options */
  .top-negative-margin-two-small {
    margin-top: -32px !important; }
  .bottom-negative-margin-two-small {
    margin-bottom: -32px !important; }
  /* 48px Padding options */
  .top-negative-margin-three-small {
    margin-top: -48px !important; }
  .bottom-negative-margin-three-small {
    margin-bottom: -48px !important; }
  /* 0 Left / Right Padding options */
  .no-left-padding-small, .left-padding-zero-small {
    padding-left: 0 !important; }
  .no-right-padding-small, .right-padding-zero-small {
    padding-right: 0 !important; }
  /* 8px Left / Right Padding options */
  .left-padding-half-small {
    padding-left: 8px !important; }
  .right-padding-half-small {
    padding-right: 8px !important; }
  /* 16px Left / Right Padding options */
  .left-padding-one-small {
    padding-left: 16px !important; }
  .right-padding-one-small {
    padding-right: 16px !important; }
  /* 24px Left / Right Padding options */
  .left-padding-one-half-small {
    padding-left: 24px !important; }
  .right-padding-one-half-small {
    padding-right: 24px !important; }
  /* 32px Left / Right Padding options */
  .left-padding-two-small {
    padding-left: 32px !important; }
  .right-padding-two-small {
    padding-right: 32px !important; }
  /* 0 Top / Bottom Padding options */
  .top-padding-zero-small {
    padding-top: 0 !important; }
  .bottom-padding-zero-small {
    padding-bottom: 0 !important; }
  .top-margin-zero-small {
    margin-top: 0 !important; }
  .bottom-margin-zero-small {
    margin-bottom: 0 !important; }
  /* 8px Top / Bottom Padding options */
  .top-padding-half-small {
    padding-top: 8px !important; }
  .bottom-padding-half-small {
    padding-bottom: 8px !important; }
  .top-margin-half-small {
    margin-top: 8px !important; }
  .bottom-margin-half-small {
    margin-bottom: 8px !important; }
  /* 16px Top / Bottom Padding options */
  .top-padding-one-small {
    padding-top: 16px !important; }
  .bottom-padding-one-small {
    padding-bottom: 16px !important; }
  .top-margin-one-small {
    margin-top: 16px !important; }
  .bottom-margin-one-small {
    margin-bottom: 16px !important; }
  /* 32px Top / Bottom Padding options */
  .top-padding-two-small {
    padding-top: 32px !important; }
  .bottom-padding-two-small {
    padding-bottom: 32px !important; }
  .top-margin-two-small {
    margin-top: 32px !important; }
  .bottom-margin-two-small {
    margin-bottom: 32px !important; }
  /* 48px Top / Bottom Padding options */
  .top-padding-three-small {
    padding-top: 48px !important; }
  .bottom-padding-three-small {
    padding-bottom: 48px !important; }
  .top-margin-three-small {
    margin-top: 48px !important; }
  .bottom-margin-three-small {
    margin-bottom: 48px !important; }
  /* 64px Top / Bottom Padding options */
  .top-padding-four-small {
    padding-top: 64px !important; }
  .bottom-padding-four-small {
    padding-bottom: 64px !important; }
  .top-margin-four-small {
    margin-top: 64px !important; }
  .bottom-margin-four-small {
    margin-bottom: 64px !important; }
  /* 80px Padding options */
  .top-padding-five-small {
    padding-top: 80px !important; }
  .bottom-padding-five-small {
    padding-bottom: 80px !important; }
  .top-margin-five-small {
    margin-top: 80px !important; }
  .bottom-margin-five-small {
    margin-bottom: 80px !important; }
  /* 96px Padding options */
  .top-padding-six-small {
    padding-top: 96px !important; }
  .bottom-padding-six-small {
    padding-bottom: 96px !important; }
  .top-margin-six-small {
    margin-top: 96px !important; }
  .bottom-margin-six-small {
    margin-bottom: 96px !important; }
  /* 112px  Padding options */
  .top-padding-seven-small {
    padding-top: 112px !important; }
  .bottom-padding-seven-small {
    padding-bottom: 112px !important; }
  .top-margin-seven-small {
    margin-top: 112px !important; }
  .bottom-margin-seven-small {
    margin-bottom: 112px !important; }
  /* 128px Top / Bottom Padding options */
  .top-padding-eight-small {
    padding-top: 128px !important; }
  .bottom-padding-eight-small {
    padding-bottom: 128px !important; }
  .top-margin-eight-small {
    margin-top: 128px !important; }
  .bottom-margin-eight-small {
    margin-bottom: 128px !important; } }

/* 740px and up */
@media only screen and (min-width: 46.25em) {
  /* Translate Y */
  .translate-y--50-medium {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* 0 Left / Right Padding options */
  .no-left-padding-medium, .left-padding-zero-medium {
    padding-left: 0 !important; }
  .no-right-padding-medium, .right-padding-zero-medium {
    padding-right: 0 !important; }
  /* NEGATIVE MARGINS */
  /* 16px Padding options */
  .top-negative-margin-one-medium {
    margin-top: -16px !important; }
  .bottom-negative-margin-one-medium {
    margin-bottom: -16px !important; }
  /* 32px Padding options */
  .top-negative-margin-two-medium {
    margin-top: -32px !important; }
  .bottom-negative-margin-two-medium {
    margin-bottom: -32px !important; }
  /* 48px Padding options */
  .top-negative-margin-three-medium {
    margin-top: -48px !important; }
  .bottom-negative-margin-three-medium {
    margin-bottom: -48px !important; }
  /* 0 Top / Bottom Padding options */
  .top-padding-zero-medium {
    padding-top: 0 !important; }
  .bottom-padding-zero-medium {
    padding-bottom: 0 !important; }
  .top-margin-zero-medium {
    margin-top: 0 !important; }
  .bottom-margin-zero-medium {
    margin-bottom: 0 !important; }
  /* 8px Top / Bottom Padding options */
  .top-padding-half-medium {
    padding-top: 8px !important; }
  .bottom-padding-half-medium {
    padding-bottom: 8px !important; }
  .top-margin-half-medium {
    margin-top: 8px !important; }
  .bottom-margin-half-medium {
    margin-bottom: 8px !important; }
  /* 16px Top / Bottom Padding options */
  .top-padding-one-medium {
    padding-top: 16px !important; }
  .bottom-padding-one-medium {
    padding-bottom: 16px !important; }
  .top-margin-one-medium {
    margin-top: 16px !important; }
  .bottom-margin-one-medium {
    margin-bottom: 16px !important; }
  /* 32px Top / Bottom Padding options */
  .top-padding-two-medium {
    padding-top: 32px !important; }
  .bottom-padding-two-medium {
    padding-bottom: 32px !important; }
  .top-margin-two-medium {
    margin-top: 32px !important; }
  .bottom-margin-two-medium {
    margin-bottom: 32px !important; }
  /* 48px Top / Bottom Padding options */
  .top-padding-three-medium {
    padding-top: 48px !important; }
  .bottom-padding-three-medium {
    padding-bottom: 48px !important; }
  .top-margin-three-medium {
    margin-top: 48px !important; }
  .bottom-margin-three-medium {
    margin-bottom: 48px !important; }
  /* 64px Top / Bottom Padding options */
  .top-padding-four-medium {
    padding-top: 64px !important; }
  .bottom-padding-four-medium {
    padding-bottom: 64px !important; }
  .top-margin-four-medium {
    margin-top: 64px !important; }
  .bottom-margin-four-medium {
    margin-bottom: 64px !important; }
  /* 80px Padding options */
  .top-padding-five-medium {
    padding-top: 80px !important; }
  .bottom-padding-five-medium {
    padding-bottom: 80px !important; }
  .top-margin-five-medium {
    margin-top: 80px !important; }
  .bottom-margin-five-medium {
    margin-bottom: 80px !important; }
  /* 96px Padding options */
  .top-padding-six-medium {
    padding-top: 96px !important; }
  .bottom-padding-six-medium {
    padding-bottom: 96px !important; }
  .top-margin-six-medium {
    margin-top: 96px !important; }
  .bottom-margin-six-medium {
    margin-bottom: 96px !important; }
  /* 112px  Padding options */
  .top-padding-seven-medium {
    padding-top: 112px !important; }
  .bottom-padding-seven-medium {
    padding-bottom: 112px !important; }
  .top-margin-seven-medium {
    margin-top: 112px !important; }
  .bottom-margin-seven-medium {
    margin-bottom: 112px !important; }
  /* 128px Top / Bottom Padding options */
  .top-padding-eight-medium {
    padding-top: 128px !important; }
  .bottom-padding-eight-medium {
    padding-bottom: 128px !important; }
  .top-margin-eight-medium {
    margin-top: 128px !important; }
  .bottom-margin-eight-medium {
    margin-bottom: 128px !important; } }

/* 1024px and up */
@media only screen and (min-width: 64em) {
  /* Translate Y */
  .translate-y--50-large {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  /* 0 Left / Right Padding options */
  .no-left-padding-large, .left-padding-zero-large {
    padding-left: 0 !important; }
  .no-right-padding-large, .right-padding-zero-large {
    padding-right: 0 !important; }
  /* NEGATIVE MARGINS */
  /* 16px Padding options */
  .top-negative-margin-one-large {
    margin-top: -16px !important; }
  .bottom-negative-margin-one-large {
    margin-bottom: -16px !important; }
  /* 32px Padding options */
  .top-negative-margin-two-large {
    margin-top: -32px !important; }
  .bottom-negative-margin-two-large {
    margin-bottom: -32px !important; }
  /* 48px Padding options */
  .top-negative-margin-three-large {
    margin-top: -48px !important; }
  .bottom-negative-margin-three-large {
    margin-bottom: -48px !important; }
  /* 0 Top / Bottom Padding options */
  .top-padding-zero-large {
    padding-top: 0 !important; }
  .bottom-padding-zero-large {
    padding-bottom: 0 !important; }
  .top-margin-zero-large {
    margin-top: 0 !important; }
  .bottom-margin-zero-large {
    margin-bottom: 0 !important; }
  /* 8px Top / Bottom Padding options */
  .top-padding-half-large {
    padding-top: 8px !important; }
  .bottom-padding-half-large {
    padding-bottom: 8px !important; }
  .top-margin-half-large {
    margin-top: 8px !important; }
  .bottom-margin-half-large {
    margin-bottom: 8px !important; }
  /* 16px Top / Bottom Padding options */
  .top-padding-one-large {
    padding-top: 16px !important; }
  .bottom-padding-one-large {
    padding-bottom: 16px !important; }
  .top-margin-one-large {
    margin-top: 16px !important; }
  .bottom-margin-one-large {
    margin-bottom: 16px !important; }
  /* 32px Top / Bottom Padding options */
  .top-padding-two-large {
    padding-top: 32px !important; }
  .bottom-padding-two-large {
    padding-bottom: 32px !important; }
  .top-margin-two-large {
    margin-top: 32px !important; }
  .bottom-margin-two-large {
    margin-bottom: 32px !important; }
  /* 48px Top / Bottom Padding options */
  .top-padding-three-large {
    padding-top: 48px !important; }
  .bottom-padding-three-large {
    padding-bottom: 48px !important; }
  .top-margin-three-large {
    margin-top: 48px !important; }
  .bottom-margin-three-large {
    margin-bottom: 48px !important; }
  /* 64px Top / Bottom Padding options */
  .top-padding-four-large {
    padding-top: 64px !important; }
  .bottom-padding-four-large {
    padding-bottom: 64px !important; }
  .top-margin-four-large {
    margin-top: 64px !important; }
  .bottom-margin-four-large {
    margin-bottom: 64px !important; }
  /* 80px Padding options */
  .top-padding-five-large {
    padding-top: 80px !important; }
  .bottom-padding-five-large {
    padding-bottom: 80px !important; }
  .top-margin-five-large {
    margin-top: 80px !important; }
  .bottom-margin-five-large {
    margin-bottom: 80px !important; }
  /* 96px Padding options */
  .top-padding-six-large {
    padding-top: 96px !important; }
  .bottom-padding-six-large {
    padding-bottom: 96px !important; }
  .top-margin-six-large {
    margin-top: 96px !important; }
  .bottom-margin-six-large {
    margin-bottom: 96px !important; }
  /* 112px  Padding options */
  .top-padding-seven-large {
    padding-top: 112px !important; }
  .bottom-padding-seven-large {
    padding-bottom: 112px !important; }
  .top-margin-seven-large {
    margin-top: 112px !important; }
  .bottom-margin-seven-large {
    margin-bottom: 112px !important; }
  /* 128px Top / Bottom Padding options */
  .top-padding-eight-large {
    padding-top: 128px !important; }
  .bottom-padding-eight-large {
    padding-bottom: 128px !important; }
  .top-margin-eight-large {
    margin-top: 128px !important; }
  .bottom-margin-eight-large {
    margin-bottom: 128px !important; } }

/* LANDSCAPE HEADER / NAV CSS */
h1.logo {
  font-size: 1.25rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s; }

h1.logo a {
  text-decoration: none; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  h1.logo {
    font-size: 1rem; } }

.header_wrapper {
  -webkit-transition: padding 0.5s;
  transition: padding 0.5s;
  position: relative;
  background: none; }

header .menu a {
  color: #333;
  font-size: 1rem;
  position: relative;
  padding: 0 0 0.3rem 0;
  margin: 1rem 0.6rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border-bottom: none; }

header nav {
  height: 2.875rem; }

header nav.hidden button {
  display: none; }

header nav a:after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 10%;
  left: 45%;
  border-bottom: 2px solid transparent;
  -webkit-transition: all 0.5s;
  transition: all 0.5s; }

header nav a:hover {
  color: #333;
  border-color: #333; }

header nav a:hover:after, header nav a.active:after, header nav .current-menu-item a:after {
  width: 100%;
  left: 0%;
  border-bottom: 2px solid #333; }

header .menu-icon {
  text-indent: -5000px;
  float: right;
  margin-top: 0.5rem;
  margin-right: 0.3125rem; }

.section_menu > li {
  background: #eee;
  margin-bottom: 0.625rem; }

.section_menu li ul.menu.nested {
  margin-left: 0; }

.section_menu li ul li {
  background: #fff; }

.section_title_header {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: #eee;
  margin-bottom: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s; }

.section_title_header.hidden {
  opacity: 0; }

/*.reveal.full .section_menu { padding-left: rem-calc(15); }
.reveal.full .section_menu > li { background: #666; margin-bottom: rem-calc(10); }
.reveal.full .section_menu li ul.menu.nested { margin-left: 0; }
.reveal.full .section_menu li ul li { background: #333; }
.reveal.full .section_menu li a { padding-left: rem-calc(15); }*/
/* FOOTER MENU */
.footer_menu .menu a, .footer_menu .menu span {
  color: #333;
  font-size: 1rem;
  position: relative;
  padding: 0 0 0.3rem 0;
  margin: 0.8rem 1.4rem 0.8rem 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  border-bottom: none;
  display: block;
  line-height: 1;
  /*font-weight: 700;*/ }

nav.footer_menu {
  padding-bottom: 0.625rem; }

nav.footer_menu a:after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 10%;
  left: 45%;
  border-bottom: 2px solid transparent;
  -webkit-transition: all 0.5s;
  transition: all 0.5s; }

nav.footer_menu a:hover {
  color: #333;
  border-color: #333; }

nav.footer_menu a:hover:after, nav.footer_menu a.active:after, nav.footer_menu .current-menu-item a:after {
  width: 100%;
  left: 0%;
  border-bottom: 2px solid #333; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .footer_menu .menu a, .footer_menu .menu span {
    font-size: 0.75rem;
    padding: 0 0 0.3rem 0;
    margin: 0.8rem 0.8rem 0.8rem 0; } }

/* 0px and up */
/* 740px and up */
@media only screen and (min-width: 46.25em) {
  /*h1.logo:first-letter {
        color: #91A472;
    }

    h1.logo:after {
        color: #91A472;
        content: '.';
    }*/ }

/* 1024px and up */
/* LANDSCAPE FOOTER CSS */
footer {
  border-top: 1px solid #e4e8f2;
  padding-top: 1rem;
  padding-bottom: 2rem; }

footer h4 {
  font-size: 1.375rem;
  color: #2d353f;
  margin-bottom: 0; }

footer p, .home footer p {
  margin-bottom: 0;
  line-height: 1; }

footer span, footer a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: #a2a5aa;
  margin-left: 0.625rem;
  margin-right: 0.625rem; }

/* EXERCISES CSS */
.exercise-list-item div {
  border: 1px solid #000;
  background: #efefef;
  padding: 10px; }

.exercise-list-item p {
  font-size: 0.875rem; }

/* 0 - 739px - Small Only */
/* 740px - 1023px - Medium Only */
/* 
 * REVEAL POPUP MENU
 */
.reveal {
  -webkit-box-shadow: 0 5px 25px rgba(0, 0, 0, 0.6);
          box-shadow: 0 5px 25px rgba(0, 0, 0, 0.6); }

.reveal.full {
  top: 0 !important;
  text-align: center;
  -webkit-box-shadow: none;
          box-shadow: none; }

.reveal.full h2, .home .reveal.full h2 {
  color: #73797f; }

.reveal.full .menu a {
  font-size: 2rem;
  color: #0a0a0a; }

.reveal.overflow_visible {
  overflow-y: visible; }

/*.reveal-overlay.transparent {
	transform: none !important;
	transition: none !important;
	background-color: rgba(254, 254, 254, 0.8) !important;
	opacity: 1 !important;
}*/
/*.reveal-overlay::-webkit-scrollbar {
  width: 1em;
}
 
.reveal-overlay::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
 
.reveal-overlay::-webkit-scrollbar-thumb {
  background-color: red;
  outline: 1px solid red;
}*/
.reveal.full .close-button {
  position: relative;
  background-image: url(../img/close-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  /*background-size: cover;*/
  width: 1.125rem;
  height: 1.125rem;
  text-indent: -5000px;
  right: auto;
  top: auto;
  margin-top: 0.25rem;
  margin-right: 0.25rem; }

#language_menu.reveal.full .close-button {
  margin-left: 0.25rem; }

.reveal.small .close-button, .reveal.home_about .close-button {
  background-image: url(../img/close-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  width: 1.25rem;
  height: 1.25rem;
  text-indent: -5000px;
  margin-top: 0.625rem;
  margin-right: 0.25rem;
  font-size: 0px; }

.reveal.user_guides .close-button {
  background-image: url(../img/close-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  width: 1.25rem;
  height: 1.25rem;
  text-indent: -5000px;
  margin-top: 0;
  margin-right: 0;
  top: 15px;
  right: 15px;
  font-size: 0px; }

.reveal .close-button.spin {
  -webkit-animation: spin 0.3s ease 1;
          animation: spin 0.3s ease 1;
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }

.reveal .close-button.spin:hover {
  -webkit-animation: spin360 0.3s ease 1;
          animation: spin360 0.3s ease 1;
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotateZ(0) scale(0.1);
            transform: rotateZ(0) scale(0.1); }
  100% {
    -webkit-transform: rotateZ(180deg);
            transform: rotateZ(180deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotateZ(0) scale(0.1);
            transform: rotateZ(0) scale(0.1); }
  100% {
    -webkit-transform: rotateZ(180deg);
            transform: rotateZ(180deg); } }

@-webkit-keyframes spin360 {
  0% {
    -webkit-transform: rotateZ(180deg);
            transform: rotateZ(180deg); }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg); } }

@keyframes spin360 {
  0% {
    -webkit-transform: rotateZ(180deg);
            transform: rotateZ(180deg); }
  100% {
    -webkit-transform: rotateZ(360deg);
            transform: rotateZ(360deg); } }

.reveal.user_guides {
  width: 58.33333%;
  max-width: none;
  height: calc(100% - 50px);
  padding-right: 12px;
  position: relative; }

.reveal.user_guides .row {
  height: calc(100% - 1rem);
  overflow-y: scroll;
  margin-top: 1rem;
  padding-bottom: 1.5rem; }

.reveal.user_guides .row .column, .reveal.user_guides .row .columns {
  padding-right: 1.6rem; }

.reveal.user_guides:before {
  content: '';
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 2.5rem;
  width: calc(100% - 4rem);
  height: 75px;
  background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(97%, rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 97%);
  z-index: 1; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .reveal.user_guides {
    width: 100%;
    max-width: 100%;
    bottom: auto !important;
    height: 100% !important;
    padding-left: 1rem; }
  .reveal.user_guides:before {
    left: 1rem;
    width: calc(100% - 3rem); }
  .reveal.user_guides .row .column, .reveal.user_guides .row .columns {
    padding-right: 0.625rem; } }

/* 740px - 1023px - Medium Only */
@media only screen and (min-width: 46.25em) and (max-width: 63.938em) {
  .reveal.user_guides {
    width: 83.33333%;
    max-width: none; } }

#userguides_modal {
  border-radius: 10px; }

.reveal-overlay.onboarding_dashboard_modal_1_reveal {
  background-color: rgba(22, 31, 42, 0.5); }

.reveal#onboarding_dashboard_modal_2, .reveal#onboarding_dashboard_modal_3, .reveal#onboarding_dashboard_modal_4 {
  max-width: 400px; }

.reveal#onboarding_dashboard_modal_2, .reveal#onboarding_dashboard_modal_3 {
  position: absolute;
  left: auto !important;
  top: 0 !important;
  height: auto !important;
  min-height: auto !important;
  padding-left: 1.2rem;
  padding-right: 1.2rem; }

.onboarding_dashboard_modal:focus {
  outline: 0; }

/* 0 - 620px - VSmall Only */
@media only screen and (max-width: 619px) {
  .reveal#onboarding_dashboard_modal_2, .reveal#onboarding_dashboard_modal_3 {
    top: 80px !important;
    left: auto;
    margin-left: 10px !important;
    margin-right: 10px !important;
    height: auto !important;
    min-height: auto !important;
    padding: 1.2rem;
    width: calc(100% - 20px); } }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .reveal#onboarding_dashboard_modal_2, .reveal#onboarding_dashboard_modal_3 {
    top: 80px !important;
    left: auto;
    margin-left: auto;
    margin-right: auto;
    height: auto !important;
    min-height: auto !important;
    padding: 1.2rem; }
  #userguides_modal {
    border-radius: 0; } }

/*
 * ORBIT SLIDER OVERRIDES
 */
.orbit-container:before {
  position: absolute;
  top: -10px;
  bottom: -20px;
  left: 0;
  width: 20px;
  content: '';
  background: -webkit-gradient(linear, left top, right top, from(white), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, white 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 10; }

.orbit-container:after {
  position: absolute;
  top: -10px;
  right: 0;
  bottom: -20px;
  width: 20px;
  content: '';
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(white));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 100%);
  z-index: 10; }

.orbit-controls .orbit-previous, .orbit-controls .orbit-next {
  position: inherit;
  top: auto;
  left: auto;
  right: auto;
  -webkit-transform: none;
          transform: none;
  background-color: #666;
  background-position: center;
  background-size: 25px;
  background-repeat: no-repeat;
  width: 5.3125rem;
  height: 3.125rem;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s; }

.orbit-controls button.disabled {
  background-color: rgba(0, 0, 0, 0.2); }

.orbit-controls button:hover {
  cursor: pointer; }

.orbit-controls button.disabled:hover {
  cursor: not-allowed; }

.orbit-controls .orbit-previous {
  border-radius: 100px 0 0 100px;
  background-image: url("../img/left-arrow.svg"); }

.orbit-controls .orbit-next {
  border-radius: 0 100px 100px 0;
  background-image: url("../img/right-arrow.svg"); }

body.rtl .orbit-controls .orbit-previous {
  border-radius: 0 100px 100px 0;
  background-image: url("../img/right-arrow.svg"); }

body.rtl .orbit-controls .orbit-next {
  border-radius: 100px 0 0 100px;
  background-image: url("../img/left-arrow.svg"); }

.orbit-slide {
  padding-bottom: 1.5625rem;
  margin-bottom: 1.5625rem; }

.orbit-slide:focus, .orbit-container:focus {
  outline: none; }

.orbit-slide figure {
  padding: 25px; }

.orbit-slide img {
  padding: 25px;
  background: #fff;
  -webkit-box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
          box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3); }

.orbit-slide.is-active img {
  -webkit-box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
          box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3); }

.orbit-slide h4 {
  margin-top: 1.875rem; }

.orbit-slide figcaption {
  font-size: 1.25rem;
  padding-bottom: 1.25rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem; }

.orbit-slide figcaption ul {
  padding-bottom: 0.625rem;
  line-height: 1.3; }

.orbit-slide figcaption ul li {
  margin-bottom: 0.625rem; }

/* CUSTOM CSS / OVERRIDES */
/* Fonts:
 */
/* 
 *
 * TYPOGRAPHY
 *
 */
h1.smaller {
  font-size: 2.5rem; }

.nowrap {
  white-space: nowrap; }

a.button {
  text-decoration: none; }

.button.outlined {
  border-color: #000;
  border-width: 3px;
  color: #000; }

/* Ensure P tags colour stays the default grey inside of links */
a p {
  color: #666; }

.responsive-embed {
  -webkit-box-shadow: 0 2px 20px rgba(10, 10, 10, 0.5);
          box-shadow: 0 2px 20px rgba(10, 10, 10, 0.5); }

h1, h2, h3, h4, h5, h6, .button, label, .reveal.full .menu a, .callout:before {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700; }

h1 {
  margin-bottom: 2.5rem; }

/* TYPEFACE SPECIFIC STYLES */
.lang-th h1, .lang-th h2, .lang-th h3, .lang-th h4, .lang-th h5, .lang-th h6, .lang-th .button, .lang-th label, .lang-th .reveal.full .menu a, .lang-th .callout:before {
  font-family: 'K2D', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.thai, .lang-th {
  font-family: 'K2D', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.lang-ps h1, .lang-ps h2, .lang-ps h3, .lang-ps h4, .lang-ps h5, .lang-ps h6, .lang-ps .button, .lang-ps label, .lang-ps .reveal.full .menu a, .lang-ps .callout:before {
  font-family: 'noto_nastaliq_urduregular', sans-serif; }

.lang-ps {
  font-family: 'noto_nastaliq_urduregular', sans-serif; }

.lang-fa_af h1, .lang-fa_af h2, .lang-fa_af h3, .lang-fa_af h4, .lang-fa_af h5, .lang-fa_af h6, .lang-fa_af .button, .lang-fa_af label, .lang-fa_af .reveal.full .menu a, .lang-fa_af .callout:before {
  font-family: 'noto_naskh_arabic_uiregular', sans-serif; }

.lang-fa_af {
  font-family: 'noto_naskh_arabic_uiregular', sans-serif; }

.lang-hi_in h1, .lang-hi_in h2, .lang-hi_in h3, .lang-hi_in h4, .lang-hi_in h5, .lang-hi_in h6, .lang-hi_in .button, .lang-hi_in label, .lang-hi_in .reveal.full .menu a, .lang-hi_in .callout:before {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-hi_in {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-az h1, .lang-az h2, .lang-az h3, .lang-az h4, .lang-az h5, .lang-az h6, .lang-az .button, .lang-az label, .lang-az .reveal.full .menu a, .lang-az .callout:before {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-az {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-hy h1, .lang-hy h2, .lang-hy h3, .lang-hy h4, .lang-hy h5, .lang-hy h6, .lang-hy .button, .lang-hy label, .lang-hy .reveal.full .menu a, .lang-hy .callout:before {
  font-family: 'Noto Sans Armenian', Roboto, Arial, sans-serif; }

.lang-hy {
  font-family: 'Noto Sans Armenian', Roboto, Arial, sans-serif; }

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

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

hr.thick {
  border-bottom: 2px solid #E6E6E6; }

form.readonly input {
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: transparent;
  background-color: transparent; }

form.readonly input:hover {
  cursor: default;
  background-color: transparent;
  border-color: transparent; }

form.readonly input:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: transparent;
  background-color: transparent;
  border-color: transparent; }

form input.inline_flex {
  display: inline-block;
  width: auto;
  padding-left: 2px;
  margin-left: 2px; }

.rtl form input.inline_flex {
  padding-left: inherit;
  margin-left: auto;
  padding-right: 2px;
  margin-right: 2px; }

form td span.currency_symbol {
  margin-right: 2px; }

.rtl form td span.currency_symbol {
  margin-right: auto;
  margin-left: 2px; }

#s4_a_annual_overheads_form input,
#s4_a_annual_overheads_form_single input,
#s4_a_monthly_overheads_form input,
#s4_a_personal_salary_form input,
#s4_b_table_monthly_income input,
#s4_b_table_monthly_overheads input,
#s4_b_table_monthly_materials_production input {
  display: inline-block;
  width: calc(100% - 25px);
  padding-left: 2px;
  margin-left: 2px; }

.rtl #s4_a_annual_overheads_form input,
.rtl #s4_a_annual_overheads_form_single input,
.rtl #s4_a_monthly_overheads_form input,
.rtl #s4_a_personal_salary_form input,
.rtl #s4_b_table_monthly_income input,
.rtl #s4_b_table_monthly_overheads input,
.rtl #s4_b_table_monthly_materials_production input {
  padding-left: 0;
  margin-left: 0;
  padding-right: 2px;
  margin-right: 2px; }

.rtl table .inline_elements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

/*
 * `EDIT` TOOLTIP STYLES
 */
.tasks .tasks_entry .task-entry-edit-tooltip,
.lists .lists_entry .lists-entry-edit-tooltip,
.calendar .calendar_entry a .calendar-entry-edit-tooltip,
.products .products_entry a.edit .product-entry-edit-tooltip,
.customers a.redo_customer .customer-edit-tooltip,
.sliders .slider_wrapper .slider-edit-tooltip {
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.36%2019.11%22%3E%3Crect%20x%3D%22-.67%22%20y%3D%227.48%22%20width%3D%2213.59%22%20height%3D%224.48%22%20rx%3D%22.5%22%20transform%3D%22rotate%28-57.57%206.13%209.718%29%22%20fill%3D%22%232d353f%22%2F%3E%3Crect%20x%3D%229.75%22%20y%3D%22-.18%22%20width%3D%222.48%22%20height%3D%224.48%22%20rx%3D%22.5%22%20transform%3D%22rotate%28-57.3%2011.054%202.053%29%22%20fill%3D%22%232d353f%22%2F%3E%3Cpath%20d%3D%22M0%2018.6l.64-4.41a.41.41%200%2001.64-.25l3.09%202a.4.4%200%2001.06.68L.7%2019a.46.46%200%2001-.7-.4z%22%20fill%3D%22%232d353f%22%2F%3E%3C%2Fsvg%3E");
  background-position: left 9px center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  color: #2d353f;
  border: 2px solid #2d353f;
  font-size: 0.875rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.625rem 0.9375rem 0.625rem 1.875rem;
  border-radius: 4px;
  -webkit-box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 10; }

.rtl .tasks .tasks_entry .task-entry-edit-tooltip,
.rtl .lists .lists_entry .lists-entry-edit-tooltip,
.rtl .calendar .calendar_entry a .calendar-entry-edit-tooltip,
.rtl .products .products_entry a.edit .product-entry-edit-tooltip,
.rtl .customers a.redo_customer .customer-edit-tooltip,
.rtl .sliders .slider_wrapper .slider-edit-tooltip {
  left: auto;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  background-position: right 9px center;
  padding: 0.625rem 1.875rem 0.625rem 0.9375rem; }

.tasks .tasks_entry .task-entry-edit-tooltip:after,
.lists .lists_entry .lists-entry-edit-tooltip:after,
.calendar .calendar_entry a .calendar-entry-edit-tooltip:after,
.products .products_entry a.edit .product-entry-edit-tooltip:after,
.customers a.redo_customer .customer-edit-tooltip:after,
.sliders .slider_wrapper .slider-edit-tooltip:after {
  content: '';
  width: 10px;
  height: 10px;
  border: 10px solid transparent;
  border-top-color: #2d353f;
  position: absolute;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

.rtl .tasks .tasks_entry .task-entry-edit-tooltip:after,
.rtl .lists .lists_entry .lists-entry-edit-tooltip:after,
.rtl .calendar .calendar_entry a .calendar-entry-edit-tooltip:after,
.rtl .products .products_entry a.edit .product-entry-edit-tooltip:after,
.rtl .customers a.redo_customer .customer-edit-tooltip:after,
.rtl .sliders .slider_wrapper .slider-edit-tooltip:after {
  left: auto;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%); }

#edit_user_profile .pwd_field_wrap {
  position: relative; }

#edit_user_profile .pwd_field_wrap .pwd_toggle {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 2.5rem;
  background-color: transparent;
  background-position: center;
  background-size: 60%;
  background-repeat: no-repeat; }

#edit_user_profile .pwd_field_wrap .pwd_toggle:hover {
  cursor: pointer; }

#edit_user_profile .pwd_field_wrap .pwd_toggle.show-pwd {
  background-image: url("../img/show.svg"); }

#edit_user_profile .pwd_field_wrap .pwd_toggle.hide-pwd {
  background-image: url("../img/hide.svg"); }

#edit_user_profile #current_password, #edit_user_profile #new_password, #edit_user_profile #confirm_new_password {
  padding-right: 2.5rem; }

.notification {
  background-color: #fff3d9;
  padding: 0.625rem;
  border-radius: 0 0 0.625rem 0.625rem;
  color: #000;
  margin-top: -1rem; }

.notification.success {
  background-color: #d4f5c6;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.44%2011.23%22%3E%3Cpolygon%20points%3D%224.28%207.09%202.07%204.89%200%206.96%204.28%2011.23%2013.44%202.07%2011.37%200%204.28%207.09%22%20fill%3D%22%23000%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  background-size: 3.75rem 3.75rem;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 5rem; }

.notification.all-corners {
  border-radius: 0.625rem 0.625rem 0.625rem 0.625rem; }

/*
 * WARNING PANEL
 */
.warning {
  background-color: #fff;
  border-radius: 0.625rem;
  color: #000;
  padding: 2.1875rem;
  position: relative;
  margin-top: 1.875rem; }

.warning p {
  margin-bottom: 0; }

.warning:before {
  content: '';
  background-color: #8a8a8a;
  background-image: url("../img/exclamation.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 8px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%); }

/*
 * CALLOUT STYLES
 */
.callout {
  margin-top: 3.125rem;
  border-radius: 10px;
  background-color: white;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3); }

.callout h3 {
  padding-top: 1.875rem; }

.callout.completed:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%238a8a8a%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 110%;
  width: 70px;
  height: 70px;
  position: absolute;
  top: -1px;
  right: -1px;
  border-radius: 0 10px 0 0;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }

.rtl .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%238a8a8a%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E");
  right: auto;
  left: -1px;
  border-radius: 10px 0 0 0; }

.callout.completed:after {
  content: '';
  background-color: transparent;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.44%2011.23%22%3E%3Cpolygon%20points%3D%224.28%207.09%202.07%204.89%200%206.96%204.28%2011.23%2013.44%202.07%2011.37%200%204.28%207.09%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.1875rem;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 10px 0 0;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }

.rtl .callout.completed:after {
  right: auto;
  left: 0;
  border-radius: 10px 0 0 0; }

.callout .circle-number {
  content: '';
  background-color: #8a8a8a;
  width: 70px;
  height: 70px;
  border-radius: 70px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 70px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }

.lang-fa_af .callout .circle-number {
  font-size: 1.3125rem; }

.callout.completed .circle-number {
  background-color: #fff; }

.callout.disabled {
  opacity: 0.4; }

.callout.disabled a {
  cursor: default;
  pointer-events: none; }

.callout.no_circle:before {
  width: 0;
  height: 0;
  position: inherit;
  top: -5000px;
  left: -5000px;
  background-color: transparent; }

.callout.warning:before {
  content: '!'; }

.callout ul, ul.keylist, .orbit-slide figcaption ul, .userguides_section ul, .user_guide_content ul {
  list-style: none;
  margin-left: 2.125rem; }

.callout ul li, ul.keylist li, ol.keylist li, .orbit-slide figcaption ul li, .userguides_section ul li, .user_guide_content ul li {
  margin-bottom: 1rem;
  position: relative; }

.callout ul li:after, ul.keylist li:after, .orbit-slide figcaption ul li:after, .userguides_section ul li:after, .user_guide_content ul li:after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: -20px;
  -webkit-transform: translateY(8px);
          transform: translateY(8px); }

.rtl .callout ul, .rtl ul.keylist, .rtl .orbit-slide figcaption ul, .rtl .userguides_section ul, .rtl .user_guide_content ul {
  margin-left: 0;
  margin-right: 1.875rem; }

.rtl .callout ul li:after, .rtl ul.keylist li:after, .rtl .orbit-slide figcaption ul li:after, .rtl .userguides_section ul li:after, .rtl .user_guide_content ul li:after {
  left: auto;
  right: -20px; }

ol.keylist, .userguides_section ol, .user_guide_content ol {
  list-style: none;
  margin-left: 2.125rem;
  counter-reset: olcounter; }

ol.keylist li, .userguides_section ol li, .user_guide_content ol li {
  margin-bottom: 1rem;
  position: relative;
  counter-increment: olcounter; }

ol.keylist li:after, .userguides_section ol li:after, .user_guide_content ol li:after {
  content: counter(olcounter) ". ";
  width: 26px;
  height: 8px;
  font-weight: 700;
  position: absolute;
  top: 0;
  left: -26px; }

.rtl ol.keylist, .rtl .userguides_section ol, .rtl .user_guide_content ol {
  margin-left: 0;
  margin-right: 2.125rem;
  counter-reset: olcounter; }

.rtl ol.keylist li:after, .rtl .userguides_section ol li:after, .rtl .user_guide_content ol li:after {
  content: counter(olcounter) "";
  left: auto;
  right: -26px; }

.userguides_section ul {
  list-style: none;
  margin-left: 1.875rem; }

.userguides_section ul li {
  margin-bottom: 1.25rem;
  position: relative; }

.userguides_section ul.user_guide_entry {
  list-style: none;
  margin-left: 0; }

.userguides_section ul.user_guide_entry li:after {
  content: none;
  display: none; }

.user_guide_entry a {
  position: relative;
  font-weight: 700; }

.user_guide_entry a:after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0%;
  height: 4px;
  border-radius: 4px;
  background-color: #000;
  opacity: 0;
  -webkit-transition: width 0.35s, opacity 0.35s;
  transition: width 0.35s, opacity 0.35s; }

.user_guide_entry a.active:after, .user_guide_entry a:hover:after {
  opacity: 1;
  width: 100%; }

.user_guide_entry li:nth-child(1) a, .user_guide_entry li:nth-child(2) a {
  color: #2063D6; }

.user_guide_entry li:nth-child(1) a:after, .user_guide_entry li:nth-child(2) a:after {
  background-color: #2063D6; }

.user_guide_entry li:nth-child(3) a, .user_guide_entry li:nth-child(4) a, .user_guide_entry li:nth-child(5) a {
  color: #DE3F3A; }

.user_guide_entry li:nth-child(3) a:after, .user_guide_entry li:nth-child(4) a:after, .user_guide_entry li:nth-child(5) a:after {
  background-color: #DE3F3A; }

.user_guide_entry li:nth-child(6) a, .user_guide_entry li:nth-child(7) a, .user_guide_entry li:nth-child(8) a {
  color: #50AD47; }

.user_guide_entry li:nth-child(6) a:after, .user_guide_entry li:nth-child(7) a:after, .user_guide_entry li:nth-child(8) a:after {
  background-color: #50AD47; }

.user_guide_entry li:nth-child(9) a, .user_guide_entry li:nth-child(10) a {
  color: #570B73; }

.user_guide_entry li:nth-child(9) a:after, .user_guide_entry li:nth-child(10) a:after {
  background-color: #570B73; }

.user_guide_entry li:nth-child(11) a, .user_guide_entry li:nth-child(12) a, .user_guide_entry li:nth-child(13) a {
  color: #BA1578; }

.user_guide_entry li:nth-child(11) a:after, .user_guide_entry li:nth-child(12) a:after, .user_guide_entry li:nth-child(13) a:after {
  background-color: #BA1578; }

.callout.indented_padding {
  padding-left: 4rem;
  padding-right: 4rem; }

#section_5.rtl ol.keylist, #section_5.rtl .userguides_section ol, #section_5.rtl .user_guide_content ol {
  margin-left: 0;
  margin-right: 1.875rem; }

#section_5.rtl ol.keylist li:after, #section_5.rtl .userguides_section ol li:after, #section_5.rtl .user_guide_content ol li:after {
  content: counter(olcounter) ". ";
  left: auto;
  right: -20px; }

#section_5.rtl .userguides_section ul {
  margin-left: 0;
  margin-right: 1.875rem; }

#section_5.rtl .userguides_section ul.user_guide_entry {
  margin-left: 0;
  margin-right: 0; }

#section_5.rtl .user_guide_entry a:after {
  left: auto;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%); }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .callout.indented_padding {
    padding-left: 1rem;
    padding-right: 1rem; } }

html.is-reveal-open body {
  width: 100%; }

.content {
  width: 100%; }

.hamburger-icon {
  background-image: url(../img/hamburger-icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  width: 2.25rem;
  height: 2.25rem;
  text-indent: -5000px; }

.hamburger-icon:hover {
  cursor: pointer; }

/*
 * General Button Styles
 */
.button {
  text-transform: uppercase;
  font-weight: 700; }

.button.save {
  font-size: 1rem; }

.button.white {
  background-color: #fff;
  color: #000;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3); }

.button.white:hover {
  background-color: #d9d9d9; }

input[readonly] {
  background: #fff;
  cursor: default;
  border-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none; }

input[readonly]:focus {
  background: #fff;
  cursor: default;
  border-color: #eee;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

a.white-link {
  color: #fff; }

a.white-link:hover {
  color: #fff;
  text-decoration: underline; }

#error_404 p {
  color: #000; }

.prevent-interaction * {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.prevent-interaction .onboarding-inpage-modal, .prevent-interaction .onboarding-inpage-modal * {
  pointer-events: all;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

section {
  max-width: 149.375rem;
  margin-left: auto;
  margin-right: auto; }

/*
 *
 * END QUESTION STYLES
 *
 */
.end-questions label {
  color: #666;
  margin-bottom: 10px; }

.end-questions .menu {
  display: block; }

.end-questions .menu .li {
  display: block; }

.end-questions .menu label {
  display: inline-block;
  padding: 10px;
  margin-right: 10px;
  margin-bottom: 0; }

.end-questions .menu label:hover {
  cursor: pointer; }

#sections_all_completed_questions h3 {
  color: #2D353F;
  margin-bottom: 2rem; }

.end-questions hr {
  border-bottom-color: #eee;
  margin-bottom: 2rem; }

.survey_callout {
  border-radius: 10px;
  -webkit-box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
  font-size: 1.5rem;
  padding: 1.75rem 1.25rem 0.3125rem 1.25rem;
  margin-top: 2rem;
  background-color: #f0f0f0; }

/*
 *
 * ACCOUNT STYLES
 *
 */
#account section article > .columns {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-top: 0; }

#account section article ul {
  list-style: none;
  margin-left: 0; }

#account h1 {
  color: #2c353d;
  font-size: 3rem; }

#account p {
  color: #000;
  font-size: 1.25rem; }

#account img.icon {
  max-width: 360px; }

#account .nav-buttons.btn_1x {
  padding-top: 0; }

#account .nav-buttons.btn_1x .button.white {
  -webkit-box-shadow: none;
          box-shadow: none; }

#account .button.submit {
  border-radius: 100px;
  width: 100%; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #account h1 {
    font-size: 2.25rem; } }

/*
 *
 * BUSINESS PLAN, TO-DOS, VIDEOS, RESOURCES STYLES
 *
 */
#business_plan section article > .columns, #todos section article > .columns, #films section article > .columns, #resources section article > .columns, #userguides section article > .columns {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-top: 0; }

#business_plan h1, #todos h1, #films h1, #resources h1, #userguides h1 {
  color: #2c353d;
  font-size: 3rem; }

#business_plan .section_title {
  text-shadow: none; }

#business_plan ul.business_plan_accordion .accordion-title, #business_plan ul.business_plan_accordion .accordion-content {
  border: none; }

#business_plan .accordion-item {
  margin-bottom: 1.25rem; }

#business_plan .accordion, #business_plan .accordion-content {
  background: transparent; }

#business_plan .accordion-title {
  border-radius: 10px;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
  font-size: 1.5rem; }

#business_plan .accordion-title::before {
  font-size: 3.125rem;
  line-height: 3.125rem;
  font-weight: 700;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: 0;
  width: 30px;
  height: 22px;
  background-image: url("../img/down-caret-white.svg");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  content: ''; }

#business_plan .is-active > .accordion-title::before {
  content: '';
  background-image: url("../img/up-caret-white.svg"); }

#business_plan .section_1 .accordion-title {
  color: #fff;
  background-color: #005AB8; }

#business_plan .section_2 .accordion-title {
  color: #fff;
  background-color: #F77C4D; }

#business_plan .section_3 .accordion-title {
  color: #fff;
  background-color: #51AE40; }

#business_plan .section_4 .accordion-title {
  color: #fff;
  background-color: #CC5DFF; }

#business_plan .section_5 .accordion-title {
  color: #fff;
  background-color: #EA578F; }

#business_plan .slider-static a {
  cursor: default; }

#business_plan_todos_etc_menu {
  margin-bottom: 1.5rem; }

#business_plan_todos_etc_menu a {
  position: relative;
  background-color: #fff;
  color: #000;
  border-radius: 3px;
  margin: 4px;
  -webkit-box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
  -webkit-transition: background-color 0.5s, color 0.5s, -webkit-box-shadow 0.5s;
  transition: background-color 0.5s, color 0.5s, -webkit-box-shadow 0.5s;
  transition: background-color 0.5s, box-shadow 0.5s, color 0.5s;
  transition: background-color 0.5s, box-shadow 0.5s, color 0.5s, -webkit-box-shadow 0.5s; }

#business_plan_todos_etc_menu a:after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0%;
  height: 6px;
  border-radius: 6px;
  background-color: #000;
  opacity: 0;
  -webkit-transition: width 0.5s, opacity 0.5s;
  transition: width 0.5s, opacity 0.5s; }

#business_plan_todos_etc_menu a:hover:after {
  opacity: 1;
  width: 102%; }

#business_plan_todos_etc_menu > a.active:after {
  opacity: 1;
  width: 102%; }

.films-submenu li {
  margin-bottom: 0.625rem; }
  .films-submenu li a {
    color: #333;
    font-weight: 700;
    padding: 4px 0;
    position: relative; }
  .films-submenu li a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0%;
    height: 2px;
    border-radius: 6px;
    background-color: #333;
    opacity: 0;
    -webkit-transition: width 0.5s, opacity 0.5s;
    transition: width 0.5s, opacity 0.5s; }
  .films-submenu li a.active:after, .films-submenu li a:hover:after {
    opacity: 1;
    width: 102%; }

.films-submenu li:after {
  content: '\2022';
  padding-left: 10px;
  padding-right: 10px; }

.films-submenu li:last-child:after {
  content: none; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  .films-submenu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .films-submenu li a:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 0%;
      height: 2px;
      border-radius: 6px;
      background-color: #333;
      opacity: 0;
      -webkit-transition: width 0.5s, opacity 0.5s;
      transition: width 0.5s, opacity 0.5s; }
    .films-submenu li a.active:after, .films-submenu li a:hover:after {
      opacity: 1;
      width: 102%; }
    .films-submenu li:before, .films-submenu li:last-child:before {
      content: '\2022';
      padding-left: 10px;
      padding-right: 10px; }
    .films-submenu li:after, .films-submenu li:last-child:after {
      content: '\2022';
      padding-left: 10px;
      padding-right: 10px; } }

#userguides hr, #resources hr, #userguides_modal hr {
  margin-top: 3rem;
  margin-bottom: 3rem; }

#userguides h2, #resources h2, #todos h2, #films h2, #userguides_modal h2 {
  font-size: 2rem; }

#userguides .section-1 h2, #userguides .section-1 h4, #userguides_modal .section-1 h2, #userguides_modal .section-1 h4 {
  color: #2063D6; }

#userguides .section-2 h2, #userguides .section-2 h4, #userguides_modal .section-2 h2, #userguides_modal .section-2 h4 {
  color: #DE3F3A; }

#userguides .section-3 h2, #userguides .section-3 h4, #userguides_modal .section-3 h2, #userguides_modal .section-3 h4 {
  color: #50AD47; }

#userguides .section-4 h2, #userguides .section-4 h4, #userguides_modal .section-4 h2, #userguides_modal .section-4 h4 {
  color: #570B73; }

#userguides .section-5 h2, #userguides .section-5 h4, #userguides_modal .section-5 h2, #userguides_modal .section-5 h4 {
  color: #BA1578; }

.button.white.userguide-modal-button {
  background-color: rgba(255, 255, 255, 0.25);
  color: #fff;
  text-transform: none;
  border-radius: 4px;
  margin-bottom: 0;
  font-weight: 400;
  padding: 0.75rem 0.75rem;
  -webkit-transition: background 0.25s;
  transition: background 0.25s; }

.button.white.userguide-modal-button:hover {
  background-color: rgba(255, 255, 255, 0.35); }

.userguide-link-para,
#section_1 .transparent > p.userguide-link-para,
#section_2 .transparent > p.userguide-link-para,
#section_3 .transparent > p.userguide-link-para,
#section_4 .transparent > p.userguide-link-para,
#section_5 .transparent > p.userguide-link-para {
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  color: #fff;
  padding: 0.5rem 0.75rem;
  display: inline-block;
  text-shadow: none; }

.userguide-link-para a {
  color: #fff;
  padding-right: 1.125rem;
  position: relative;
  white-space: nowrap;
  font-weight: 700; }

.rtl .userguide-link-para a {
  padding-right: 0;
  padding-left: 1.125rem; }

.userguide-link-para a:focus {
  outline: none; }

.userguide-link-para a:after {
  content: '';
  position: absolute;
  top: 53%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17%200l-1.4%201.4L21.2%207H0v2h21.2l-5.6%205.6L17%2016l8-8-8-8z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 0.875rem 0.625rem;
  width: 0.875rem;
  height: 0.625rem;
  -webkit-transition: right 0.25s;
  transition: right 0.25s; }

.rtl .userguide-link-para a:after {
  right: auto;
  left: 0;
  background-position: left center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M8%2016l1.4-1.4L3.8%209H25V7H3.8l5.6-5.6L8%200%200%208l8%208z%22%2F%3E%3C%2Fsvg%3E"); }

.userguide-link-para a:hover:after {
  right: -3px; }

.rtl .userguide-link-para a:hover:after {
  right: auto;
  left: -3px; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #business_plan h1, #todos h1, #films h1, #resources h1, #userguides h1, #userguides_modal h1 {
    font-size: 2.25rem; }
  #userguides h2, #resources h2, #todos h2, #films h2, #userguides_modal h2 {
    font-size: 1.3rem; } }

/*
 *
 * SECTION STYLES
 *
 */
.section_title {
  position: relative;
  margin-top: 6.25rem;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

.section_title span {
  width: 70px;
  height: 70px;
  border-radius: 70px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-100px);
          transform: translateX(-50%) translateY(-100px);
  background-color: #fff;
  color: #000;
  font-size: 1.75rem;
  line-height: 70px;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
  text-shadow: none; }

.section_title span i {
  display: none; }

.section_title.smaller {
  margin-top: 5.625rem; }

.section_title.smaller span {
  -webkit-transform: translateX(-50%) translateY(-90px);
          transform: translateX(-50%) translateY(-90px); }

.section_title.larger {
  font-size: 3.75rem; }

section article {
  margin-top: 1.5rem; }

section article > .columns {
  border-radius: 0.625rem;
  margin-bottom: 6.25rem;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
  min-height: 78vh;
  position: relative; }

section article > .columns.split_top {
  border-radius: 0.625rem 0.625rem 0 0;
  margin-bottom: 0;
  padding-top: 1.875rem;
  padding-bottom: 0;
  min-height: auto; }

section article > .columns.split_bottom {
  border-radius: 0 0 0.625rem 0.625rem;
  min-height: auto; }

section article > .columns.no_border_radius {
  border-radius: 0; }

section article > .columns.no-min-height {
  min-height: auto; }

section article > .columns.transparent {
  background-color: transparent;
  color: #fff;
  -webkit-box-shadow: none;
          box-shadow: none; }

section article > .columns.no-shadow {
  -webkit-box-shadow: none;
          box-shadow: none; }

.key_block {
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  position: relative; }
  .key_block .inset-title {
    position: absolute;
    left: 50%;
    top: 0;
    color: #4D4D4D;
    background-color: #fff;
    -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    display: inline-block;
    text-transform: uppercase;
    padding: 0.625rem 1.25rem;
    min-width: 190px;
    text-align: center;
    font-weight: 700;
    font-size: 1rem;
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%); }

.key_block.white {
  background-color: #fff; }

.key_block.padding {
  padding: 1rem; }

#dashboard h1 {
  color: #2c353d;
  margin-bottom: 1.25rem; }

#dashboard section, #section_1 section, #section_2 section, #section_3 section, #section_4 section, #section_5 section {
  /*margin-bottom: rem-calc(60);*/ }

#dashboard h1.logo a, #section_1 h1.logo a, #section_2 h1.logo a, #section_3 h1.logo a, #section_4 h1.logo a, #section_5 h1.logo a {
  color: #fff; }

#dashboard h1.logo, #section_1 h1.logo, #section_2 h1.logo, #section_3 h1.logo, #section_4 h1.logo, #section_5 h1.logo {
  text-align: center; }

#dashboard, #account {
  background: url("../img/00-dash-bg-right.svg") top 0 right 0 no-repeat, url("../img/00-dash-bg-left.svg") top 0 left 0 no-repeat;
  margin: auto;
  background-color: #fff;
  background-size: 600px auto;
  -webkit-transition: background-size 0.6s;
  transition: background-size 0.6s;
  background-repeat: no-repeat; }

#dashboard .reveal.full {
  background-color: #fff; }

#dashboard .warning:before {
  background-color: #DE3F3A; }

#business_plan, #todos, #films, #resources, #userguides, #all_sections_completed_survey {
  background: url("../img/00-dash-bg-right.svg") top 0 right 0 no-repeat, url("../img/00-dash-bg-left.svg") top 0 left 0 no-repeat;
  margin: auto;
  background-color: #fff;
  background-size: 600px auto;
  -webkit-transition: background-size 0.6s;
  transition: background-size 0.6s;
  background-repeat: no-repeat; }

#business_plan .reveal.full, #todos .reveal.full, #films .reveal.full, #resources .reveal.full, #userguides .reveal.full {
  background-color: #fff; }

#section_1, #section_2, #section_3, #section_4, #section_5 {
  margin: auto;
  background-size: 600px auto;
  -webkit-transition: background-size 0.6s;
  transition: background-size 0.6s;
  background-repeat: no-repeat; }

#section_1 .reveal.full .menu a,
#section_2 .reveal.full .menu a,
#section_3 .reveal.full .menu a,
#section_4 .reveal.full .menu a,
#section_5 .reveal.full .menu a {
  color: #fff; }

#section_1 .reveal.full .close-button,
#section_2 .reveal.full .close-button,
#section_3 .reveal.full .close-button,
#section_4 .reveal.full .close-button,
#section_5 .reveal.full .close-button {
  background-image: url(../img/close-icon-light.svg);
  opacity: 0.75; }

#section_1 .hamburger-icon,
#section_2 .hamburger-icon,
#section_3 .hamburger-icon,
#section_4 .hamburger-icon,
#section_5 .hamburger-icon {
  background-image: url(../img/hamburger-icon-light.svg);
  opacity: 0.75; }

#section_1 .button.clear,
#section_2 .button.clear,
#section_3 .button.clear,
#section_4 .button.clear,
#section_5 .button.clear,
#section_1 .transparent > h2,
#section_2 .transparent > h2,
#section_3 .transparent > h2,
#section_4 .transparent > h2,
#section_5 .transparent > h2,
#section_1 .transparent > h3,
#section_2 .transparent > h3,
#section_3 .transparent > h3,
#section_4 .transparent > h3,
#section_5 .transparent > h3 {
  color: #fff; }

#section_1 section article > .columns:not(.transparent),
#section_2 section article > .columns:not(.transparent),
#section_3 section article > .columns:not(.transparent),
#section_4 section article > .columns:not(.transparent),
#section_5 section article > .columns:not(.transparent) {
  background-color: #fff; }

.reveal {
  padding: 2.5rem 2.5rem 2.5rem 2.5rem;
  -webkit-box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
          box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
  max-width: 600px; }

.reveal.lang_menu_modal {
  padding: 0;
  background-color: #eef5fb; }

.reveal.pop_menu_modal {
  padding: 0.9375rem; }

.reveal.small {
  max-width: 600px;
  border-radius: 10px; }

.nav-buttons {
  max-width: 18.75rem;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-top: 1.25rem;
  height: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.nav-buttons .back {
  position: relative; }

.nav-buttons .back:before {
  content: '\00a0\2039';
  padding-right: 0.3rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.rtl .nav-buttons .back:before {
  padding-left: 0.3rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.reveal .nav-buttons {
  bottom: 29px; }

.nav-buttons.no-absolute {
  position: relative; }

.nav-buttons.no-absolute-bottom {
  bottom: auto; }

.nav-buttons.no-transform {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  height: auto; }

.nav-buttons.modal-buttons {
  margin-bottom: 0;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  height: 15px; }

.nav-buttons a {
  margin-bottom: 0; }

.heading_row p, .heading_row h2, .heading_row h3, .nav-buttons a.white_text {
  color: #fff; }

#dashboard .heading_row p, #dashboard .heading_row h2, #dashboard .heading_row h3 {
  color: #000; }

#dashboard .heading_row p {
  font-size: 1.25rem; }

#dashboard .bplan_dashboard_menu a {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: #2d353f;
  display: block;
  position: relative;
  padding-top: 8.125rem;
  min-width: 130px;
  margin-bottom: 2rem; }

#dashboard .bplan_dashboard_menu a:before {
  content: '';
  border-radius: 999px;
  background-color: rgba(189, 189, 189, 0.5);
  background-position: center;
  background-size: 39%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  height: 115px;
  width: 115px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: background-color 0.25s, background-size 0.25s;
  transition: background-color 0.25s, background-size 0.25s; }

#dashboard .bplan_dashboard_menu a:hover:before {
  background-color: rgba(189, 189, 189, 0.85);
  background-size: 45%; }

#dashboard .bplan_dashboard_menu a.play:before {
  background-image: url("../img/circle-play.svg"); }

#dashboard .bplan_dashboard_menu a.tick:before {
  background-image: url("../img/circle-tick.svg"); }

#dashboard .bplan_dashboard_menu a.lines:before {
  background-image: url("../img/circle-lines.svg"); }

#dashboard .bplan_dashboard_menu a.pencil:before {
  background-image: url("../img/circle-pencil.svg"); }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #dashboard .bplan_dashboard_menu a {
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700;
    font-size: 1.0625rem;
    color: #2d353f;
    display: block;
    position: relative;
    padding-top: 5.3125rem;
    min-width: 130px; }
  #dashboard .bplan_dashboard_menu a:before {
    height: 70px;
    width: 70px; } }

.clear_curve_small {
  background: none;
  background-size: 100%; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .reveal.small {
    max-width: 75rem;
    border-radius: 0; }
  .reveal.small .nav-buttons {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto; }
  section article > .columns {
    border-radius: 0;
    margin-bottom: 0; }
  .section_title.larger {
    font-size: 2.25rem; }
  #section_1 .button.clear, #section_2 .button.clear, #section_3 .button.clear, #section_4 .button.clear, #section_5 .button.clear {
    color: #fff; }
  #section_1 .button.white_text, #section_2 .button.white_text, #section_3 .button.white_text, #section_4 .button.white_text, #section_5 .button.white_text {
    color: #fff; }
  .nav-buttons.no-transform-small {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  #dashboard, #account {
    background: url("../img/00-dash-bg-right.svg") top 0 right -500px no-repeat, url("../img/00-dash-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #fff;
    background-size: 1000px auto; }
  #business_plan, #todos, #films, #resources, #userguides, #all_sections_completed_survey {
    background: url("../img/00-dash-bg-right.svg") top 0 right -500px no-repeat, url("../img/00-dash-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #fff;
    background-size: 1000px auto; }
  #section_1 section, #section_2 section, #section_3 section, #section_4 section, #section_5 section {
    margin-bottom: 0; }
  #section_1 h1.logo a, #section_2 h1.logo a, #section_3 h1.logo a, #section_4 h1.logo a, #section_5 h1.logo a {
    color: #000; }
  #section_1 article, #section_2 article, #section_3 article, #section_4 article, #section_5 article {
    padding-top: 0;
    padding-bottom: 0; }
  #section_1 .solid, #section_2 .solid, #section_3 .solid, #section_4 .solid, #section_5 .solid {
    border-radius: 0; }
  .nav-buttons {
    max-width: 18.75rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .clear_curve_small {
    background: url("../img/curve-bg-clear.svg") bottom -2px left -3px no-repeat;
    background-size: calc(100% + 6px);
    /*padding-bottom: rem-calc(20);*/ } }

.multi_bg article {
  background: url("../img/01-bg-right.svg") top 0 right 0 no-repeat, url("../img/01-bg-left.svg") top 0 left 0 no-repeat;
  /*background-size: 95%;*/
  /*height: 100vh;*/
  /*max-width: 1200px;*/
  margin: auto;
  background-color: #041944;
  background-size: 600px auto;
  -webkit-transition: background-size 1s, background-position 1s;
  transition: background-size 1s, background-position 1s; }

#flexi_bg_container {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  /*position: relative;*/
  z-index: -1;
  border-top: 5px solid red;
  width: 100%;
  max-width: 1600px;
  height: auto; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .multi_bg article {
    background: url("../img/01-bg-right.svg") top 0 right -500px no-repeat, url("../img/01-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #041944;
    background-size: 1000px auto; } }

/*
 * PROGRESS INDICATOR CIRCLES
 */
.progress_indicator_container {
  position: relative;
  width: 100px;
  height: 100px;
  margin: auto; }

.progress_indicator {
  position: absolute;
  top: 0;
  left: 0; }

.progress_indicator_text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 22px 15px 0 15px;
  font-size: 0.6875rem;
  text-align: center;
  font-weight: bold;
  color: #fff; }

/*
 * POP CIRCLE / SHAPES
 */
.pop_circle {
  border-radius: 100px;
  height: 100px;
  width: 100px;
  background: #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pop_circle p, .pop_circle h2, .pop_circle h3, .pop_circle h4 {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.pop_circle a {
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.pop_square {
  height: 100px;
  width: 100px;
  background: #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pop_square p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.heptagon_container {
  position: relative;
  width: 100px;
  height: 100px;
  margin: auto; }

.heptagon_container svg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; }

.heptagon {
  height: 100px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.heptagon p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.diamond_container {
  position: relative;
  width: 100px;
  height: 100px;
  margin: auto; }

.diamond_container svg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1; }

.diamond {
  height: 100px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.diamond p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.circle {
  height: 100px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #ccc;
  border-radius: 100px;
  margin: auto; }

.circle p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.circle.filled {
  background-color: #ccc; }

.rect {
  height: 100px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #ccc;
  margin: auto; }

.rect p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

.rect.filled {
  background-color: #ccc; }

.rect.flexible {
  width: 100%; }

.question {
  height: 100px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #ccc;
  border-radius: 100px;
  margin: auto;
  position: relative; }

.question:after {
  content: '?';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 5.625rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  width: 100%;
  color: #ccc;
  z-index: -1; }

.question p {
  font-size: 1rem;
  line-height: 1;
  margin: 0;
  text-align: center; }

/*
 * MISC
 */
.plus_icon {
  padding-top: 1.25rem;
  position: relative;
  display: block; }

.plus_icon:before {
  content: '+';
  position: absolute;
  top: -10px;
  left: 0;
  font-size: 1.875rem;
  font-weight: bold;
  text-align: center;
  width: 100%; }

.box {
  display: block;
  width: 100%;
  padding: 0.625rem;
  border: 1px solid #eee;
  -webkit-box-shadow: 0 1px 10px #ccc;
          box-shadow: 0 1px 10px #ccc;
  margin-bottom: 0.625rem;
  background-color: #fff; }

.panel {
  width: 100%;
  padding: 0.625rem;
  border: 1px solid #eee;
  border-radius: 10px;
  background-color: #eee;
  margin-bottom: 0.625rem; }

.bottom_border {
  border-bottom: 1px solid #ccc; }

.dashed, .button.dashed {
  border: 3px dashed #ccc; }

.dashed_dark {
  border: 3px dashed #666; }

table th {
  text-align: left; }

.rtl table th {
  text-align: right; }

.filled {
  background-color: #bbb; }

.rounded {
  border-radius: 100px; }

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.char {
  border-radius: 100px;
  border: 1px solid #ccc;
  padding: 0.3125rem; }

.tabs.x2 .tabs-title {
  width: 50%;
  text-align: center; }

td.vertically_align {
  vertical-align: top; }

/*
 * VERTICAL STEP SLIDER
 */
.vert_step_slider_container {
  margin: 1.875rem 0; }

.vert_step_slider {
  width: 100%;
  height: 250px;
  text-align: center;
  margin: 0 0;
  position: relative; }

.vert_step_slider:after {
  content: ' ';
  border-left: 2px solid #ccc;
  position: absolute;
  top: 5px;
  left: 50%;
  bottom: 5px;
  right: auto;
  z-index: -1; }

.vert_step_slider li {
  border-radius: 100px;
  border: 1px solid #ccc;
  height: 30px;
  width: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 20px;
  background-color: #fff;
  margin: 0;
  position: absolute;
  left: calc(50% - 15px); }

.vert_step_slider li .slider_tooltip {
  text-align: left;
  background-color: #ccc;
  line-height: 1;
  display: block;
  width: 150px;
  margin-left: 40px;
  padding: 0.5rem 0.3125rem;
  position: relative;
  font-size: 1rem;
  height: 32px;
  /* 8px Top padding + 16px Font size + 8px bottom padding, line height of 1  */ }

.vert_step_slider li .slider_tooltip:after {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(204, 204, 204, 0);
  border-right-color: #ccc;
  border-width: 10px;
  margin-top: -10px; }

.vert_step_slider li .slider_tooltip a {
  margin: 0;
  padding: 0; }

.vert_step_slider li .slider_tooltip a.truncate {
  width: 150px;
  display: block; }

.vert_step_slider li:after {
  content: '< >';
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 5;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

/* 0 - 739px - Small Only */
/* 740px - 1023px - Medium Only */
/*
 *
 * ONBOARDING STYLES
 *
 */
#onboarding {
  background-color: #333; }

#onboarding section article {
  background-color: #333;
  background-position: top left, top right, bottom right, bottom left;
  background-repeat: no-repeat;
  background-size: 100%;
  margin-top: 0;
  min-height: 100vh; }

#onboarding section article.blue {
  background-color: #041944;
  background-size: 300px 294px, 284px 534px, 298px 275px, 442px 329px;
  background-image: url("../img/bg-shapes-blue-top-left.svg"), url("../img/bg-shapes-blue-top-right.svg"), url("../img/bg-shapes-blue-bottom-right.svg"), url("../img/bg-shapes-blue-bottom-left.svg"); }

#onboarding section article.red {
  background-color: #570239;
  background-size: 353px 347px, 238px 570px, 298px 284px, 364px 266px;
  background-image: url("../img/bg-shapes-red-top-left.svg"), url("../img/bg-shapes-red-top-right.svg"), url("../img/bg-shapes-red-bottom-right.svg"), url("../img/bg-shapes-red-bottom-left.svg"); }

#onboarding section article.green {
  background-color: #134852;
  background-size: 505px 457px, 397px 626px, 255px 322px, 545px 293px;
  background-image: url("../img/bg-shapes-green-top-left.svg"), url("../img/bg-shapes-green-top-right.svg"), url("../img/bg-shapes-green-bottom-right.svg"), url("../img/bg-shapes-green-bottom-left.svg"); }

#onboarding section article.purple {
  background-color: #300c5e;
  background-size: 278px 465px, 455px 422px, 305px 442px, 618px 450px;
  background-image: url("../img/bg-shapes-purple-top-left.svg"), url("../img/bg-shapes-purple-top-right.svg"), url("../img/bg-shapes-purple-bottom-right.svg"), url("../img/bg-shapes-purple-bottom-left.svg"); }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #onboarding section article.blue {
    background-size: 200px 196px, 200px 376px, 200px 185px, 250px 186px; }
  #onboarding section article.red {
    background-size: 200px 197px, 150px 359px, 200px 191px, 260px 190px; }
  #onboarding section article.green {
    background-size: 340px 308px, 230px 363px, 190px 240px, 350px 188px; }
  #onboarding section article.purple {
    background-size: 200px 335px, 290px 269px, 200px 290px, 400px 291px; } }

#onboarding section article > .columns {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding-top: 0;
  min-height: auto;
  max-width: 75rem; }

#onboarding h1 {
  background-color: transparent;
  padding-top: 1rem;
  padding-bottom: 1.4rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.875rem;
  color: #fff;
  margin-bottom: 0; }

#onboarding h1 strong {
  display: block;
  font-weight: 600;
  font-size: 40px;
  color: #fff; }

#onboarding h2 {
  font-size: 1.25rem;
  color: #fff; }

#onboarding p {
  color: #fff;
  font-size: 1.25rem; }

#onboarding li {
  color: #fff;
  font-size: 1.25rem; }

#onboarding label {
  color: #fff;
  font-size: 1.25rem; }

#onboarding .button {
  border-color: transparent; }

#onboarding .nav-buttons {
  height: auto;
  left: auto;
  right: auto;
  bottom: auto;
  position: relative; }

#onboarding img.icon {
  max-width: 250px; }

#onboarding .nav-buttons.btn_1x {
  padding-top: 0; }

#onboarding .nav-buttons.btn_1x .button.white {
  -webkit-box-shadow: none;
          box-shadow: none; }

#onboarding .nav-buttons.btn_1x .button.white.disabled:hover {
  color: #000;
  background-color: #fff; }

#onboarding img.icon {
  max-width: 400px; }

#onboarding .circle-number {
  width: 62px;
  height: 62px;
  border-radius: 62px;
  border: 2px solid #fff;
  background-color: transparent;
  color: #fff;
  font-size: 1.75rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  line-height: 58px;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
  text-shadow: none;
  display: block;
  margin: 32px auto 32px auto; }

#onboarding ul.question_list {
  margin-top: 0;
  margin-bottom: 4.375rem;
  margin-left: 0;
  list-style: none; }

#onboarding ul.question_list li {
  padding: 0.625rem; }

#onboarding ul.question_list li input[type=radio] {
  display: none; }

#onboarding ul.question_list li input[type=radio] + label {
  margin-left: 0;
  margin-right: 0;
  padding: 0.75rem 0.625rem 0.75rem 3.5rem;
  min-width: 100px;
  display: block;
  font-weight: 400;
  font-size: 1.25rem;
  background-color: transparent;
  border: 2px solid #fff;
  -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
  color: #fff;
  text-align: left; }

#onboarding ul.question_list li label {
  position: relative;
  line-height: 1; }

#onboarding ul.question_list li label:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 19px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 62.4375rem;
  border: 2px solid rgba(255, 255, 255, 0.1);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

#onboarding ul.question_list li label:first-of-type {
  border-radius: 10px; }

#onboarding ul.question_list li label:last-of-type {
  border-radius: 10px; }

#onboarding ul.question_list li input[type=radio]:checked + label {
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  color: #5c626a;
  font-weight: 700;
  padding-left: 4.0625rem; }

#onboarding ul.question_list li input[type=radio]:checked + label:before {
  background-color: #50AD47;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.44%2011.23%22%3E%3Cpolygon%20points%3D%224.28%207.09%202.07%204.89%200%206.96%204.28%2011.23%2013.44%202.07%2011.37%200%204.28%207.09%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.1875rem;
  border: 2px solid #fff;
  width: 2.5rem;
  height: 2.5rem;
  left: 11px; }

#onboarding ul.question_list#onboarding_question_2 li input[type=radio]:checked + label:before {
  background-color: #9629ad; }

#onboarding ul.question_list#onboarding_question_3 li input[type=radio]:checked + label:before {
  background-color: #005ab8; }

#onboarding ul.question_list#onboarding_question_4 li input[type=radio]:checked + label:before {
  background-color: #ed7543; }

#onboarding ul.onboarding-slider-descriptions {
  list-style: none;
  height: 3.75rem;
  position: relative;
  margin-left: 0; }

#onboarding ul.onboarding-slider-descriptions li {
  position: absolute;
  top: 0;
  left: 0;
  width: 25%;
  font-size: 0.75rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: none; }

#onboarding ul.onboarding-slider-descriptions li:nth-child(1) {
  left: 0;
  -webkit-transform: translateX(-41%);
          transform: translateX(-41%); }

#onboarding ul.onboarding-slider-descriptions li:nth-child(2) {
  left: 33.33333%; }

#onboarding ul.onboarding-slider-descriptions li:nth-child(3) {
  left: 66.66666%;
  width: 33.33333%; }

#onboarding ul.onboarding-slider-descriptions li:nth-child(4) {
  left: auto;
  right: 0;
  -webkit-transform: translateX(41%);
          transform: translateX(41%); }

ul.onboarding-slider-descriptions#onboarding_question_2_slider_descriptions li {
  color: #fcb2ff; }

ul.onboarding-slider-descriptions#onboarding_question_3_slider_descriptions li {
  color: #74c8ff; }

#onboarding ul.onboarding-slider-labels {
  list-style: none;
  height: 3.5rem;
  position: relative;
  margin-left: 0; }

#onboarding ul.onboarding-slider-labels li {
  position: absolute;
  top: 0;
  left: 0;
  width: 25%;
  font-size: 0.75rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 600;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

#onboarding ul.onboarding-slider-labels-four li:nth-child(1) {
  left: 0;
  -webkit-transform: translateX(-41%);
          transform: translateX(-41%); }

#onboarding ul.onboarding-slider-labels-four li:nth-child(2) {
  left: 33.33333%; }

#onboarding ul.onboarding-slider-labels-four li:nth-child(3) {
  left: 66.66666%;
  width: 33.33333%; }

#onboarding ul.onboarding-slider-labels-four li:nth-child(4) {
  left: auto;
  right: 0;
  -webkit-transform: translateX(41%);
          transform: translateX(41%); }

#onboarding ul.onboarding-slider-labels-five li:nth-child(1) {
  left: 0;
  -webkit-transform: translateX(-41%);
          transform: translateX(-41%); }

#onboarding ul.onboarding-slider-labels-five li:nth-child(2) {
  left: 26%; }

#onboarding ul.onboarding-slider-labels-five li:nth-child(3) {
  left: 50%; }

#onboarding ul.onboarding-slider-labels-five li:nth-child(4) {
  left: 74%; }

#onboarding ul.onboarding-slider-labels-five li:nth-child(5) {
  left: auto;
  right: 0;
  -webkit-transform: translateX(41%);
          transform: translateX(41%); }

ul.onboarding-slider-labels#onboarding_question_1_slider_labels li.active {
  color: #77c962; }

ul.onboarding-slider-labels#onboarding_question_2_slider_labels li.active {
  color: #fcb2ff; }

ul.onboarding-slider-labels#onboarding_question_3_slider_labels li.active {
  color: #74c8ff; }

ul.onboarding-slider-labels#onboarding_question_4_slider_labels li.active {
  color: #ed7543; }

ul.onboarding-slider-labels#onboarding_question_5_slider_labels li.active {
  color: #77c962; }

.onboarding_question_slider.slider {
  background-color: transparent;
  height: 16px; }

.onboarding_question_slider.slider .slider-track {
  width: calc(100% - 16px);
  margin-left: auto;
  margin-right: auto;
  background-color: transparent;
  height: 16px;
  display: block;
  position: relative;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.onboarding_question_slider.slider .slider-track:after {
  content: '';
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  height: 4px;
  display: block;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: absolute;
  top: 6px;
  left: 0;
  z-index: 0; }

.onboarding_question_slider.slider .slider-track span {
  content: '\00a0';
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  border: 2px solid #fff;
  border-radius: 999px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: none;
  background-color: #000;
  z-index: 1;
  pointer-events: none; }

.onboarding_question_slider.slider .slider-track span:nth-child(1) {
  left: 0; }

.onboarding_question_slider.slider .slider-track-four span:nth-child(2) {
  left: 31.66666%; }

.onboarding_question_slider.slider .slider-track-four span:nth-child(3) {
  left: 65%; }

.onboarding_question_slider.slider .slider-track-four span:nth-child(4) {
  right: 0; }

.onboarding_question_slider.slider .slider-track-five span:nth-child(2) {
  left: 24%; }

.onboarding_question_slider.slider .slider-track-five span:nth-child(3) {
  left: 49%; }

.onboarding_question_slider.slider .slider-track-five span:nth-child(4) {
  left: 73%; }

.onboarding_question_slider.slider .slider-track-five span:nth-child(5) {
  right: 0; }

.onboarding_question_slider.slider .slider-handle {
  border-radius: 62.4375rem;
  border: 2px solid #999;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022.4%2012%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M15%2010.6l1.4%201.4%206-6-6-6L15%201.4%2019.6%206zM7.4%201.4L6%200%200%206l6%206%201.4-1.4L2.8%206z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 1rem;
  width: 2rem;
  height: 2rem;
  z-index: 2;
  pointer-events: auto;
  -webkit-transition: none;
  transition: none; }

.onboarding_question_slider.slider .slider-handle.is-dragging {
  background-color: #eee; }

.onboarding_question_slider.slider .slider-fill {
  background-color: transparent;
  display: none; }

.onboarding_question_slider.slider:before, .onboarding_question_slider.slider:after {
  display: none; }

#onboarding_question_1_slider.onboarding_question_slider.slider .slider-track span,
#onboarding_question_5_slider.onboarding_question_slider.slider .slider-track span {
  background-color: #134852; }

#onboarding_question_2_slider.onboarding_question_slider.slider .slider-track span {
  background-color: #300c5e; }

#onboarding_question_3_slider.onboarding_question_slider.slider .slider-track span {
  background-color: #041944; }

#onboarding_question_4_slider.onboarding_question_slider.slider .slider-track span {
  background-color: #570239; }

#onboarding_question_1_slider.onboarding_question_slider.slider .slider-handle,
#onboarding_question_5_slider.onboarding_question_slider.slider .slider-handle {
  border: 2px solid #50ad47;
  background-color: #50ad47; }

#onboarding_question_1_slider.onboarding_question_slider.slider .slider-handle.is-dragging,
#onboarding_question_5_slider.onboarding_question_slider.slider .slider-handle.is-dragging {
  background-color: #50ad47; }

#onboarding_question_2_slider.onboarding_question_slider.slider .slider-handle {
  border: 2px solid #9629ad;
  background-color: #9629ad; }

#onboarding_question_2_slider.onboarding_question_slider.slider .slider-handle.is-dragging {
  background-color: #9629ad; }

#onboarding_question_3_slider.onboarding_question_slider.slider .slider-handle {
  border: 2px solid #005ab8;
  background-color: #005ab8; }

#onboarding_question_3_slider.onboarding_question_slider.slider .slider-handle.is-dragging {
  background-color: #005ab8; }

#onboarding_question_4_slider.onboarding_question_slider.slider .slider-handle {
  border: 2px solid #ed7543;
  background-color: #ed7543; }

#onboarding_question_4_slider.onboarding_question_slider.slider .slider-handle.is-dragging {
  background-color: #ed7543; }

.onboarding_dashboard_modal {
  border-radius: 20px; }

.onboarding-inpage-modal .onboarding-inpage-modal-inner {
  border-radius: 20px;
  -webkit-box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
          box-shadow: 0 7px 30px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  padding: 1.4rem 1.4rem 1.4rem 1.4rem;
  min-width: 270px;
  max-width: 340px;
  margin: auto; }

#dashboard .onboarding_dashboard_modal h1 {
  background-color: transparent;
  padding-top: 1rem;
  padding-bottom: 1.4rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.875rem;
  color: #a2a5aa;
  margin-bottom: 0; }

#dashboard .onboarding_dashboard_modal h1 strong {
  display: block;
  font-weight: 600;
  font-size: 40px;
  color: #2d353f; }

#dashboard .onboarding_dashboard_modal .button, #dashboard .onboarding-inpage-modal .button {
  padding-left: 3rem;
  padding-right: 3rem; }

#dashboard .onboarding_dashboard_modal .button.green, #dashboard .onboarding-inpage-modal .button.green {
  background-color: #51ae40; }

#dashboard .onboarding-inpage-modal p, #onboarding_dashboard_modal_4 p {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  color: #2d353f;
  margin-bottom: 0.5rem; }

#dashboard .onboarding-inpage-modal p.onboarding-step-count, #onboarding_dashboard_modal_4 p.onboarding-step-count {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: #a2a5aa; }

#onboarding_dashboard_modal_2 {
  max-width: 400px;
  position: absolute;
  top: 60px;
  right: -20px;
  z-index: 10;
  display: none; }

#onboarding_dashboard_modal_3 {
  max-width: 400px;
  position: absolute;
  top: 100px;
  right: -20px;
  z-index: 10;
  display: none; }

#onboarding_dashboard_modal_4 {
  padding: 1.4rem 1.4rem 1.4rem 1.4rem; }

#onboarding_dashboard_modal_2 .button, #onboarding_dashboard_modal_3 .button, #onboarding_dashboard_modal_4 .button {
  margin-bottom: 0; }

#dashboard .relative-wrapper {
  position: relative; }

#onboarding select {
  height: 3.375rem;
  font-size: 1.0625rem;
  line-height: 1;
  margin-top: 0.375rem;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-color: #E4E8F2;
  padding-left: 0.9375rem;
  color: #666;
  background-image: url("../img/down-caret.svg");
  background-position: right -10px center;
  background-repeat: no-repeat;
  background-size: 16px 12px; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #onboarding p {
    font-size: 1.0625rem; }
  #onboarding h1, #dashboard .onboarding_dashboard_modal h1 {
    font-size: 1.25rem; }
  #onboarding h1 strong, #dashboard .onboarding_dashboard_modal h1 strong {
    font-size: 1.625rem; }
  #onboarding ul.question_list li {
    padding: 0.3125rem 0.625rem; }
  #onboarding ul.question_list li input[type=radio] + label {
    margin-left: 0;
    margin-right: 0;
    min-width: 100px;
    display: block;
    font-weight: 400;
    font-size: 1rem; }
  #onboarding ul.question_list {
    margin-bottom: 1.875rem; }
  #onboarding_dashboard_modal_2 {
    margin: 20px auto 0 auto;
    max-width: 340px;
    position: relative;
    top: auto;
    right: auto;
    z-index: 10; }
  #onboarding_dashboard_modal_3 {
    margin: auto;
    max-width: 400px;
    position: relative;
    top: auto;
    right: auto;
    z-index: 10; }
  .onboarding-inpage-modal .onboarding-inpage-modal-inner {
    margin-bottom: 32px; } }

/*
 *
 * HOME STYLES
 *
 */
#home {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 2600px 600px;
  background-image: url("../img/home-top-header-bg.svg"); }

#home .light-curve-bg {
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100%;
  background-image: url("../img/home-top-header-light-curve-bg.svg"); }

#home .home--top-feature-image {
  margin-right: 10%;
  margin-left: -15px;
  margin-bottom: -10%; }

header .menu.home-login-menu a {
  font-size: 1.125rem;
  font-weight: 700;
  color: #2d353f;
  margin: 0 0.1rem 0.2rem 0;
  padding: 0.5rem 1rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

header .menu.home-login-menu a:hover {
  background: rgba(116, 200, 255, 0.42);
  border-radius: 4px; }

.home p {
  color: #5c626a;
  font-size: 1.125rem;
  line-height: 1.5;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.home a {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.home h1 {
  font-size: 2.5rem;
  font-weight: 400;
  color: #a2a5aa;
  line-height: 1.2;
  margin-bottom: 1.25rem; }

.home h1 strong {
  display: block;
  font-size: 3.125rem;
  font-weight: 700;
  color: #2d353f; }

.home h2 {
  font-size: 1.125rem;
  color: #2d353f;
  line-height: 1.5;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.home h3 {
  font-size: 1.125rem;
  color: #2d353f;
  line-height: 1.5; }

.home h3.large {
  font-size: 1.875rem;
  color: #2d353f;
  line-height: 1.5;
  margin-bottom: 0.625rem; }

.wrapper.light-blue {
  background-color: #eef5fb; }

.home--white-block {
  background-color: #fff;
  border: 1px solid #eef5fb; }

.home--white-block p {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.2;
  color: #161f2a;
  padding: 10px 25% 10px 15px; }

.home--white-block img, .home--white-block svg {
  margin-top: 0.625rem;
  max-width: 8.125rem; }

/* 0 - 574px - Only */
@media only screen and (max-width: 574px) {
  .home h1 {
    font-size: 1.875rem; }
  .home h1 strong {
    font-size: 2.375rem; }
  .home--white-block p {
    font-size: 0.8rem; }
  .home--white-block img, .home--white-block svg {
    max-width: 5.625rem; }
  .home h3.large {
    font-size: 1.25rem; } }

/* 575px - 739px - Only */
@media only screen and (min-width: 575px) and (max-width: 46.188em) {
  .home--white-block p {
    font-size: 1rem; } }

/* 0 - 739px - Only */
@media only screen and (min-width: 0) and (max-width: 46.188em) {
  #home .home--top-feature-image {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: -10%;
    max-width: 95%; }
  #home {
    background-size: 695px 900px;
    background-image: url("../img/home-top-header-bg-mobile.svg");
    background-position: top right; }
  #home .light-curve-bg {
    background: none; } }

.home--link-block {
  background-color: #aaa;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 16px;
  color: #fff;
  padding-top: 6rem;
  padding-bottom: 4.75rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  position: relative;
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black); }

.home--link-block .row {
  position: relative;
  z-index: 1; }

.home--link-block:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: inherit;
  background-size: cover;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: -webkit-transform .4s ease-in-out;
  transition: -webkit-transform .4s ease-in-out;
  transition: transform .4s ease-in-out;
  transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
  border-radius: 16px; }

.home--link-block:hover:after {
  -webkit-transform: scale(1.05);
          transform: scale(1.05); }

/*.home--link-block:hover {
	background-size: 120%;
}*/
.home--link-block h3 {
  color: #fff;
  font-size: 1.375rem; }

.home--link-block--purple {
  background-image: url("../img/home-link-block-bg-purple.png"); }

.home--link-block--green {
  background-image: url("../img/home-link-block-bg-green.png"); }

/* 0 - 574px - Only */
@media only screen and (max-width: 574px) {
  .home--link-block {
    padding-top: 4rem;
    padding-bottom: 3.5rem; } }

.home .button, .lang_menu_modal .button {
  background-color: #50AD47;
  padding: 1.25em 1em;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: auto;
  text-transform: none;
  border-radius: 100px;
  border: none;
  color: #fff;
  line-height: 1; }

.home .button:hover, .lang_menu_modal .button:hover {
  background-color: #44933c; }

.home .button.purple {
  background-color: #cc5dff; }

.home .button.purple:hover {
  background-color: #bc29ff; }

.home .button.grey {
  background-color: #73797f; }

.home .button.grey:hover {
  background-color: #62676c; }

.business-plan-image {
  position: relative; }

.business-plan-image img {
  opacity: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.business-plan-image h4 {
  position: absolute;
  top: 47%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #2d353f; }

#homepage_about_modal {
  padding-left: 5rem;
  padding-right: 5rem;
  border-radius: 10px;
  max-width: 94%; }

#homepage_about_modal h3 {
  background-color: #fff;
  padding-top: 1rem;
  padding-bottom: 1.4rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 1.25rem;
  color: #73797f;
  margin-bottom: 0; }

#homepage_about_modal h3 strong {
  display: block;
  font-weight: 600;
  font-size: 40px;
  color: #2d353f; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #homepage_about_modal {
    padding-left: 2rem;
    padding-right: 2rem;
    max-width: 100%; }
  #homepage_about_modal h3 {
    font-size: 1rem; }
  #homepage_about_modal h3 strong {
    font-size: 32px; } }

#homepage_sections_slider .orbit-container:before, #homepage_sections_slider .orbit-container:after {
  display: none; }

#homepage_sections_slider {
  list-style: none;
  margin-left: 0;
  margin-right: 0;
  max-width: 300px; }

#homepage_sections_slider .slide {
  min-width: 280px;
  margin-bottom: 0.625rem;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

#homepage_sections_slider .slide .slide-inner {
  width: 100%;
  height: 100%;
  background-color: #ccc;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 1.875rem 1.5rem 2.5rem 1.5rem;
  border-radius: 1.25rem;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  margin-left: 0;
  margin-right: 0; }

#homepage_sections_slider .slide ul {
  list-style: none;
  margin-left: 0;
  margin-top: 1.875rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

#homepage_sections_slider .slide ul li {
  background-color: #fff;
  padding: 1.0625rem 0.9375rem 1.0625rem 3.4375rem;
  border-radius: 0.5rem;
  margin-bottom: 0.875rem;
  position: relative;
  font-weight: 700;
  line-height: 1.2;
  color: #2d353f; }

#homepage_sections_slider .slide ul li span {
  content: '';
  position: absolute;
  top: 50%;
  left: 10px;
  background-color: #333;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 2.125rem;
  height: 2.125rem;
  line-height: 2.125rem;
  border-radius: 62.4375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #fff;
  text-align: center;
  font-size: 0.875rem; }

#homepage_sections_slider .slide-1 ul li span {
  background-color: #2063d6; }

#homepage_sections_slider .slide-2 ul li span {
  background-color: #ed7543; }

#homepage_sections_slider .slide-3 ul li span {
  background-color: #77c962; }

#homepage_sections_slider .slide-4 ul li span {
  background-color: #540e93; }

#homepage_sections_slider .slide-5 ul li span {
  background-color: #EA578F; }

#homepage_sections_slider .slide .circle-number {
  width: 3.125rem;
  height: 3.125rem;
  line-height: 3.125rem;
  border-radius: 999px;
  background-color: #fff;
  display: block;
  text-align: center;
  margin: 0 auto;
  font-size: 1.6875rem;
  color: #2d353f;
  font-weight: 700;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

#homepage_sections_slider .slide h4 {
  display: block;
  text-align: center;
  margin: 11px auto 0 auto;
  color: #fff;
  font-size: 2rem;
  line-height: 1.2;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.lang-th header .menu.home-login-menu a,
.lang-th .home a,
.lang-th .home p,
.lang-th .home h2,
.lang-th .home .home--link-block,
.lang-th #homepage_about_modal h3,
.lang-th #homepage_sections_slider .slide ul,
.lang-th #homepage_sections_slider .slide .circle-number,
.lang-th #homepage_sections_slider .slide h4 {
  font-family: 'K2D', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.lang-ps header .menu.home-login-menu a,
.lang-ps .home a,
.lang-ps .home p,
.lang-ps .home h2,
.lang-ps .home .home--link-block,
.lang-ps #homepage_about_modal h3,
.lang-ps #homepage_sections_slider .slide ul,
.lang-ps #homepage_sections_slider .slide .circle-number,
.lang-ps #homepage_sections_slider .slide h4 {
  font-family: 'noto_nastaliq_urduregular', sans-serif; }

.lang-fa_af header .menu.home-login-menu a,
.lang-fa_af .home a,
.lang-fa_af .home p,
.lang-fa_af .home h2,
.lang-fa_af .home .home--link-block,
.lang-fa_af #homepage_about_modal h3,
.lang-fa_af #homepage_sections_slider .slide ul,
.lang-fa_af #homepage_sections_slider .slide .circle-number,
.lang-fa_af #homepage_sections_slider .slide h4 {
  font-family: 'noto_naskh_arabic_uiregular', sans-serif; }

.lang-hi_in header .menu.home-login-menu a,
.lang-hi_in .home a,
.lang-hi_in .home p,
.lang-hi_in .home h2,
.lang-hi_in .home .home--link-block,
.lang-hi_in #homepage_about_modal h3,
.lang-hi_in #homepage_sections_slider .slide ul,
.lang-hi_in #homepage_sections_slider .slide .circle-number,
.lang-hi_in #homepage_sections_slider .slide h4 {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-az header .menu.home-login-menu a,
.lang-az .home a,
.lang-az .home p,
.lang-az .home h2,
.lang-az .home .home--link-block,
.lang-az #homepage_about_modal h3,
.lang-az #homepage_sections_slider .slide ul,
.lang-az #homepage_sections_slider .slide .circle-number,
.lang-az #homepage_sections_slider .slide h4 {
  font-family: 'Noto Sans', Roboto, Arial, sans-serif; }

.lang-hy header .menu.home-login-menu a,
.lang-hy .home a,
.lang-hy .home p,
.lang-hy .home h2,
.lang-hy .home .home--link-block,
.lang-hy #homepage_about_modal h3,
.lang-hy #homepage_sections_slider .slide ul,
.lang-hy #homepage_sections_slider .slide .circle-number,
.lang-hy #homepage_sections_slider .slide h4 {
  font-family: 'Noto Sans Armenian', Roboto, Arial, sans-serif; }

#homepage_sections_slider .slide-1 .slide-inner {
  background-image: url("../img/home-section-slider-bg-1.svg"); }

#homepage_sections_slider .slide-2 .slide-inner {
  background-image: url("../img/home-section-slider-bg-2.svg"); }

#homepage_sections_slider .slide-3 .slide-inner {
  background-image: url("../img/home-section-slider-bg-3.svg"); }

#homepage_sections_slider .slide-4 .slide-inner {
  background-image: url("../img/home-section-slider-bg-4.svg"); }

#homepage_sections_slider .slide-5 .slide-inner {
  background-image: url("../img/home-section-slider-bg-5.svg"); }

#home .left-gradient {
  position: relative;
  overflow: hidden; }

#home .left-gradient:before {
  content: '';
  position: absolute;
  top: 0;
  left: -5px;
  bottom: 0;
  width: 54px;
  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #eef5fb), color-stop(97%, rgba(238, 245, 251, 0)));
  background: linear-gradient(90deg, #eef5fb 20%, rgba(238, 245, 251, 0) 97%);
  z-index: 1; }

.home .credits {
  font-size: 2.125rem;
  color: #2d353f;
  margin-bottom: 0; }

.home .credits span {
  font-size: 1rem;
  color: #a2a5aa;
  margin-bottom: 0;
  display: block;
  font-weight: 500; }

.home .credits-links img {
  max-width: 160px; }

/*.home--item_panels {
	list-style: none;
	margin: 0;
}
.home--item_panels li {
	list-style: none;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: rem-calc(175);
	padding-top: rem-calc(190);
	color: #000;
	font-size: rem-calc(18);
	margin-bottom: rem-calc(40);
	line-height: 1.2;
}
.home--item_panels li.one {
	background-image: url( '../img/landing-page-01.svg');
}
.home--item_panels li.two {
	background-image: url( '../img/landing-page-02.svg');
}
.home--item_panels li.three {
	background-image: url( '../img/landing-page-03.svg');
}
.home--item_panels li.four {
	background-image: url( '../img/landing-page-04.svg');
}
.home--item_panels li.five {
	background-image: url( '../img/landing-page-05.svg');
}
.home--item_panels li.six {
	background-image: url( '../img/landing-page-06.svg');
}
.home--item_panels li.seven {
	background-image: url( '../img/landing-page-07.svg');
}*/
/* 
 * SECTION 1
 */
#section_1 {
  background: url("../img/01-bg-right.svg") top 0 right 0 no-repeat, url("../img/01-bg-left.svg") top 0 left 0 no-repeat;
  background-color: #041944;
  background-size: 600px auto; }

#section_1 .reveal.full {
  background-color: #041944;
  color: #fff; }

#section_1 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost) {
  background-color: #2063D6; }

#section_1 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):hover {
  background-color: #1b54b6; }

#section_1 .button.hollow {
  border-color: #2063D6;
  color: #2063D6; }

#section_1 .button.outlined {
  border-color: #2063D6;
  border-width: 3px;
  color: #2063D6; }

/*#section_1 .warning:before { background-color: #2063D6; }*/
#section_1 .section_title span {
  color: #041944; }

#section_1 .section_title span svg {
  width: 26px; }

#section_1 .section_title span .tick_fill {
  fill: #041944; }

#section_1 .callout_a .circle-number,
#section_1 .callout_b .circle-number,
#section_1 .callout_c .circle-number {
  background-color: rgba(32, 99, 214, 0.8); }

#section_1 .callout.completed .circle-number {
  background-color: #fff;
  color: #2063D6; }

#section_1 h2, #section_1 h3, #section_1 a h2, #section_1 a h3 {
  color: #041944; }

#section_1 h4.punch {
  color: #0439A5;
  font-size: 2.5rem;
  margin-bottom: 0; }

#section_1 .transparent > p {
  color: #CCDEFF;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

#section_1 .callout.completed {
  background-color: #2063D6; }

#section_1 .callout.completed h3, #section_1 .callout.completed p {
  color: #fff; }

#section_1 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23041944%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl#section_1 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23041944%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

#section_1 .callout ul li:after, #section_1 ul.keylist li:after, #section_1 .orbit-slide figcaption ul li:after, #business_plan ul.keylist li:after {
  background-color: #2063d6; }

#section_1 .orbit-slide h4 {
  color: #041944; }

#section_1 .orbit-controls button {
  background-color: #2063D6; }

#section_1 .orbit-controls button:hover {
  background-color: #184aa1; }

#section_1 .orbit-controls button.disabled {
  background-color: rgba(32, 99, 214, 0.2); }

#section_1 .reveal label {
  color: #041944; }

#section_1 img.icon {
  max-width: 250px; }

/* SECTION 1B STYLES */
/* INSIDE / OUTSIDE PEOPLE LIST */
.inside_outside_relationships {
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3); }

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

.inside_outside_relationships .menu li {
  width: 100%;
  padding-bottom: 2.25rem; }

.inside_outside_relationships .menu li.menu-text {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0.3125rem;
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 700;
  color: #042068;
  -webkit-transform: translateY(-70px);
          transform: translateY(-70px); }

.inside_outside_relationships .inside .menu li.menu-text {
  color: #2063D6; }

.inside_outside_relationships .inside.disabled .menu li.menu-text {
  color: #eee; }

.inside_outside_relationships .outside .menu li.menu-text {
  color: #042068; }

.inside_outside_relationships .menu li .button {
  text-transform: none;
  font-weight: normal;
  color: #666;
  background-color: transparent !important;
  position: relative;
  padding-top: 3.75rem; }

.inside_outside_relationships .menu li .button:hover {
  color: #000; }

.inside_outside_relationships .menu li .button .plus {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 62.4375rem;
  background-color: #2063D6;
  font-size: 3rem;
  line-height: 3.125rem;
  color: #fff;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.inside_outside_relationships .outside .menu li .button .plus {
  background-color: #042068; }

.inside_outside_relationships .menu li .button:hover .plus {
  top: -5px;
  width: 3.75rem;
  height: 3.75rem;
  font-size: 3.625rem;
  line-height: 3.75rem; }

.inside_outside_relationships .menu li.add_button {
  -webkit-transform: translateY(-59px);
          transform: translateY(-59px);
  padding-bottom: 0; }

.inside_outside_relationships .menu.nested {
  margin-left: 0;
  -webkit-transform: translateY(-35px);
          transform: translateY(-35px); }

.inside_outside_relationships .inside {
  background-color: #e4e8f2; }

.inside_outside_relationships .inside.disabled {
  background-color: #eee; }

.inside_outside_relationships .outside {
  background-color: #fff; }

.inside_outside_relationships .people li, .inside_outside_relationships_stacked .people li {
  width: auto;
  height: 78px; }

.inside_outside_relationships .people li a, .inside_outside_relationships_stacked .people li a, .inside_outside_relationships_stacked .people li span.static_people {
  background-size: 46px 56px;
  background-position: center;
  background-repeat: no-repeat;
  width: 46px;
  height: 56px;
  margin-left: 0.875rem;
  margin-right: 0.875rem;
  position: relative;
  -webkit-transition: background-size 0.25s;
  transition: background-size 0.25s; }

.inside_outside_relationships_stacked .people li span.static_people {
  display: block;
  padding: 0.7rem 1rem; }

.inside_outside_relationships .people li a:hover, .inside_outside_relationships_stacked .people li a:hover {
  background-size: 50px 60px; }

.inside_outside_relationships .people li .person_name, .inside_outside_relationships_stacked .people li .person_name {
  display: block;
  width: 70px;
  height: 1rem;
  font-size: 0.75rem;
  line-height: 1rem;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(15px);
          transform: translateX(-50%) translateY(15px); }

.inside_outside_relationships .inside .people li a, .inside_outside_relationships_stacked .inside .people li a, .inside_outside_relationships_stacked .inside .people li span.static_people {
  background-image: url("../img/1A-InsideAvatar.svg"); }

.inside_outside_relationships .outside .people li a, .inside_outside_relationships_stacked .outside .people li a, .inside_outside_relationships_stacked .outside .people li span.static_people {
  background-image: url("../img/1A-OutsideAvatar.svg"); }

#add_edit_a_person_modal h3 .add {
  display: block; }

#add_edit_a_person_modal h3 .edit {
  display: none; }

.inside_outside_relationships_stacked h4 {
  color: #041944; }

.inside_outside_relationships_stacked .inside:after, .inside_outside_relationships_stacked .outside:after {
  content: '';
  display: block;
  border-bottom: 1px solid #e4e8f2; }

.inside_outside_relationships_stacked h5 {
  font-weight: 400; }

/* Move .waves to main custom css file? */
.waves {
  background-image: url("../img/waves.svg"), url("../img/waves.svg");
  background-position: top -50px right 0, bottom -50px left 0;
  background-repeat: no-repeat;
  background-size: 100% 100px; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .waves {
    background-size: 200% 100px; }
  #section_1 {
    background: url("../img/01-bg-right.svg") top 0 right -500px no-repeat, url("../img/01-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #041944;
    background-size: 1000px auto; } }

/* 
 * SECTION 2
 */
#section_2 {
  background: url("../img/02-bg-right.svg") top 0 right 0 no-repeat, url("../img/02-bg-left.svg") top 0 left 0 no-repeat;
  background-color: #570239;
  background-size: 600px auto; }

#section_2 .reveal.full {
  background-color: #570239;
  color: #fff; }

#section_2 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost) {
  background-color: #DE3F3A; }

#section_2 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):hover {
  background-color: #cc2722; }

#section_2 .button.hollow {
  border-color: #DE3F3A;
  color: #DE3F3A; }

#section_2 .button.outlined {
  border-color: #DE3F3A;
  border-width: 3px;
  color: #DE3F3A; }

/*#section_2 .warning:before { background-color: #DE3F3A; }*/
#section_2 .section_title span {
  color: #570239; }

#section_2 .section_title span svg {
  width: 26px; }

#section_2 .section_title span .tick_fill {
  fill: #570239; }

#section_2 .callout_a .circle-number,
#section_2 .callout_b .circle-number,
#section_2 .callout_c .circle-number {
  background-color: rgba(222, 63, 58, 0.8); }

#section_2 .callout.completed .circle-number {
  background-color: #fff;
  color: #DE3F3A; }

#section_2 h2, #section_2 h3, #section_2 h4, #section_2 a h2, #section_2 a h3 {
  color: #570239; }

#section_2 .transparent > p {
  color: #FFE9DD;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

#section_2 .callout.completed {
  background-color: #DE3F3A; }

#section_2 .callout.completed h3, #section_2 .callout.completed p {
  color: #fff; }

#section_2 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23570239%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl#section_2 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23570239%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

#section_2 .callout ul li:after, #section_2 ul.keylist li:after, #section_2 .orbit-slide figcaption ul li:after {
  background-color: #ed7543; }

#section_2 .orbit-slide h4 {
  color: #570239; }

#section_2 .orbit-controls button {
  background-color: #DE3F3A; }

#section_2 .orbit-controls button:hover {
  background-color: #b4231e; }

#section_2 .orbit-controls button.disabled {
  background-color: rgba(222, 63, 58, 0.2); }

#section_2 label {
  color: #570B73;
  margin-bottom: 1rem;
  line-height: 1.5; }

#section_2 img.icon, #section_2 .svg-animated-image {
  max-width: 250px; }

#section_2 .svg-animated-image {
  margin: auto; }

#section_2 td label, #section_2 th label, #section_2 td input {
  margin-bottom: 0; }

#section_2 .time_per_week_month input {
  text-align: center; }

#section_2 .monthly-weekly-tables tbody {
  border: none; }

#section_2 .monthly-weekly-tables table tr {
  background-color: #fff;
  margin-bottom: 0.75rem;
  display: block;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); }

#section_2 .monthly-weekly-tables table th {
  width: 95%;
  position: relative;
  padding-left: 2.1875rem; }

#section_2 .monthly-weekly-tables table th:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 1.25rem;
  background-color: red; }

.rtl#section_2 .monthly-weekly-tables table th {
  padding-left: 0.625rem;
  padding-right: 2.1875rem; }

.rtl#section_2 .monthly-weekly-tables table th:after {
  left: auto;
  right: 15px; }

#section_2 .monthly-weekly-tables table tr:nth-child(1) th:after {
  background-color: #9629ad; }

#section_2 .monthly-weekly-tables table tr:nth-child(2) th:after {
  background-color: #ab62c9; }

#section_2 .monthly-weekly-tables table tr:nth-child(3) th:after {
  background-color: #77c962; }

#section_2 .monthly-weekly-tables table tr:nth-child(4) th:after {
  background-color: #005c59; }

#section_2 .monthly-weekly-tables table tr:nth-child(5) th:after {
  background-color: #2063d6; }

#section_2 .monthly-weekly-tables table tr:nth-child(6) th:after {
  background-color: #0439a5; }

#section_2 .monthly-weekly-tables table td {
  width: 5%; }

#monthly-weekly-hours-tabs li {
  width: 50%; }

#monthly-weekly-hours-tabs li:nth-child(1) a {
  margin-right: 2px; }

#monthly-weekly-hours-tabs li:nth-child(2) a {
  margin-left: 2px; }

#monthly-weekly-hours-tabs .tabs-title > a {
  color: #666;
  font-weight: 700;
  font-size: 1.125rem;
  position: relative; }

#monthly-weekly-hours-tabs .tabs-title > a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0%;
  height: 6px;
  border-radius: 10px;
  background-color: #DE3F3A;
  opacity: 0;
  -webkit-transition: width 0.5s, opacity 0.5s;
  transition: width 0.5s, opacity 0.5s; }

#monthly-weekly-hours-tabs .tabs-title > a:hover:after {
  opacity: 1;
  width: 80%; }

#monthly-weekly-hours-tabs .tabs-title > a[aria-selected='true'] {
  background-color: transparent;
  color: #570239; }

#monthly-weekly-hours-tabs .tabs-title > a[aria-selected='true']:after {
  opacity: 1;
  width: 80%; }

#monthly-weekly-hours-tabs .tabs-title > a:focus, #section_2 #monthly-weekly-hours-tabs .tabs-title > a:hover {
  background-color: transparent; }

.ct-chart {
  max-width: 500px;
  margin: auto; }

.ct-series-a .ct-slice-pie {
  /* fill of the pie slieces */
  /* give your pie slices some outline or separate them visually by using the background color here */
  /* outline width */ }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #section_2 {
    background: url("../img/02-bg-right.svg") top 0 right -500px no-repeat, url("../img/02-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #570239;
    background-size: 1000px auto; } }

/* 
 * SECTION 3
 */
#section_3 {
  background: url("../img/03-bg-right.svg") top 0 right 0 no-repeat, url("../img/03-bg-left.svg") top 0 left 0 no-repeat;
  background-color: #134852;
  background-size: 600px auto; }

#section_3 .reveal.full {
  background-color: #134852;
  color: #fff; }

#section_3 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):not(.lozenge_item):not(.lozenge_item_selected) {
  background-color: #50AD47; }

#section_3 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):not(.lozenge_item):not(.lozenge_item_selected):hover {
  background-color: #44933c; }

#section_3 .button.hollow:not(.lozenge_add) {
  border-color: #50AD47;
  color: #50AD47; }

#section_3 .button.outlined {
  border-color: #196C6A;
  border-width: 3px;
  color: #196C6A; }

/*#section_3 .warning:before { background-color: #50AD47; }*/
#section_3 .section_title span {
  color: #134852; }

#section_3 .section_title span svg {
  width: 26px; }

#section_3 .section_title span .tick_fill {
  fill: #134852; }

#section_3 .callout_a .circle-number,
#section_3 .callout_b .circle-number,
#section_3 .callout_c .circle-number {
  background-color: rgba(80, 173, 71, 0.8); }

#section_3 .callout.completed .circle-number {
  background-color: #fff;
  color: #50AD47; }

#section_3 h2, #section_3 h3, #section_3 a h2, #section_3 a h3 {
  color: #134852; }

#section_3 .transparent > p {
  color: #F3FFEC;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

#section_3 .callout.completed {
  background-color: #196C6A; }

#section_3 .callout.completed h3, #section_3 .callout.completed p {
  color: #fff; }

#section_3 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23134852%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl#section_3 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23134852%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

#section_3 .callout ul li:after, #section_3 ul.keylist li:after, #section_3 .orbit-slide figcaption ul li:after {
  background-color: #50ad47; }

#section_3 .orbit-slide h4 {
  color: #50AD47;
  margin-top: 0; }

#section_3 .orbit-controls button {
  background-color: #196C6A; }

#section_3 .orbit-controls button:hover {
  background-color: #135150; }

#section_3 .orbit-controls button.disabled {
  background-color: rgba(25, 108, 106, 0.2); }

#section_3 label {
  color: #134852;
  margin-bottom: 1rem;
  line-height: 1.5; }

#section_3 img.icon {
  max-width: 250px; }

#section_3 .usp_page label {
  color: #666; }

#section_3 section article > .columns.tinted {
  background-color: rgba(212, 245, 198, 0.3); }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #section_3 {
    background: url("../img/03-bg-right.svg") top 0 right -500px no-repeat, url("../img/03-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #134852;
    background-size: 1000px auto; } }

/* 
 * SECTION 4
 */
#section_4 {
  background: url("../img/04-bg-right.svg") top 0 right 0 no-repeat, url("../img/04-bg-left.svg") top 0 left 0 no-repeat;
  background-color: #300C5E;
  background-size: 600px auto; }

#section_4 .reveal.full {
  background-color: #300C5E;
  color: #fff; }

#section_4 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost) {
  background-color: #570B73; }

#section_4 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):hover {
  background-color: #4a0962; }

#section_4 .button.hollow {
  border-color: #570B73;
  color: #570B73; }

#section_4 .button.outlined {
  border-color: #570B73;
  border-width: 3px;
  color: #570B73; }

/*#section_4 .warning:before { background-color: #A71AE4; }*/
#section_4 .section_title span {
  color: #300C5E; }

#section_4 .section_title span svg {
  width: 26px; }

#section_4 .section_title span .tick_fill {
  fill: #300C5E; }

#section_4 .callout_a .circle-number,
#section_4 .callout_b .circle-number,
#section_4 .callout_c .circle-number {
  background-color: rgba(167, 26, 228, 0.8); }

#section_4 .callout.completed .circle-number {
  background-color: #fff;
  color: #A71AE4; }

#section_4 h2, #section_4 h3, #section_4 a h2, #section_4 a h3 {
  color: #300C5E; }

#section_4 .transparent > p {
  color: #CDBEFF;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

#section_4 .callout.completed {
  background-color: #CC5DFF; }

#section_4 .callout.completed h3, #section_4 .callout.completed p {
  color: #fff; }

#section_4 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23300C5E%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl#section_4 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23300C5E%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

#section_4 .callout ul li:after, #section_4 ul.keylist li:after, #section_4 .orbit-slide figcaption ul li:after {
  background-color: #9629ad; }

#section_4 .orbit-slide h4 {
  color: #300C5E; }

#section_4 .orbit-controls button {
  background-color: #CC5DFF; }

#section_4 .orbit-controls button:hover {
  background-color: #b106ff; }

#section_4 .orbit-controls button.disabled {
  background-color: rgba(204, 93, 255, 0.2); }

#section_4 label, .accordion-item.section_4 label {
  color: #570B73;
  margin-bottom: 1rem;
  line-height: 1.5;
  text-align: left; }

#section_4 form td label {
  text-align: left; }

.rtl#section_4 label, .accordion-item.section_4 label {
  text-align: right; }

.rtl#section_4 form td label {
  text-align: right; }

#section_4 form td.text-center label {
  text-align: center; }

#section_4 form td.text-center input {
  text-align: center; }

#section_4 form td.x3col {
  width: 33%; }

#section_4 form td.x2col {
  width: 50%; }

#section_4 form tr.noborder {
  border-bottom: none; }

#section_4 img.icon {
  max-width: 250px; }

#section_4 td label, #section_4 th label, #section_4 td input, .accordion-item.section_4 td label, .accordion-item.section_4 th label, .accordion-item.section_4 td input {
  margin-bottom: 0; }

#overheads-tables-tabs li {
  width: 50%; }

#overheads-tables-tabs li:nth-child(1) a {
  margin-right: 2px; }

#overheads-tables-tabs li:nth-child(2) a {
  margin-left: 2px; }

.rtl #overheads-tables-tabs li:nth-child(1) a {
  margin-right: auto;
  margin-left: 2px; }

.rtl #overheads-tables-tabs li:nth-child(2) a {
  margin-left: auto;
  margin-right: 2px; }

#overheads-tables-tabs .tabs-title > a {
  color: #666;
  font-weight: 700;
  font-size: 1.125rem;
  position: relative; }

#overheads-tables-tabs .tabs-title > a {
  color: #666;
  font-weight: 700;
  font-size: 1.125rem;
  position: relative; }

#overheads-tables-tabs .tabs-title > a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0%;
  height: 6px;
  border-radius: 10px;
  background-color: #A71AE4;
  opacity: 0;
  -webkit-transition: width 0.5s, opacity 0.5s;
  transition: width 0.5s, opacity 0.5s; }

.rtl #overheads-tables-tabs .tabs-title > a:after {
  left: auto;
  right: 50%;
  -webkit-transform: translateX(50%);
          transform: translateX(50%); }

#overheads-tables-tabs .tabs-title > a:hover:after {
  opacity: 1;
  width: 80%; }

#overheads-tables-tabs .tabs-title > a[aria-selected='true'] {
  background-color: transparent;
  color: #570B73; }

#overheads-tables-tabs .tabs-title > a[aria-selected='true']:after {
  opacity: 1;
  width: 80%; }

#overheads-tables-tabs .tabs-title > a:focus, #overheads-tables-tabs .tabs-title > a:hover {
  background-color: transparent; }

#section_4 .plus_char, #section_4 .percent_char {
  font-weight: 700;
  font-size: 1.875rem; }

.daily_overhead_rate {
  font-weight: 700;
  margin-top: 0.3125rem; }

.annual_business_overheads_total {
  font-weight: 700;
  font-size: 1.125rem; }

.annual_salary_total {
  font-weight: 700;
  font-size: 1.125rem; }

.monthly_costs_total, .monthly_costs_total_currency {
  font-weight: 700;
  font-size: 1.125rem; }

.weekly_costs_total, .weekly_costs_total_currency {
  font-weight: 700;
  font-size: 1.125rem; }

.daily_costs_total, .daily_costs_total_currency {
  font-weight: 700;
  font-size: 1.125rem; }

.annual_business_overheads_costs_total {
  font-weight: 700;
  font-size: 1.125rem; }

.cost_of_product_or_service {
  font-weight: 700;
  margin-top: 0.3125rem; }

.selling_price_of_product_service {
  font-weight: 700; }

.retail_price_of_product_service {
  font-weight: 700; }

.sliders {
  position: relative;
  margin-top: 0;
  margin-bottom: 0; }

#s4_a_product_value_add_modal .sliders {
  height: 9rem; }

/*.sliders .vertical_line {
    position: absolute;
    background-color: #999;
    border-radius: 100px;
    left: 50%;
    //transform: translateX(-50%);
    top: 0;
    bottom: 0;
    width: 2px;
    z-index: 0;
}*/
.slider:before {
  content: '\00a0';
  position: absolute;
  top: 50%;
  left: -7px;
  width: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("../img/left-caret-grey.svg");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0; }

.slider:after {
  content: '\00a0';
  position: absolute;
  top: 50%;
  right: -7px;
  width: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url("../img/right-caret-grey.svg");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0; }

.slider {
  height: 0.25rem;
  margin-bottom: 1.25rem; }

.slider_wrapper {
  height: 5.625rem;
  padding-bottom: 0;
  display: none;
  position: relative; }

.price_point_slider {
  margin-top: 1.25rem;
  margin-bottom: 0;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative; }

#s4_a_product_value_add_modal .price_point_slider {
  display: block; }

.product_value_slider_input {
  display: none; }

.price_point_slider h4 {
  color: #570B73;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  margin-bottom: 0; }

.price_point_slider h4 a {
  display: block; }

.price_point_slider h4 a:hover {
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.1); }

.price_point_slider h5 {
  margin-bottom: 0;
  color: #570B73;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.25rem;
  line-height: 1;
  text-align: center; }

.price_point_slider h5.left {
  left: 0; }

.rtl .price_point_slider h5.left {
  left: auto;
  right: 0; }

.price_point_slider h5.left span {
  display: inline-block;
  white-space: nowrap;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: rotate(270deg) translateX(-100%);
          transform: rotate(270deg) translateX(-100%);
  position: absolute;
  top: 0;
  width: 28.125rem; }

.rtl .price_point_slider h5.left span {
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: rotate(90deg) translateX(100%);
          transform: rotate(90deg) translateX(100%); }

.price_point_slider h5.right {
  right: 0; }

.rtl .price_point_slider h5.right {
  right: auto;
  left: 0; }

.price_point_slider h5.right span {
  display: inline-block;
  white-space: nowrap;
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: rotate(90deg) translateX(0);
          transform: rotate(90deg) translateX(0);
  position: absolute;
  top: 0;
  width: 28.125rem; }

.rtl .price_point_slider h5.right span {
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: rotate(270deg) translateX(0);
          transform: rotate(270deg) translateX(0); }

.price_point_slider .slider.vertical {
  background-color: transparent;
  border-radius: 100px;
  width: 2px;
  height: 14rem;
  margin: 0;
  z-index: 1;
  pointer-events: none; }

.price_point_slider .slider.vertical:hover {
  cursor: default; }

.price_point_slider .slider-fill {
  background-color: transparent;
  display: none; }

#s4_a_product_value_add_modal .price_point_slider .slider.vertical {
  height: 9rem; }

.price_point_slider .slider .slider-handle {
  border-radius: 62.4375rem;
  border: 2px solid #999;
  background-color: #fff;
  background-image: url("../img/left-right-carets.svg");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 1rem;
  width: 2rem;
  height: 2rem;
  pointer-events: auto;
  -webkit-transition: none;
  transition: none; }

.price_point_slider .slider .slider-handle.is-dragging {
  background-color: #eee; }

.price_point_slider .slider .slider-handle:hover {
  cursor: pointer; }

.price_point_slider .slider-label {
  display: block;
  position: absolute;
  top: 0;
  left: 40px;
  width: 260px;
  height: 40px;
  line-height: 40px;
  text-align: left;
  font-weight: 700;
  border-radius: 4px;
  border: 2px solid #bbb;
  background-color: #bbb;
  -webkit-transform: scale(1, -1) translateY(5px);
          transform: scale(1, -1) translateY(5px);
  -webkit-box-shadow: -2px 1px 15px rgba(10, 10, 10, 0.3);
          box-shadow: -2px 1px 15px rgba(10, 10, 10, 0.3); }

.price_point_slider .slider-label .slider-label-text {
  display: block;
  margin: 0;
  width: 100%;
  height: 36px;
  line-height: 36px;
  font-weight: 700;
  color: #666;
  border-radius: 4px;
  background-color: #fff;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.price_point_slider .slider-label .delete_product_value_entry {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) translateX(50%);
          transform: translateY(-50%) translateX(50%);
  font-size: 0.875rem;
  text-align: center;
  line-height: 20px;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background: #ddd;
  color: #fff;
  display: none; }

.product_price_point_slider_step_a .price_point_slider .slider-label .delete_product_value_entry {
  display: block; }

.price_point_slider .slider-label .delete_product_value_entry:hover {
  background: red; }

.price_point_slider .slider-label:before {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(238, 238, 238, 0);
  border-right-color: #bbb;
  border-width: 10px;
  margin-top: -10px; }

.slider-static .slider-static-handle {
  border-radius: 62.4375rem;
  border: 2px solid #A71AE4;
  background-color: #A71AE4;
  background-repeat: no-repeat;
  background-position: 50% 42%;
  background-size: 10px;
  width: 32px;
  height: 32px;
  z-index: 2;
  pointer-events: auto;
  -webkit-transition: none;
  transition: none;
  position: absolute;
  top: 0;
  left: 50%;
  margin-top: -16px;
  -webkit-transform: translateX(-15px);
          transform: translateX(-15px);
  display: block; }

.slider-static .slider-static-label {
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 40px;
  width: 260px;
  height: 40px;
  line-height: 40px;
  text-align: left;
  font-weight: 700;
  border-radius: 4px;
  border: 2px solid #bbb;
  background-color: #bbb;
  -webkit-box-shadow: -2px 1px 15px rgba(10, 10, 10, 0.3);
          box-shadow: -2px 1px 15px rgba(10, 10, 10, 0.3); }

.slider-static .slider-static-label:before {
  right: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(238, 238, 238, 0);
  border-right-color: #bbb;
  border-width: 10px;
  margin-top: -10px; }

.slider-static .slider-static-label-text {
  display: block;
  margin: 0;
  width: 100%;
  height: 36px;
  line-height: 36px;
  font-weight: 700;
  color: #666;
  border-radius: 4px;
  background-color: #fff;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

#s4_a_product_value_add_modal h3 .add {
  display: block; }

#s4_a_product_value_add_modal h3 .edit {
  display: none; }

.step_indicator.horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: auto;
  position: relative;
  max-width: 70%; }

.step_indicator.horizontal.centered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.step_indicator.horizontal:after {
  content: '';
  border-top: 2px solid #A71AE4;
  position: absolute;
  top: 50%;
  left: 3px;
  right: 3px;
  height: 1px;
  z-index: 0; }

.step_indicator.horizontal.noline:after {
  content: '';
  border-top: 0px solid transparent; }

.step_indicator.horizontal li {
  border-radius: 100px;
  border: 2px solid #FCB2FF;
  height: 2.25rem;
  width: 2.25rem;
  text-align: center;
  line-height: 2rem;
  font-size: 1.25rem;
  font-weight: 700;
  background-color: #FCB2FF;
  color: #fff;
  z-index: 1; }

.step_indicator.horizontal.single li {
  height: 3rem;
  width: 3rem;
  line-height: 2.75rem;
  font-size: 1.625rem; }

.step_indicator.horizontal li.active {
  background-color: #A71AE4;
  border-color: #A71AE4;
  color: #fff; }

.step_indicator.vertical {
  margin-left: 1.25rem; }

.rtl .step_indicator.vertical {
  margin-left: 0;
  margin-right: 1.25rem; }

.step_indicator.vertical:after {
  content: '';
  border-left: 2px solid #A71AE4;
  position: absolute;
  top: 20px;
  bottom: 30px;
  left: 17px;
  right: auto;
  z-index: 0; }

.rtl .step_indicator.vertical:after {
  border-left: none;
  border-right: 2px solid #A71AE4;
  right: 17px;
  left: auto; }

.step_indicator.vertical li {
  margin-bottom: 1.875rem;
  padding-left: 2.8125rem;
  z-index: 1; }

.rtl .step_indicator.vertical li {
  padding-right: 2.8125rem;
  padding-left: 0; }

.step_indicator.vertical li span {
  display: inline-block;
  border-radius: 100px;
  border: 2px solid #A71AE4;
  height: 2.25rem;
  width: 2.25rem;
  text-align: center;
  line-height: 2rem;
  font-size: 1.25rem;
  font-weight: 700;
  background-color: #A71AE4;
  color: #fff;
  z-index: 1;
  margin-right: 0.5rem;
  margin-left: -45px; }

.rtl .step_indicator.vertical li span {
  margin-left: 0.5rem;
  margin-right: -45px; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #section_4 {
    background: url("../img/04-bg-right.svg") top 0 right -500px no-repeat, url("../img/04-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #300C5E;
    background-size: 1000px auto; }
  .step_indicator.horizontal {
    max-width: 90%; } }

/* 0 - 374px - Tiny Only */
@media only screen and (max-width: 23.375em) {
  .slider {
    left: auto;
    -webkit-transform: none;
            transform: none; } }

.profit_loss_table th, .profit_loss_table td {
  text-align: center; }

#s4_b_table_monthly_income td, #s4_b_table_monthly_materials_production td {
  width: 50%; }

#s4_b_table_monthly_overheads .month_column {
  min-width: 30%;
  border-left: 1px solid #ddd; }

/*
 * TABLE STEP MONTH
 */
.table-step-month-controls .month-previous, .table-step-month-controls .month-next {
  position: inherit;
  top: auto;
  left: auto;
  right: auto;
  -webkit-transform: none;
          transform: none;
  background-color: #A71AE4;
  background-position: center;
  background-size: 25px;
  background-repeat: no-repeat;
  width: 5.3125rem;
  height: 3.125rem;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s; }

.table-step-month-controls button.disabled {
  background-color: rgba(167, 26, 228, 0.2); }

.table-step-month-controls button:not(.disabled):hover {
  cursor: pointer;
  background-color: #570B73; }

#s4_b_table_monthly_overheads th {
  color: #570B73; }

#s4_b_table_monthly_overheads td.pulse, #s4_b_table_monthly_overheads th.pulse {
  -webkit-animation: pulse 0.5s ease-in-out 1;
          animation: pulse 0.5s ease-in-out 1; }

@-webkit-keyframes pulse {
  0% {
    background-color: #CDBEFF; }
  100% {
    background-color: transparent; } }

@keyframes pulse {
  0% {
    background-color: #CDBEFF; }
  100% {
    background-color: transparent; } }

.table-step-month-controls button.disabled:hover {
  cursor: not-allowed; }

.table-step-month-controls .month-previous {
  border-radius: 100px 0 0 100px;
  background-image: url("../img/left-arrow.svg"); }

.rtl .table-step-month-controls .month-previous {
  border-radius: 0 100px 100px 0;
  background-image: url("../img/right-arrow.svg"); }

.table-step-month-controls .month-next {
  border-radius: 0 100px 100px 0;
  background-image: url("../img/right-arrow.svg"); }

.rtl .table-step-month-controls .month-next {
  border-radius: 100px 0 0 100px;
  background-image: url("../img/left-arrow.svg"); }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #s4_b_table_monthly_overheads .month_column {
    min-width: 48%; } }

/* 
 * SECTION 5
 */
#section_5 {
  background: url("../img/05-bg-right.svg") top 0 right 0 no-repeat, url("../img/05-bg-left.svg") top 0 left 0 no-repeat;
  background-color: #541F3F;
  background-size: 600px auto; }

#section_5 .reveal.full {
  background-color: #541F3F;
  color: #fff; }

#section_5 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):not(.lozenge_item) {
  background-color: #BA1578; }

#section_5 .button:not(.hollow):not(.clear):not(.white):not(.income):not(.cost):not(.lozenge_item):hover {
  background-color: #9e1266; }

#section_5 .button.hollow {
  border-color: #541F3F;
  color: #541F3F; }

#section_5 .button.outlined {
  border-color: #541F3F;
  border-width: 3px;
  color: #541F3F; }

/*#section_5 .warning:before { background-color: #A71AE4; }*/
#section_5 .section_title span {
  color: #541F3F; }

#section_5 .section_title span svg {
  width: 26px; }

#section_5 .section_title span .tick_fill {
  fill: #541F3F; }

#section_5 .callout_a .circle-number,
#section_5 .callout_b .circle-number,
#section_5 .callout_c .circle-number {
  background-color: rgba(186, 21, 120, 0.8); }

#section_5 .callout.completed .circle-number {
  background-color: #fff;
  color: #EA578F; }

#section_5 h2, #section_5 h3, #section_5 a h2, #section_5 a h3 {
  color: #541F3F; }

#section_5 h4 {
  color: #BA1578; }

#section_5 .transparent > p {
  color: #fff;
  text-shadow: 0px 7px 6px rgba(0, 0, 0, 0.4); }

#section_5 .callout.completed {
  background-color: #EA578F; }

#section_5 .callout.completed h3, #section_5 .callout.completed p {
  color: #fff; }

#section_5 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23541F3F%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl#section_5 .callout.completed:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23541F3F%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

#section_5 .callout ul li:after, #section_5 ul.keylist li:after, #section_5 .orbit-slide figcaption ul li:after {
  background-color: #ba1578; }

#section_5 .orbit-slide h4 {
  color: #541F3F; }

#section_5 .orbit-controls button {
  background-color: #FF8DB9; }

#section_5 .orbit-controls button:hover {
  background-color: #ff2a7c; }

#section_5 .orbit-controls button.disabled {
  background-color: rgba(255, 141, 185, 0.2); }

#section_5 label, .accordion-item.section_5 label {
  color: #541F3F;
  margin-bottom: 1rem;
  line-height: 1.5;
  text-align: left; }

#section_5.rtl label, .accordion-item.section_5 label {
  text-align: right; }

#section_5 form td label {
  text-align: left; }

#section_5.rtl form td label {
  text-align: right; }

#section_5 form td.text-center label {
  text-align: center; }

#section_5 form td.text-center input {
  text-align: center; }

#section_5 form td.x3col {
  width: 33%; }

#section_5 form td.x2col {
  width: 50%; }

#section_5 form tr.noborder {
  border-bottom: none; }

#section_5 img.icon {
  max-width: 250px; }

#section_5 td label, #section_5 th label, #section_5 td input, .accordion-item.section_5 td label, .accordion-item.section_5 th label, .accordion-item.section_5 td input {
  margin-bottom: 0; }

#section_5 .product-flow .columns {
  position: relative; }

#section_5 .product-flow .columns:not(:last-child):after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateX(50%) translateY(-150%);
          transform: translateX(50%) translateY(-150%);
  width: 25px;
  height: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23FFC2E1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17%200l-1.4%201.4L21.2%207H0v2h21.2l-5.6%205.6L17%2016l8-8-8-8z%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-size: auto;
  background-repeat: no-repeat; }

#section_5.rtl .product-flow .columns:not(:last-child):after {
  right: auto;
  left: 0;
  -webkit-transform: translateX(-50%) translateY(-150%);
          transform: translateX(-50%) translateY(-150%);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23FFC2E1%22%20fill-rule%3D%22evenodd%22%20d%3D%22M8%2016l1.4-1.4L3.8%209H25V7H3.8l5.6-5.6L8%200%200%208l8%208z%22%2F%3E%3C%2Fsvg%3E"); }

#section_5 .product-flow p {
  margin-top: 0.5rem; }

#section_5 .product-flow.extra-padding .columns img {
  margin-left: 0.625rem;
  margin-right: 0.625rem; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #section_5 .product-flow .columns .icon {
    margin: 10px; }
  #section_5 .product-flow .columns.left-down-arrow-small:after {
    left: 0;
    bottom: 0;
    right: auto;
    top: auto;
    -webkit-transform: translateX(-25%) translateY(-50%);
            transform: translateX(-25%) translateY(-50%);
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018.38%2018.38%22%3E%3Cpath%20fill%3D%22%23FFC2E1%22%20d%3D%22M11.31%2C18.38v-2H3.39l15-15L17%2C0%2C2%2C15V7.07H0V18.38Z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E"); }
  #section_5.rtl .product-flow .columns.left-down-arrow-small:after {
    left: auto;
    right: 0;
    -webkit-transform: translateX(25%) translateY(-50%);
            transform: translateX(25%) translateY(-50%);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018.38%2018.38%22%3E%3Cpath%20fill%3D%22%23FFC2E1%22%20d%3D%22M18.38%2C7.07h-2V15L1.41%2C0%2C0%2C1.41l15%2C15H7.07v2H18.38Z%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E"); } }

#section_5 section article > .columns.tinted {
  background-color: rgba(0, 0, 0, 0.2); }

#section_5 section article > .columns.no-overflow {
  overflow-x: hidden; }

/*
 * SUSTAINABILITY SLIDER
 */
.sustainability-slider figure {
  -webkit-box-shadow: none;
          box-shadow: none;
  position: relative;
  padding: 0; }

.sustainability-slider figcaption {
  padding-left: 10%;
  padding-right: 10%; }

.sustainability-slider figure div {
  position: absolute;
  top: 20px;
  right: 20px;
  bottom: 48%;
  left: 20px;
  padding-top: 1.875rem; }

.sustainability-slider figure h4 {
  color: #333;
  margin-top: 0;
  margin-bottom: 0.5rem; }

.sustainability-slider .orbit-slide img, .sustainability-slider .orbit-slide.is-active img {
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent; }

.sustainability-slider .orbit-slide img.inset_image, .sustainability-slider .orbit-slide.is-active img.inset_image {
  position: absolute;
  bottom: -19%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 70%; }

/* 0 - 449px Only */
@media only screen and (min-width: 0) and (max-width: 449px) {
  .sustainability-slider-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  .sustainability-slider figcaption {
    font-size: 1rem; } }

/* 450px - 570px Only */
@media only screen and (min-width: 450px) and (max-width: 570px) {
  .sustainability-slider-column {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    max-width: 80%; }
  .sustainability-slider figcaption {
    font-size: 1.1rem; } }

/*
 * SUSTAINABILITY BADGES
 */
.sustainability-badges-container .sustainability-badge {
  position: relative;
  min-height: 150px;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem; }
  .sustainability-badges-container .sustainability-badge .image {
    display: none;
    position: relative;
    z-index: 1;
    margin-top: -10%;
    margin-left: 10%;
    margin-right: 10%;
    border-radius: 999px;
    border: 2px solid #FF8DB9;
    padding-top: calc(80% - 4px);
    height: 0;
    background-color: #fff; }
    .sustainability-badges-container .sustainability-badge .image img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
              transform: translateX(-50%) translateY(-50%);
      z-index: 1;
      width: 100%; }
  .sustainability-badges-container .sustainability-badge p {
    display: none;
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #541F3F;
    position: relative;
    z-index: 1;
    margin-top: 5px;
    padding-left: 6px;
    padding-right: 6px;
    margin-bottom: 0; }

.sustainability-badges-container .sustainability-badge:before {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: 10px;
  left: 10px;
  border: 1px solid #E6E6E6;
  border-radius: 4px; }

.sustainability-badges-container .sustainability-badge.active .image {
  display: block; }

.sustainability-badges-container .sustainability-badge.active p {
  display: block; }

.sustainability-badges-container .sustainability-badge.active:before {
  background-color: #FFC2E1;
  border-color: #FFC2E1;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); }

.lang-ms_my .sustainability-badges-container .sustainability-badge p {
  font-size: 0.75rem; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  .sustainability-badges-container:not(.sustainability-label-badges-container) .sustainability-badge {
    margin-bottom: 1.2rem; }
  .sustainability-badges-container:not(.sustainability-label-badges-container) .sustainability-badge.columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    min-width: 50%; } }

/* 740px - 1023px - Medium Only */
@media only screen and (min-width: 46.25em) and (max-width: 63.938em) {
  .sustainability-badges-container .sustainability-badge p {
    font-size: 0.6875rem; }
  .lang-ms_my .sustainability-badges-container .sustainability-badge p {
    font-size: 0.625rem; } }

/*
 * SUSTAINABILITY LABEL
 */
#sustainability_label {
  background-image: url("../img/sustainability_label_bg_lower.svg"), url("../img/sustainability_label_bg_upper.svg");
  background-repeat: no-repeat, no-repeat;
  background-position: bottom left, top left;
  background-size: 100%, 100%;
  min-height: 600px;
  position: relative;
  padding-top: 32%; }
  #sustainability_label .sustainability-label-content {
    position: relative;
    z-index: 3; }
  #sustainability_label .sustainability-purpose-statement {
    border-radius: 10px;
    background-color: #ffc2e1;
    text-align: center;
    padding: 1.25rem;
    min-height: 130px;
    margin-bottom: 1.5rem; }
    #sustainability_label .sustainability-purpose-statement h4 {
      margin-bottom: 0; }
  #sustainability_label .sustainability-badge {
    margin-bottom: 0.3rem;
    min-height: 200px; }
    #sustainability_label .sustainability-badge .image {
      margin-top: 1.75rem;
      margin-left: 20%;
      margin-right: 20%;
      padding-top: calc(60% - 4px); }
  #sustainability_label .sustainability-badge:before {
    border-radius: 10px; }
  #sustainability_label .sustainability-label-badges-container {
    position: relative; }
    #sustainability_label .sustainability-label-badges-container .purpose-statement-badges {
      position: relative;
      z-index: 2; }
    #sustainability_label .sustainability-label-badges-container .previous-exercise-badges {
      position: relative;
      z-index: 1; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #sustainability_label .sustainability-badge {
    min-height: 150px; } }

#sustainability_label .sustainability_small_modal, .sustainability-map-container .sustainability_small_modal {
  position: absolute;
  top: 8%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 10;
  width: 100%;
  max-width: 330px;
  border-radius: 20px;
  padding: 1.75rem 0.625rem 0.875rem 0.625rem;
  height: auto !important;
  min-height: auto !important;
  bottom: auto !important;
  right: auto !important;
  background-color: #fff;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); }
  #sustainability_label .sustainability_small_modal h4, .sustainability-map-container .sustainability_small_modal h4 {
    font-size: 1.0625rem;
    color: #2e3844;
    margin-bottom: 0.3125rem; }
  #sustainability_label .sustainability_small_modal p, .sustainability-map-container .sustainability_small_modal p {
    color: #2e3844;
    margin-bottom: 0; }
  #sustainability_label .sustainability_small_modal .button, .sustainability-map-container .sustainability_small_modal .button {
    margin-bottom: 0; }

.sustainability-map-container {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .sustainability-map-container .sustainability_small_modal {
    left: -6%;
    -webkit-transform: none;
            transform: none; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_1 {
    top: 4%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_2 {
    top: 4%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_3 {
    top: 7%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_4 {
    top: 20%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_5 {
    top: 42%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_6 {
    top: 60%; }
  .sustainability-map-container .no-overflow {
    overflow-x: hidden;
    overflow-y: hidden; }
  .sustainability-map-container .scroll-strip {
    width: 32px;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 1; }
  .sustainability-map-container .scroll-strip--left {
    left: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)); }
  .sustainability-map-container .scroll-strip--right {
    right: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.2)));
    background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)); }

#business_plan .sustainability-map-container {
  background-color: #541F3F; }

#section_5.rtl .sustainability-map-container .sustainability_small_modal {
  left: auto;
  right: -6% !important; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_2 {
    top: 10%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_3 {
    top: 22%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_4 {
    top: 47%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_5 {
    top: 65%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_6 {
    top: 81%; } }

/* 0 - 739px Only small- */
@media only screen and (min-width: 0) and (max-width: 46.188em) {
  .sustainability-map-container .sustainability_small_modal {
    left: 4%; }
  .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_1 {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.875rem; }
  .sustainability-map-container .scroll-strip--left {
    background: #fff; }
  .sustainability-map-container .scroll-strip--right {
    background: #fff; }
  #section_5.rtl .sustainability-map-container .sustainability_small_modal {
    left: auto;
    right: 4% !important; }
  #section_5.rtl .sustainability-map-container .sustainability_small_modal#sustainability_map_modal_1 {
    left: auto !important;
    right: auto !important; } }

/* Sustainability Map */
#section_5 .sustainability-map, #business_plan .sustainability-map {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-touch-action: none;
      touch-action: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative;
  overflow: visible; }
  #section_5 .sustainability-map .sustainability-map--main-segment > *, #business_plan .sustainability-map .sustainability-map--main-segment > * {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none; }
  #section_5 .sustainability-map .sustainability-map--main-segment, #business_plan .sustainability-map .sustainability-map--main-segment {
    pointer-events: none;
    margin-left: 1.875rem;
    margin-right: 1.875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none; }
    #section_5 .sustainability-map .sustainability-map--main-segment h4, #business_plan .sustainability-map .sustainability-map--main-segment h4 {
      position: relative;
      color: #fff;
      font-size: 1.5rem;
      margin-bottom: 36px;
      padding-bottom: 20px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    #section_5 .sustainability-map .sustainability-map--main-segment h4:after, #business_plan .sustainability-map .sustainability-map--main-segment h4:after {
      content: '';
      position: absolute;
      left: 50%;
      bottom: 0;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 50%;
      height: 2px;
      border-bottom: 1px solid #fff;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
    #section_5 .sustainability-map .sustainability-map--main-segment h4.wider-line:after, #business_plan .sustainability-map .sustainability-map--main-segment h4.wider-line:after {
      width: 66.7%;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
    #section_5 .sustainability-map .sustainability-map--main-segment ul, #business_plan .sustainability-map .sustainability-map--main-segment ul {
      list-style: none;
      margin-left: 0;
      margin-right: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
      #section_5 .sustainability-map .sustainability-map--main-segment ul li, #business_plan .sustainability-map .sustainability-map--main-segment ul li {
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none; }
        #section_5 .sustainability-map .sustainability-map--main-segment ul li h5, #business_plan .sustainability-map .sustainability-map--main-segment ul li h5 {
          position: relative;
          background-color: #541F3F;
          color: #fff;
          border-radius: 10px;
          font-size: 1rem;
          padding: 0.5rem;
          border: 3px solid #fff;
          display: inline-block;
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 1.875rem;
          max-width: 220px;
          min-height: 66px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
                  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        #section_5 .sustainability-map .sustainability-map--main-segment ul li h5:after, #business_plan .sustainability-map .sustainability-map--main-segment ul li h5:after {
          content: '';
          position: absolute;
          left: 50%;
          top: -40px;
          width: 1px;
          height: 40px;
          border-left: 1px solid #fff;
          z-index: -1;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none; }
        #section_5 .sustainability-map .sustainability-map--main-segment ul li h6, #business_plan .sustainability-map .sustainability-map--main-segment ul li h6 {
          color: #fff;
          font-size: 1rem;
          margin-bottom: 0.3125rem;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        #section_5 .sustainability-map .sustainability-map--main-segment ul li p, #business_plan .sustainability-map .sustainability-map--main-segment ul li p {
          font-size: 0.875rem;
          margin-bottom: 0;
          line-height: 1.6;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden;
          color: #fff; }
        #section_5 .sustainability-map .sustainability-map--main-segment ul li ul, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul {
          width: 280px;
          display: block;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none; }
          #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li {
            position: relative;
            background-color: #541F3F;
            border-radius: 10px;
            padding: 1.375rem;
            margin-bottom: 1.875rem;
            margin-left: 0;
            margin-right: 0;
            text-align: left;
            border: 3px solid #fff;
            -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
                    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none; }
          #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li:after, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li:after {
            content: '';
            position: absolute;
            left: 50%;
            top: -36px;
            width: 1px;
            height: 36px;
            border-left: 1px solid #fff;
            z-index: -1;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none; }
          #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li.item-description, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li.item-description {
            background-color: #fff; }
            #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li.item-description h6, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li.item-description h6 {
              color: #BA1578;
              -webkit-user-select: none;
                 -moz-user-select: none;
                  -ms-user-select: none;
                      user-select: none; }
            #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li.item-description p, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li.item-description p {
              color: #666;
              -webkit-user-select: none;
                 -moz-user-select: none;
                  -ms-user-select: none;
                      user-select: none; }
          #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li.positive-impact, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li.positive-impact {
            border-color: #B5E99F;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none; }
          #section_5 .sustainability-map .sustainability-map--main-segment ul li ul li.challenges-faced, #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li.challenges-faced {
            border-color: #DC27BE;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
            margin-bottom: 0; }

#section_5.rtl .sustainability-map .sustainability-map--main-segment ul li ul li, #business_plan.rtl .sustainability-map .sustainability-map--main-segment ul li ul li {
  text-align: right; }

#section_5 .sustainability-map:not(.disabled):hover,
#business_plan .sustainability-map:not(.disabled):hover {
  cursor: -webkit-grab;
  cursor: grab; }

#section_5 .sustainability-map:not(.disabled).dragging,
#section_5 .sustainability-map.dragging:not(.disabled):hover,
#business_plan .sustainability-map:not(.disabled).dragging,
#business_plan .sustainability-map.dragging:not(.disabled):hover {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

#section_5 .sustainability-map#sustainability_map_static,
#section_5 .sustainability-map#sustainability_map_generated,
#business_plan .sustainability-map#sustainability_map_static,
#business_plan .sustainability-map#sustainability_map_generated {
  width: 3200px; }

#section_5 .zoom-controls-container, #business_plan .zoom-controls-container {
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
  height: 72px;
  background-color: #fff;
  border-radius: 999px;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  z-index: 2;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }
  #section_5 .zoom-controls-container p, #business_plan .zoom-controls-container p {
    margin-bottom: 0;
    line-height: 28px;
    height: 28px;
    font-size: 1rem;
    white-space: nowrap;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }

#section_5 .zoom-controls.slider:before,
#section_5 .zoom-controls.slider:after,
#business_plan .zoom-controls.slider:before,
#business_plan .zoom-controls.slider:after {
  content: none;
  display: none; }

#section_5 .zoom-controls.slider,
#business_plan .zoom-controls.slider {
  background-color: rgba(255, 141, 185, 0.3);
  border-radius: 999px;
  height: 28px;
  margin-top: 0;
  margin-bottom: 0; }
  #section_5 .zoom-controls.slider .slider-handle,
  #business_plan .zoom-controls.slider .slider-handle {
    border-radius: 999px;
    background-color: #BA1578;
    width: 28px;
    height: 28px;
    pointer-events: all; }
  #section_5 .zoom-controls.slider .slider-fill,
  #business_plan .zoom-controls.slider .slider-fill {
    display: none;
    background-color: transparent; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #section_5 .zoom-controls-container, #business_plan .zoom-controls-container {
    max-width: 300px; }
    #section_5 .zoom-controls-container p, #business_plan .zoom-controls-container p {
      font-size: 0.8125rem; } }

#section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li h5,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li h5 {
  opacity: 0.1; }

#section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.item-description, #section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.positive-impact, #section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.challenges-faced,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.item-description,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.positive-impact,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.challenges-faced {
  opacity: 0.1; }

#section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.item-description:after, #section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.positive-impact:after, #section_5 .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.challenges-faced:after,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.item-description:after,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.positive-impact:after,
#business_plan .sustainability-map.step-2 .sustainability-map--main-segment ul li ul li.challenges-faced:after {
  opacity: 0.5; }

#section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.item-description, #section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.positive-impact, #section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.challenges-faced,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.item-description,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.positive-impact,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.challenges-faced {
  opacity: 0.1; }

#section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.item-description:after, #section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.positive-impact:after, #section_5 .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.challenges-faced:after,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.item-description:after,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.positive-impact:after,
#business_plan .sustainability-map.step-3 .sustainability-map--main-segment ul li ul li.challenges-faced:after {
  opacity: 0.5; }

#section_5 .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.positive-impact, #section_5 .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.challenges-faced,
#business_plan .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.positive-impact,
#business_plan .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.challenges-faced {
  opacity: 0.1; }

#section_5 .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.positive-impact:after, #section_5 .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.challenges-faced:after,
#business_plan .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.positive-impact:after,
#business_plan .sustainability-map.step-4 .sustainability-map--main-segment ul li ul li.challenges-faced:after {
  opacity: 0.5; }

#section_5 .sustainability-map.step-5 .sustainability-map--main-segment ul li ul li.challenges-faced,
#business_plan .sustainability-map.step-5 .sustainability-map--main-segment ul li ul li.challenges-faced {
  opacity: 0.1; }

#section_5 .sustainability-map.step-5 .sustainability-map--main-segment ul li ul li.challenges-faced:after,
#business_plan .sustainability-map.step-5 .sustainability-map--main-segment ul li ul li.challenges-faced:after {
  opacity: 0.5; }

#section_5 .sustainability-map.offset-left,
#business_plan .sustainability-map.offset-left {
  margin-left: 20%; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #section_5 .sustainability-map.offset-left,
  #business_plan .sustainability-map.offset-left {
    margin-left: -1.875rem; } }

#section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment,
#business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment {
  margin-left: auto;
  margin-right: auto; }
  #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment h4:after,
  #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment h4:after {
    display: none;
    content: none;
    border-bottom: none; }
  #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li,
  #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li {
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li h5,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li h5 {
      background-color: #541F3F;
      color: #fff;
      text-align: center;
      border-color: #B03E96; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li h6,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li h6 {
      color: #fff;
      margin-bottom: 0;
      text-align: center; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li {
      background-color: #541F3F;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.item-description,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.item-description {
      background-color: #541F3F;
      border-color: #B03E96;
      min-height: 150px; }
      #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.item-description h6,
      #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.item-description h6 {
        color: #fff; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.positive-impact,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.positive-impact {
      border-color: #B03E96;
      min-height: 110px; }
    #section_5 .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.challenges-faced,
    #business_plan .sustainability-map#sustainability_map_single_tree .sustainability-map--main-segment ul li ul li.challenges-faced {
      border-color: #B03E96;
      min-height: 110px; }

/*
 * CIRCULAR ECONOMY
 */
#section_5 ul.circular-economy {
  margin-left: 0;
  list-style: none;
  position: relative;
  margin-top: 4.375rem; }

#section_5 ul.circular-economy li:not(.background) {
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: auto;
  background-color: rgba(255, 255, 255, 0.5);
  color: #333;
  font-weight: 600;
  border-radius: 5px;
  text-align: left;
  padding: 3px; }

#section_5.rtl ul.circular-economy li:not(.background) {
  text-align: right; }

#section_5 ul.circular-economy li.background {
  width: 100%;
  height: auto; }

#section_5 ul.circular-economy li.one {
  top: 2%;
  left: 56%;
  width: 206px;
  height: auto;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); }

#section_5 ul.circular-economy li.two {
  top: 19%;
  left: 85%;
  width: 136px;
  height: auto; }

#section_5 ul.circular-economy li.three {
  top: 55%;
  left: 102%;
  width: 186px;
  height: auto; }

#section_5 ul.circular-economy li.four {
  top: 75%;
  left: 81%;
  width: 156px;
  height: auto; }

#section_5 ul.circular-economy li.five {
  top: 84%;
  left: 21%;
  width: 176px;
  height: auto;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

#section_5 ul.circular-economy li.six {
  top: 35%;
  left: 3%;
  width: 126px;
  height: auto;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #section_5 {
    background: url("../img/05-bg-right.svg") top 0 right -500px no-repeat, url("../img/05-bg-left.svg") top 0 left -450px no-repeat;
    background-color: #541F3F;
    background-size: 1000px auto; } }

/* 0 - 474px Only */
@media only screen and (max-width: 29.625em) {
  #section_5 ul.circular-economy {
    margin-top: 2.5rem; }
  #section_5 ul.circular-economy li:not(.background) {
    font-size: 0.75rem; }
  #section_5 ul.circular-economy li.one {
    top: 2%;
    left: 50%;
    width: 140px;
    height: auto;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  #section_5 ul.circular-economy li.two {
    top: 19%;
    left: 75%;
    width: 90px;
    height: auto; }
  #section_5 ul.circular-economy li.three {
    top: 64%;
    left: 70%;
    width: 120px;
    height: auto; }
  #section_5 ul.circular-economy li.four {
    top: 86%;
    left: 61%;
    width: 120px;
    height: auto; }
  #section_5 ul.circular-economy li.five {
    top: 84%;
    left: 45%;
    width: 134px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  #section_5 ul.circular-economy li.six {
    top: 35%;
    left: 21%;
    width: 86px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

/* 475px - 739px Only */
@media only screen and (min-width: 29.688em) and (max-width: 46.188em) {
  #section_5 ul.circular-economy {
    margin-top: 2.5rem; }
  #section_5 ul.circular-economy li:not(.background) {
    font-size: 0.8125rem; }
  #section_5 ul.circular-economy li.one {
    top: 2%;
    left: 56%;
    width: 156px;
    height: auto;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  #section_5 ul.circular-economy li.two {
    top: 19%;
    left: 85%;
    width: 96px;
    height: auto; }
  #section_5 ul.circular-economy li.three {
    top: 55%;
    left: 84%;
    width: 120px;
    height: auto; }
  #section_5 ul.circular-economy li.four {
    top: 75%;
    left: 81%;
    width: 126px;
    height: auto; }
  #section_5 ul.circular-economy li.five {
    top: 84%;
    left: 25%;
    width: 142px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  #section_5 ul.circular-economy li.six {
    top: 35%;
    left: 11%;
    width: 96px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

/* 740px - 1023px - Medium Only */
@media only screen and (min-width: 46.25em) and (max-width: 63.938em) {
  #section_5 ul.circular-economy {
    margin-top: 2.5rem; }
  #section_5 ul.circular-economy li:not(.background) {
    font-size: 0.8125rem; }
  #section_5 ul.circular-economy li.one {
    top: 2%;
    left: 56%;
    width: 156px;
    height: auto;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  #section_5 ul.circular-economy li.two {
    top: 19%;
    left: 85%;
    width: 96px;
    height: auto; }
  #section_5 ul.circular-economy li.three {
    top: 55%;
    left: 102%;
    width: 126px;
    height: auto; }
  #section_5 ul.circular-economy li.four {
    top: 75%;
    left: 81%;
    width: 126px;
    height: auto; }
  #section_5 ul.circular-economy li.five {
    top: 84%;
    left: 21%;
    width: 146px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  #section_5 ul.circular-economy li.six {
    top: 35%;
    left: 3%;
    width: 96px;
    height: auto;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

/*
 * TRUE OR FALSE
 */
#section_5 .true-or-false {
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.875rem;
  color: #bbb;
  margin-top: 2.5rem; }
  #section_5 .true-or-false button {
    text-transform: uppercase;
    padding: 2rem 0.15rem;
    border: 4px solid #E6E6E6;
    border-radius: 8px;
    text-align: center;
    width: 100%;
    display: block;
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  #section_5 .true-or-false button:not(.disabled):hover {
    cursor: pointer;
    border: 4px solid #999;
    color: #999; }
  #section_5 .true-or-false button.active {
    background-color: #541F3F;
    border: 4px solid #BA1578;
    color: #fff; }
  #section_5 .true-or-false button.active:hover {
    background-color: #541F3F;
    border: 4px solid #BA1578;
    color: #fff; }
  #section_5 .true-or-false button.disabled {
    opacity: 0.4;
    color: #ddd; }

/*
 * POSITIVE / NEGATIVE
 */
#section_5 .positive-negative {
  margin-top: 0; }
  #section_5 .positive-negative .option {
    padding: 0.9rem 1rem 1.1rem 1rem;
    border: 4px solid #E6E6E6;
    border-radius: 8px;
    text-align: center;
    width: 100%;
    display: block;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.25s;
    transition: all 0.25s;
    height: 100%;
    position: relative; }
  #section_5 .positive-negative strong {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;
    width: 100%;
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    color: #333;
    margin-bottom: 0; }
  #section_5 .positive-negative span {
    margin-bottom: 0;
    opacity: 0;
    line-height: 1.4; }
  #section_5 .positive-negative .option:hover {
    cursor: pointer;
    border: 4px solid #333;
    color: #333; }
  #section_5 .positive-negative .positive {
    background-color: #fff;
    border: 4px solid #B5E99F; }
  #section_5 .positive-negative .negative {
    background-color: #fff;
    border: 4px solid #BA1578; }
  #section_5 .positive-negative .positive.active {
    background-color: #50AD47;
    border: 4px solid #B5E99F;
    color: #fff; }
    #section_5 .positive-negative .positive.active strong {
      opacity: 0; }
    #section_5 .positive-negative .positive.active span {
      opacity: 1; }
  #section_5 .positive-negative .negative.active {
    background-color: #541F3F;
    border: 4px solid #BA1578;
    color: #fff; }
    #section_5 .positive-negative .negative.active strong {
      opacity: 0; }
    #section_5 .positive-negative .negative.active span {
      opacity: 1; }

/*
 * TRUE OR FALSE
 */
#section_5 .grid-x4-panels, #section_5 .grid-x1-panels {
  margin-top: 0; }
  #section_5 .grid-x4-panels .columns, #section_5 .grid-x1-panels .columns {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  #section_5 .grid-x4-panels p, #section_5 .grid-x1-panels p {
    margin-bottom: 0; }
  #section_5 .grid-x4-panels p:not(.grid-x4-panel-heading), #section_5 .grid-x1-panels p:not(.grid-x4-panel-heading) {
    display: none; }
  #section_5 .grid-x4-panels .grid-x4-panel-heading p, #section_5 .grid-x1-panels .grid-x4-panel-heading p {
    display: block; }
  #section_5 .grid-x4-panels .grid-x4-panel-heading, #section_5 .grid-x1-panels .grid-x4-panel-heading {
    font-size: 1.25rem;
    font-weight: 700;
    color: #666; }
  #section_5 .grid-x4-panels h4, #section_5 .grid-x1-panels h4 {
    text-align: center;
    width: 80%;
    font-weight: 600;
    font-size: 0.875rem;
    color: #333;
    margin-bottom: 0; }
  #section_5 .grid-x4-panels .grid-x4-panel:hover, #section_5 .grid-x4-panels .grid-x1-panel:hover, #section_5 .grid-x1-panels .grid-x4-panel:hover, #section_5 .grid-x1-panels .grid-x1-panel:hover {
    cursor: pointer;
    border: 4px solid #333;
    color: #333; }
  #section_5 .grid-x4-panels .grid-x4-panel--type-a.active, #section_5 .grid-x1-panels .grid-x4-panel--type-a.active {
    background-color: #EA578F;
    border: 4px solid #541F3F;
    color: #fff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080.55%20108%22%3E%3Cpath%20d%3D%22M56.1%2C31.65c0-7.35-6.45-12-16.2-12-9.6%2C0-16.95%2C4.2-21.75%2C11.1L0%2C20.1C8.1%2C7.8%2C22.2%2C0%2C42.45%2C0%2C65%2C0%2C80.55%2C10.05%2C80.55%2C27.75c0%2C24-25.2%2C26.7-25.2%2C42.6H32.7C32.7%2C49.35%2C56.1%2C44.7%2C56.1%2C31.65ZM29.7%2C94.35C29.7%2C86.7%2C35.7%2C81%2C44.1%2C81s14.4%2C5.7%2C14.4%2C13.35S52.5%2C108%2C44.1%2C108%2C29.7%2C101.85%2C29.7%2C94.35Z%22%20fill%3D%22%23B84470%22%2F%3E%3C%2Fsvg%3E"); }
    #section_5 .grid-x4-panels .grid-x4-panel--type-a.active h4, #section_5 .grid-x1-panels .grid-x4-panel--type-a.active h4 {
      color: #fff; }
    #section_5 .grid-x4-panels .grid-x4-panel--type-a.active p, #section_5 .grid-x1-panels .grid-x4-panel--type-a.active p {
      color: #fff; }
  #section_5 .grid-x4-panels .grid-x4-panel--type-b.active, #section_5 .grid-x1-panels .grid-x4-panel--type-b.active {
    background-color: #541F3F;
    border: 4px solid #BA1578;
    color: #fff;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080.55%20108%22%3E%3Cpath%20d%3D%22M56.1%2C31.65c0-7.35-6.45-12-16.2-12-9.6%2C0-16.95%2C4.2-21.75%2C11.1L0%2C20.1C8.1%2C7.8%2C22.2%2C0%2C42.45%2C0%2C65%2C0%2C80.55%2C10.05%2C80.55%2C27.75c0%2C24-25.2%2C26.7-25.2%2C42.6H32.7C32.7%2C49.35%2C56.1%2C44.7%2C56.1%2C31.65ZM29.7%2C94.35C29.7%2C86.7%2C35.7%2C81%2C44.1%2C81s14.4%2C5.7%2C14.4%2C13.35S52.5%2C108%2C44.1%2C108%2C29.7%2C101.85%2C29.7%2C94.35Z%22%20fill%3D%22%23732B56%22%2F%3E%3C%2Fsvg%3E"); }
    #section_5 .grid-x4-panels .grid-x4-panel--type-b.active h4, #section_5 .grid-x1-panels .grid-x4-panel--type-b.active h4 {
      color: #fff; }
    #section_5 .grid-x4-panels .grid-x4-panel--type-b.active p, #section_5 .grid-x1-panels .grid-x4-panel--type-b.active p {
      color: #fff; }
  #section_5 .grid-x4-panels .grid-x4-panel.active p, #section_5 .grid-x1-panels .grid-x4-panel.active p {
    display: block; }
  #section_5 .grid-x4-panels .grid-x4-panel.active hr, #section_5 .grid-x1-panels .grid-x4-panel.active hr {
    display: block; }

#section_5 .grid-x4-panel, #section_5 .grid-x1-panels .grid-x1-panel {
  padding: 0.85rem 0.65rem;
  border: 4px solid #E6E6E6;
  border-radius: 8px;
  width: calc(100% - 20px);
  height: 100%;
  min-height: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 1.25rem;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  -webkit-transition: border 0.25s, background-color 0.25s;
  transition: border 0.25s, background-color 0.25s;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080.55%20108%22%3E%3Cpath%20d%3D%22M56.1%2C31.65c0-7.35-6.45-12-16.2-12-9.6%2C0-16.95%2C4.2-21.75%2C11.1L0%2C20.1C8.1%2C7.8%2C22.2%2C0%2C42.45%2C0%2C65%2C0%2C80.55%2C10.05%2C80.55%2C27.75c0%2C24-25.2%2C26.7-25.2%2C42.6H32.7C32.7%2C49.35%2C56.1%2C44.7%2C56.1%2C31.65ZM29.7%2C94.35C29.7%2C86.7%2C35.7%2C81%2C44.1%2C81s14.4%2C5.7%2C14.4%2C13.35S52.5%2C108%2C44.1%2C108%2C29.7%2C101.85%2C29.7%2C94.35Z%22%20fill%3D%22%23F2F2F2%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: 110px 80px;
  background-position: center; }
  #section_5 .grid-x4-panel hr, #section_5 .grid-x1-panels .grid-x1-panel hr {
    width: 35%;
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem;
    border-color: #fff;
    display: none; }

#section_5 .grid-x1-panels .grid-x1-panel h4 {
  color: #fff;
  line-height: 2;
  opacity: 0; }

#section_5 .grid-x1-panels .grid-x1-panel.active {
  background-color: #EA578F;
  border: 4px solid #541F3F;
  color: #fff;
  background-image: none; }
  #section_5 .grid-x1-panels .grid-x1-panel.active h4 {
    color: #fff;
    opacity: 1; }

#section_5 .grid-x1-panel--wide-container h4 {
  color: #541F3F;
  line-height: 1.4;
  margin-bottom: 0.375rem; }

#section_5 .grid-x1-panel--wide-container label.issues, #section_5 .grid-x1-panel--wide-container label.tasks, #section_5 .grid-x1-panel--wide-container label.impacts {
  font-size: 0.9375rem;
  text-indent: 1rem;
  text-align: left;
  line-height: 1.4;
  margin-bottom: 0.375rem; }

#section_5 .grid-x1-panel--wide-container label.issues, #section_5 .grid-x1-panel--wide-container .statement_issue {
  color: #EA578F; }

#section_5 .grid-x1-panel--wide-container label.tasks, #section_5 .grid-x1-panel--wide-container .statement_task {
  color: #BA1578; }

#section_5 .grid-x1-panel--wide-container label.impacts, #section_5 .grid-x1-panel--wide-container .statement_impact {
  color: #FF8DB9; }

#section_5 .grid-x1-panel--wide-container .dropdown-container {
  margin-bottom: -35px;
  position: relative; }

#section_5 .grid-x1-panel--wide-container select {
  font-size: 0.9375rem;
  height: 2.5rem;
  line-height: 18px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-color: #ECEEF4;
  padding-left: 0.75rem;
  color: #333;
  border-radius: 3px;
  background-image: url("../img/down-caret.svg");
  background-position: right -14px center;
  background-repeat: no-repeat;
  background-size: 10px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); }

#section_5 .grid-x1-panel--wide-container select:focus {
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.6); }

#section_5 .grid-x1-panel--wide-container .grid-x1-panel--wide {
  padding: 0.85rem 0.65rem;
  border: 4px solid #FFC2E1;
  border-radius: 8px;
  width: calc(100% - 20px);
  height: 100%;
  min-height: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: inherit;
  font-size: inherit;
  color: inherit;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  margin-bottom: 1.25rem;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  -webkit-transition: border 0.25s, background-color 0.25s;
  transition: border 0.25s, background-color 0.25s; }

#section_5.rtl .grid-x1-panel--wide-container label.issues, #section_5.rtl .grid-x1-panel--wide-container label.tasks, #section_5.rtl .grid-x1-panel--wide-container label.impacts {
  text-align: right; }

#section_5.rtl .grid-x1-panel--wide-container select {
  background-position: left -12px center;
  padding-left: 1.25rem;
  padding-right: 0.75rem; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #section_5 .grid-x1-panel--wide-container .dropdown-container .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  #section_5 .grid-x1-panel--wide-container .dropdown-container {
    margin-bottom: 1rem; } }

#section_5 .grid-3x-panels h4 {
  color: #541F3F;
  font-size: 1rem;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto; }

#section_5 .tasks_section5 .button.lozenge_item {
  background-color: #BA1578;
  color: #fff; }

/*#section_5 .tasks_section5 .button.lozenge_item.all-applied {
    opacity: 0.75;
}*/
#section_5 .tasks_section5 .button.lozenge_item:not(.all-applied):hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .tasks_section5 .button.lozenge_item.all-applied:hover {
  cursor: not-allowed; }

#section_5 .tasks_applied .button.lozenge_item {
  background-color: #BA1578;
  color: #fff; }

#section_5 .tasks_applied .button.lozenge_item:hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .impacts_section5 .button.lozenge_item {
  background-color: #FF8DB9;
  color: #fff; }

/*#section_5 .impacts_section5 .button.lozenge_item.all-applied {
    opacity: 0.75;
}*/
#section_5 .impacts_section5 .button.lozenge_item:not(.all-applied):hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .impacts_section5 .button.lozenge_item.all-applied:hover {
  cursor: not-allowed; }

#section_5 .impacts_section5 li {
  display: block; }

#section_5 .impacts_applied .button.lozenge_item {
  background-color: #FF8DB9;
  color: #fff; }

#section_5 .impacts_applied .button.lozenge_item:hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .issues_section5 .button.lozenge_item {
  background-color: #EA578F;
  color: #fff; }

/*#section_5 .issues_section5 .button.lozenge_item.all-applied {
    opacity: 0.75;
}*/
#section_5 .issues_section5 .button.lozenge_item:not(.all-applied):hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .issues_section5 .button.lozenge_item.all-applied:hover {
  cursor: not-allowed; }

#section_5 .issues_applied .button.lozenge_item {
  background-color: #EA578F;
  color: #fff; }

#section_5 .issues_applied .button.lozenge_item:hover {
  background-color: #fff;
  color: #541F3F; }

#section_5 .button.lozenge_task_add, #section_5 .button.lozenge_impact_add, #section_5 .button.lozenge_issue_add {
  font-size: 0.75rem;
  background-color: transparent;
  color: #fff;
  padding: 0.625rem 0.875rem;
  text-transform: none;
  margin-bottom: 0.625rem;
  border-color: #fff;
  text-transform: uppercase;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out, border 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out, border 0.25s ease-out; }

#section_5 .button.lozenge_task_add:not(.disabled):hover, #section_5 .button.lozenge_impact_add:not(.disabled):hover, #section_5 .button.lozenge_issue_add:not(.disabled):hover {
  color: #541F3F;
  background-color: rgba(255, 255, 255, 0.75); }

#section_5 .button.lozenge_item.all-applied, #section_5 .button.lozenge_item.all-applied, #section_5 .button.lozenge_item.all-applied {
  opacity: 0.75; }

#section_5 .button.lozenge_item.applied, #section_5 .button.lozenge_item.applied, #section_5 .button.lozenge_item.applied {
  opacity: 0.3; }

#section_5 .tasks_section5 .button.lozenge_item.applied:hover {
  background-color: #BA1578;
  color: #fff; }

#section_5 .impacts_section5 .button.lozenge_item.applied:hover {
  background-color: #FF8DB9;
  color: #fff; }

#section_5 .issues_section5 .button.lozenge_item.applied:hover {
  background-color: #EA578F;
  color: #fff; }

#section_5 .button.lozenge_item.applied:hover {
  opacity: 0.3;
  cursor: not-allowed; }

#section_5 .button.lozenge_item.applied:hover, #section_5 .button.lozenge_item.applied:hover, #section_5 .button.lozenge_item.applied:hover {
  opacity: 0.3;
  cursor: not-allowed; }

#section_5 .button.lozenge_task_add:not(.disabled):hover {
  border-color: #BA1578; }

#section_5 .button.lozenge_impact_add:not(.disabled):hover {
  border-color: #FF8DB9; }

#section_5 .button.lozenge_issue_add:not(.disabled):hover {
  border-color: #EA578F; }

#section_5 .purpose-circle-single, #section_5 .purpose-circle-triple {
  position: relative; }

#section_5 .purpose-circle-single .purpose-circle-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #section_5 .purpose-circle-single .purpose-circle-content p {
    font-size: 1.25rem;
    margin-bottom: 0.625rem;
    line-height: 1.1; }
    #section_5 .purpose-circle-single .purpose-circle-content p span {
      text-transform: uppercase;
      font-weight: 700; }
  #section_5 .purpose-circle-single .purpose-circle-content .lozenges {
    width: 100%; }
  #section_5 .purpose-circle-single .purpose-circle-content .tasks_applied li, #section_5 .purpose-circle-single .purpose-circle-content .impacts_applied li, #section_5 .purpose-circle-single .purpose-circle-content .issues_applied li {
    display: block; }
  #section_5 .purpose-circle-single .purpose-circle-content .tasks_applied .button.lozenge_item, #section_5 .purpose-circle-single .purpose-circle-content .impacts_applied .button.lozenge_item, #section_5 .purpose-circle-single .purpose-circle-content .issues_applied .button.lozenge_item {
    -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
            box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
    border: 2px solid #fff;
    position: relative;
    max-width: 70%; }
  #section_5 .purpose-circle-single .purpose-circle-content .tasks_applied .button.lozenge_item:hover:after, #section_5 .purpose-circle-single .purpose-circle-content .impacts_applied .button.lozenge_item:hover:after, #section_5 .purpose-circle-single .purpose-circle-content .issues_applied .button.lozenge_item:hover:after {
    content: '\2715';
    position: absolute;
    font-size: 0.875rem;
    text-align: center;
    line-height: 26px;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #E24444;
    color: #fff;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%); }

#section_5 p.task-impact-issues-selected-count {
  font-size: 1.25rem;
  margin-bottom: 0.625rem;
  line-height: 1.1;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 1.75rem;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.4); }

#section_5 h4.business-purpose {
  position: absolute;
  top: 67.5%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 23%;
  color: #fff;
  text-transform: uppercase;
  font-size: 0.9375rem;
  word-spacing: 5em; }

#section_5 .purpose-circle-triple .purpose-circle-triple-content.tasks {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 39%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.tasks h4 {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-120%);
            transform: translateX(-50%) translateY(-120%); }

#section_5 .purpose-circle-triple .purpose-circle-triple-content.impacts {
  bottom: 0;
  right: 0;
  height: 57.5%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.impacts h4 {
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(200%);
            transform: translateX(-50%) translateY(200%); }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.impacts .impacts_applied {
    padding-left: 34%; }

#section_5 .purpose-circle-triple .purpose-circle-triple-content.issues {
  left: 0;
  bottom: 0;
  height: 57.5%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.issues h4 {
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(200%);
            transform: translateX(-50%) translateY(200%); }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.issues .issues_applied {
    padding-right: 34%; }

#section_5 .purpose-circle-triple .purpose-circle-triple-content {
  width: 57.5%;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content p {
    font-size: 1.25rem;
    margin-bottom: 0.625rem;
    line-height: 1.1; }
    #section_5 .purpose-circle-triple .purpose-circle-triple-content p span {
      text-transform: uppercase;
      font-weight: 700; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content h4 {
    position: absolute;
    color: #fff;
    text-transform: uppercase;
    font-size: 1rem; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content .lozenges {
    width: 100%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content .tasks_applied li, #section_5 .purpose-circle-triple .purpose-circle-triple-content .impacts_applied li, #section_5 .purpose-circle-triple .purpose-circle-triple-content .issues_applied li {
    display: block; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content .tasks_applied .button.lozenge_item, #section_5 .purpose-circle-triple .purpose-circle-triple-content .impacts_applied .button.lozenge_item, #section_5 .purpose-circle-triple .purpose-circle-triple-content .issues_applied .button.lozenge_item {
    position: relative;
    max-width: 70%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content .tasks_applied .button.lozenge_item.selected, #section_5 .purpose-circle-triple .purpose-circle-triple-content .impacts_applied .button.lozenge_item.selected, #section_5 .purpose-circle-triple .purpose-circle-triple-content .issues_applied .button.lozenge_item.selected {
    -webkit-box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
            box-shadow: 0 0 5px rgba(255, 255, 255, 0.9);
    border: 2px solid #fff; }

#section_5 .purpose-circle-triple.highlight-selected-buttons .purpose-circle-triple-content .tasks_applied .button.lozenge_item:not(.selected),
#section_5 .purpose-circle-triple.highlight-selected-buttons .purpose-circle-triple-content .impacts_applied .button.lozenge_item:not(.selected),
#section_5 .purpose-circle-triple.highlight-selected-buttons .purpose-circle-triple-content .issues_applied .button.lozenge_item:not(.selected) {
  opacity: 0.5; }

/* 0 - 550px Only */
@media only screen and (max-width: 550px) {
  #section_5 .grid-x4-panels .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  #section_5 .grid-x1-panels .grid-x1-panel h4 {
    width: 90%; }
  #section_5 h4.business-purpose {
    font-size: 0.6875rem; }
  #section_5 .lozenges.list_applied li a.button {
    font-size: 0.5625rem;
    padding-left: 0.375rem;
    padding-right: 0.375rem; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.tasks {
    height: 44%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.issues .issues_applied {
    padding-right: 31%; }
  #section_5 .purpose-circle-triple .purpose-circle-triple-content.impacts .impacts_applied {
    padding-left: 31%; } }

/* 551px - 739px Only */
@media only screen and (min-width: 551px) and (max-width: 46.188em) {
  #section_5 h4.business-purpose {
    font-size: 0.8125rem; } }

/* PROGRESS CIRCLES */
section.trigger {
  border-color: red; }

.swatch_circle {
  border-radius: 100px;
  width: 25px;
  height: 25px;
  display: inline-block;
  margin-right: 4px; }

/*
 * COLOUR DEFINITIONS
 */
/*
 * COLOUR SWATCH CIRCLES
 */
.swatch_circle.blue.button_colour {
  background-color: #041944; }

.swatch_circle.blue.a {
  background-color: #00276B; }

.swatch_circle.blue.b {
  background-color: #003393; }

.swatch_circle.blue.c {
  background-color: #0046A6; }

.swatch_circle.blue.d {
  background-color: #005AB8; }

.swatch_circle.blue.e {
  background-color: #74C8FF; }

.swatch_circle.red.button_colour {
  background-color: #570239; }

.swatch_circle.red.a {
  background-color: #A6004C; }

.swatch_circle.red.b {
  background-color: #E24444; }

.swatch_circle.red.c {
  background-color: #F36043; }

.swatch_circle.red.d {
  background-color: #F77C4D; }

.swatch_circle.red.e {
  background-color: #FFCEB6; }

.swatch_circle.green.button_colour {
  background-color: #134852; }

.swatch_circle.green.a {
  background-color: #116044; }

.swatch_circle.green.b {
  background-color: #51AE40; }

.swatch_circle.green.c {
  background-color: #65C03F; }

.swatch_circle.green.d {
  background-color: #84DD55; }

.swatch_circle.green.e {
  background-color: #B5E99F; }

.swatch_circle.purple.button_colour {
  background-color: #300C5E; }

.swatch_circle.purple.a {
  background-color: #570B73; }

.swatch_circle.purple.b {
  background-color: #8B00BC; }

.swatch_circle.purple.c {
  background-color: #A71AE4; }

.swatch_circle.purple.d {
  background-color: #CC5DFF; }

.swatch_circle.purple.e {
  background-color: #FCB2FF; }

.swatch_circle.pink.button_colour {
  background-color: #300C5E; }

.swatch_circle.pink.a {
  background-color: #541F3F; }

.swatch_circle.pink.b {
  background-color: #BA1578; }

.swatch_circle.pink.c {
  background-color: #EA578F; }

.swatch_circle.pink.d {
  background-color: #FF8DB9; }

.swatch_circle.pink.e {
  background-color: #FF8DB9; }

.progress {
  position: relative;
  width: 380px;
  height: 380px;
  margin: auto;
  font-family: "Montserrat",  'Helvetica Neue', Helvetica, Arial, sans-serif;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: block;
  -webkit-transition: width 0.5s, height 0.5s;
  transition: width 0.5s, height 0.5s; }

.progress .bg {
  position: absolute;
  z-index: 1; }

.progress .bg svg {
  width: 100%;
  height: 100%; }

.progress.blue .bg {
  top: 19%;
  left: 15%;
  right: 16%;
  bottom: auto; }

.progress.red .bg {
  top: 23%;
  left: 17%;
  right: 12%;
  bottom: auto; }

.progress.green .bg {
  top: 18.5%;
  left: 19%;
  right: 18%;
  bottom: auto; }

.progress.purple .bg {
  top: 17%;
  left: 17%;
  right: 17%;
  bottom: auto; }

.progress.grey .bg {
  top: 14%;
  left: 13%;
  right: 13%;
  bottom: auto; }

.progress.pink .bg {
  top: 14%;
  left: 13%;
  right: 13%;
  bottom: auto; }

.progress svg.progress__outer {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 380px;
  height: 380px;
  z-index: 1;
  -webkit-transition: width 0.5s, height 0.5s;
  transition: width 0.5s, height 0.5s; }

.progress .step_number {
  position: absolute;
  top: 27%;
  left: 40%;
  right: 40%;
  z-index: 2;
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.progress .step_number span {
  border-radius: 100px;
  text-align: center;
  padding: 0;
  line-height: 40px;
  background-color: #666;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  display: inline-block;
  width: 40px;
  height: 40px;
  -webkit-transition: width 0.5s, height 0.5s, font-size 0.5s, line-height 0.5s;
  transition: width 0.5s, height 0.5s, font-size 0.5s, line-height 0.5s; }

.progress.blue .step_number span {
  background-color: #00276B; }

.progress.red .step_number span {
  background-color: #A6004C; }

.progress.green .step_number span {
  background-color: #116044; }

.progress.purple .step_number span {
  background-color: #570B73; }

.progress.grey .step_number span {
  background-color: #2d353f; }

.progress.pink .step_number span {
  background-color: #541F3F; }

.progress .step_text {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: calc(28% + 78px);
  z-index: 4;
  font-weight: 700;
  padding: 0;
  color: #fff;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: bottom 0.5s, font-size 0.5s;
  transition: bottom 0.5s, font-size 0.5s; }

.progress .step_text.dark {
  color: #000; }

.progress .button_menu {
  position: absolute;
  top: 58%;
  left: 19%;
  right: 19%;
  bottom: auto;
  z-index: 4;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: top 0.5s;
  transition: top 0.5s; }

.progress .button_menu .is-dropdown-submenu-parent {
  width: 100%; }

.progress .button_menu.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  border: none;
  display: none; }

.progress .button_menu.dropdown.menu > li.opens-right > .is-dropdown-submenu,
.progress .button_menu.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: calc(100% + 15px);
  left: 50%;
  right: auto;
  width: auto;
  min-width: 200px;
  white-space: nowrap;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

.progress .dropdown.menu li {
  width: 100%; }

.progress .dropdown.menu a.button {
  border-radius: 100px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 1.375rem 0.625rem;
  background-color: #666;
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  -webkit-transition: padding 0.5s, font-size 0.5s;
  transition: padding 0.5s, font-size 0.5s; }

.progress.blue .dropdown.menu a.button {
  background-color: #041944; }

.progress.red .dropdown.menu a.button {
  background-color: #570239; }

.progress.green .dropdown.menu a.button {
  background-color: #134852; }

.progress.purple .dropdown.menu a.button {
  background-color: #300C5E; }

.progress.grey .dropdown.menu a.button {
  background-color: #2d353f; }

.progress.pink .dropdown.menu a.button {
  background-color: #541F3F; }

.progress .button_menu ul.submenu {
  background: none;
  border: none; }

/* v TOP ARROW ON SUBMENU */
.progress .button_menu ul.submenu li {
  position: relative; }

.progress .button_menu ul.submenu li:nth-child(1):after {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(255, 255, 255, 0);
  border-bottom-color: #fff;
  border-width: 10px;
  margin-left: -10px; }

.progress.blue.progress_33 .button_menu ul.submenu li:nth-child(1):after, .progress.blue.progress_50 .button_menu ul.submenu li:nth-child(1):after,
.progress.blue.progress_66 .button_menu ul.submenu li:nth-child(1):after, .progress.blue.progress_100 .button_menu ul.submenu li:nth-child(1):after {
  border-bottom-color: #005AB8; }

.progress.red.progress_33 .button_menu ul.submenu li:nth-child(1):after, .progress.red.progress_50 .button_menu ul.submenu li:nth-child(1):after,
.progress.red.progress_66 .button_menu ul.submenu li:nth-child(1):after, .progress.red.progress_100 .button_menu ul.submenu li:nth-child(1):after {
  border-bottom-color: #F77C4D; }

.progress.green.progress_33 .button_menu ul.submenu li:nth-child(1):after, .progress.green.progress_50 .button_menu ul.submenu li:nth-child(1):after,
.progress.green.progress_66 .button_menu ul.submenu li:nth-child(1):after, .progress.green.progress_100 .button_menu ul.submenu li:nth-child(1):after {
  border-bottom-color: #65C03F; }

.progress.purple.progress_33 .button_menu ul.submenu li:nth-child(1):after, .progress.purple.progress_50 .button_menu ul.submenu li:nth-child(1):after,
.progress.purple.progress_66 .button_menu ul.submenu li:nth-child(1):after, .progress.purple.progress_100 .button_menu ul.submenu li:nth-child(1):after {
  border-bottom-color: #CC5DFF; }

.progress.pink.progress_33 .button_menu ul.submenu li:nth-child(1):after, .progress.pink.progress_50 .button_menu ul.submenu li:nth-child(1):after,
.progress.pink.progress_66 .button_menu ul.submenu li:nth-child(1):after, .progress.pink.progress_100 .button_menu ul.submenu li:nth-child(1):after {
  border-bottom-color: #FF8DB9; }

/* ^ TOP ARROW ON SUBMENU */
/* v LETTER DOT ON SUBMENU ITEMS */
.progress .button_menu ul.submenu li a {
  border-radius: 5px;
  background-color: #fff;
  margin-bottom: 0.625rem;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  text-transform: uppercase;
  color: #000;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  padding: 0.625rem 1.5rem 0.625rem 0.9375rem; }

.rtl .progress .button_menu ul.submenu li a {
  padding: 0.625rem 0.9375rem 0.625rem 1.5rem; }

.progress .button_menu ul.submenu li.disabled a {
  background-color: #fff !important;
  opacity: 0.4; }

.progress .button_menu ul.submenu li.disabled:nth-child(1):after {
  opacity: 0.4; }

.progress .button_menu ul.submenu li.disabled a:hover {
  background-color: #fff !important;
  opacity: 0.4;
  cursor: default; }

.progress.blue .button_menu ul.submenu li a:hover {
  background-color: #74C8FF; }

.progress.blue .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #74C8FF; }

.progress.blue.progress_33 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.blue.progress_50 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.blue.progress_66 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.blue.progress_100 .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #005AB8; }

.progress.red .button_menu ul.submenu li a:hover {
  background-color: #FFCEB6; }

.progress.red .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #FFCEB6; }

.progress.red.progress_33 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.red.progress_50 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.red.progress_66 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.red.progress_100 .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #F77C4D; }

.progress.green .button_menu ul.submenu li a:hover {
  background-color: #B5E99F; }

.progress.green .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #B5E99F; }

.progress.green.progress_33 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.green.progress_50 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.green.progress_66 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.green.progress_100 .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #65C03F; }

.progress.purple .button_menu ul.submenu li a:hover {
  background-color: #FCB2FF; }

.progress.purple .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #FCB2FF; }

.progress.purple.progress_33 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.purple.progress_50 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.purple.progress_66 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.purple.progress_100 .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #CC5DFF; }

.progress.grey .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #dadbdd; }

.progress.pink .button_menu ul.submenu li a:hover {
  background-color: #FF8DB9; }

.progress.pink .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #FF8DB9; }

.progress.pink.progress_33 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.pink.progress_50 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.pink.progress_66 .button_menu ul.submenu li:nth-child(1):hover:after, .progress.pink.progress_100 .button_menu ul.submenu li:nth-child(1):hover:after {
  border-bottom-color: #FF8DB9; }

.progress .button_menu ul.submenu li a span {
  content: '';
  border-radius: 2rem;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  background-color: red;
  display: inline-block;
  margin-right: 0.5rem;
  text-align: center;
  color: #fff;
  font-size: 1rem;
  white-space: nowrap; }

.rtl .progress .button_menu ul.submenu li a span {
  margin-right: 0;
  margin-left: 0.5rem; }

.progress.blue .button_menu ul.submenu li a span {
  background-color: #0046A6; }

.progress.red .button_menu ul.submenu li a span {
  background-color: #F36043; }

.progress.green .button_menu ul.submenu li a span {
  background-color: #51AE40; }

.progress.purple .button_menu ul.submenu li a span {
  background-color: #A71AE4; }

.progress.pink .button_menu ul.submenu li a span {
  background-color: #EA578F; }

.progress .button_menu ul.submenu li.completed a:before {
  content: '';
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%238a8a8a%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 110%;
  width: 43px;
  height: 43px;
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 0 5px 0 0;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }

.progress.blue .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23041944%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.progress.red .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23570239%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.progress.green .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23134852%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.progress.purple .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23300C5E%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.progress.pink .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.28%2035.28%22%3E%3Cpath%20fill%3D%22%23541F3F%22%20d%3D%22M36.28%2035.28L0%200h36.28v35.28z%22%2F%3E%3C%2Fsvg%3E"); }

.progress .button_menu ul.submenu li.completed a:after {
  content: '';
  background-color: transparent;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.44%2011.23%22%3E%3Cpolygon%20points%3D%224.28%207.09%202.07%204.89%200%206.96%204.28%2011.23%2013.44%202.07%2011.37%200%204.28%207.09%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.9375rem 0.9375rem;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 6px;
  right: 5px;
  border-radius: 0 5px 0 0;
  margin-top: 0;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none; }

.rtl .progress .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%238a8a8a%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E");
  top: 0;
  right: auto;
  left: 0;
  border-radius: 5px 0 0 0; }

.rtl .progress.blue .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23041944%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl .progress.red .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23570239%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl .progress.green .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23134852%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl .progress.purple .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23300C5E%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl .progress.pink .button_menu ul.submenu li.completed a:before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2036.3%2035.3%22%3E%3Cpath%20fill%3D%22%23541F3F%22%20d%3D%22M35.8-0.5L0.5%2C35.8V-0.5H35.8z%22%2F%3E%3C%2Fsvg%3E"); }

.rtl .progress .button_menu ul.submenu li.completed a:after {
  right: auto;
  left: 5px; }

.progress.grey .button_menu ul.submenu li a {
  padding: 1.125rem 1.25rem; }

.progress.grey .button_menu ul.submenu li a:before {
  content: '';
  display: none; }

.progress.grey .button_menu ul.submenu li a:hover {
  background-color: #dadbdd; }

/* ^ LETTER DOT ON SUBMENU ITEMS */
/* DEFAULTS */
.progress.progress_0 .button_menu ul.submenu li:nth-child(1) a, .progress.progress_0 .button_menu ul.submenu li:nth-child(2) a, .progress.progress_0 .button_menu ul.submenu li:nth-child(3) a {
  /* no change */ }

.progress.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #666;
  color: #fff; }

.progress.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #666;
  color: #fff; }

.progress.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #666;
  color: #fff; }

.progress.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #666;
  color: #fff; }

/* BLUE */
.progress.blue.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #005AB8; }

.progress.blue.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #005AB8; }

.progress.blue.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.blue.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #005AB8; }

.progress.blue.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.blue.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.blue.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #005AB8; }

/* RED */
.progress.red.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #F77C4D; }

.progress.red.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #F77C4D; }

.progress.red.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.red.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #F77C4D; }

.progress.red.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.red.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.red.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #F77C4D; }

/* GREEN */
.progress.green.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #65C03F; }

.progress.green.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #65C03F; }

.progress.green.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.green.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #65C03F; }

.progress.green.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.green.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.green.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #65C03F; }

/* PURPLE */
.progress.purple.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #CC5DFF; }

.progress.purple.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #CC5DFF; }

.progress.purple.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.purple.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #CC5DFF; }

.progress.purple.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.purple.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.purple.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #CC5DFF; }

/* PINK */
.progress.pink.progress_33 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #FF8DB9; }

.progress.pink.progress_50 .button_menu ul.submenu li:nth-child(1) a {
  background-color: #FF8DB9; }

.progress.pink.progress_66 .button_menu ul.submenu li:nth-child(1) a, .progress.pink.progress_66 .button_menu ul.submenu li:nth-child(2) a {
  background-color: #FF8DB9; }

.progress.pink.progress_100 .button_menu ul.submenu li:nth-child(1) a, .progress.pink.progress_100 .button_menu ul.submenu li:nth-child(2) a, .progress.pink.progress_100 .button_menu ul.submenu li:nth-child(3) a {
  background-color: #FF8DB9; }

.progress__line {
  stroke: #E1E1E1;
  stroke-width: 7;
  stroke-dasharray: 1, 17.5;
  stroke-linecap: round;
  fill: none; }

.progress__indicator {
  display: block;
  stroke-dasharray: 0, 740;
  stroke: #E1E1E1;
  stroke-width: 9;
  stroke-linecap: round;
  fill: none;
  animation: progress-fill 2s reverse; }

.progress.blue .progress__indicator {
  stroke: #74C8FF; }

.progress.red .progress__indicator {
  stroke: #FFCEB6; }

.progress.green .progress__indicator {
  stroke: #B5E99F; }

.progress.purple .progress__indicator {
  stroke: #FCB2FF; }

.progress.pink .progress__indicator {
  stroke: #FF8DB9; }

section.trigger .progress_33 .progress__indicator {
  -webkit-animation: progress-fill-33 3s ease-out 1.5s forwards;
          animation: progress-fill-33 3s ease-out 1.5s forwards; }

section.trigger .progress_50 .progress__indicator {
  -webkit-animation: progress-fill-50 3s ease-out 1.5s forwards;
          animation: progress-fill-50 3s ease-out 1.5s forwards; }

section.trigger .progress_66 .progress__indicator {
  -webkit-animation: progress-fill-66 3s ease-out 1.5s forwards;
          animation: progress-fill-66 3s ease-out 1.5s forwards; }

section.trigger .progress_100 .progress__indicator {
  -webkit-animation: progress-fill-100 3s ease-out 1.5s forwards;
          animation: progress-fill-100 3s ease-out 1.5s forwards; }

.progress__dot {
  fill: #fff;
  stroke: #E1E1E1;
  stroke-width: 2; }

.progress__dot_two .progress__dot2, .progress__dot_two .progress__dot_tick2 {
  /*cx: 12;
    cy: 130;*/ }

.progress__dot_two .progress__dot3_2x, .progress__dot_two .progress__dot_tick3_2x, .progress__dot_two .progress__dot2_3x, .progress__dot_two .progress__dot_tick2_3x {
  display: none; }

.progress__dot_three .progress__dot2_2x, .progress__dot_three .progress__dot_tick2_2x {
  display: none; }

.progress__dot_two .progress__dot3, .progress__dot_two .progress__dot_tick3 {
  display: none; }

.progress__dot1_high, .progress__dot2_high, .progress__dot3_high {
  display: none; }

/* Show / Hide 2x/3x dot layouts */
.progress__dot_two .dots_2x, .progress__dot_three .dots_3x {
  display: block; }

.progress__dot_two .dots_3x, .progress__dot_three .dots_2x {
  display: none; }

/* Progress dot styling as user progresses through excercises */
.progress.progress_33 .progress__dot1, .progress.progress_50 .progress__dot1, .progress.progress_66 .progress__dot1, .progress.progress_100 .progress__dot1, .progress.progress_66 .progress__dot2, .progress.progress_100 .progress__dot2, .progress.progress_100 .progress__dot3 {
  fill: #E1E1E1;
  stroke: #E1E1E1;
  stroke-width: 2; }

.progress.blue.progress_33 .progress__dot1_high, .progress.blue.progress_50 .progress__dot1_high, .progress.blue.progress_66 .progress__dot1_high, .progress.blue.progress_100 .progress__dot1_high,
.progress.blue.progress_66 .progress__dot2_high, .progress.blue.progress_100 .progress__dot2_high, .progress.blue.progress_100 .progress__dot3_high {
  fill: #003393;
  stroke: #003393;
  display: block; }

.progress.red.progress_33 .progress__dot1_high, .progress.red.progress_50 .progress__dot1_high, .progress.red.progress_66 .progress__dot1_high, .progress.red.progress_100 .progress__dot1_high,
.progress.red.progress_66 .progress__dot2_high, .progress.red.progress_100 .progress__dot2_high, .progress.red.progress_100 .progress__dot3_high {
  fill: #E24444;
  stroke: #E24444;
  display: block; }

.progress.green.progress_33 .progress__dot1_high, .progress.green.progress_50 .progress__dot1_high, .progress.green.progress_66 .progress__dot1_high, .progress.green.progress_100 .progress__dot1_high,
.progress.green.progress_66 .progress__dot2_high, .progress.green.progress_100 .progress__dot2_high, .progress.green.progress_100 .progress__dot3_high {
  fill: #51AE40;
  stroke: #51AE40;
  display: block; }

.progress.purple.progress_33 .progress__dot1_high, .progress.purple.progress_50 .progress__dot1_high, .progress.purple.progress_66 .progress__dot1_high, .progress.purple.progress_100 .progress__dot1_high,
.progress.purple.progress_66 .progress__dot2_high, .progress.purple.progress_100 .progress__dot2_high, .progress.purple.progress_100 .progress__dot3_high {
  fill: #8B00BC;
  stroke: #8B00BC;
  display: block; }

.progress.pink.progress_33 .progress__dot1_high, .progress.pink.progress_50 .progress__dot1_high, .progress.pink.progress_66 .progress__dot1_high, .progress.pink.progress_100 .progress__dot1_high,
.progress.pink.progress_66 .progress__dot2_high, .progress.pink.progress_100 .progress__dot2_high, .progress.pink.progress_100 .progress__dot3_high {
  fill: #BA1578;
  stroke: #BA1578;
  display: block; }

/* PROGRESS DOT TICKS - TICKS CAN'T BE ADDED SIMPLY AS CSS BACKGROUNDS, SO EXTRA SVG ELEMENT USED THAT IS SHOWN / HIDDEN AS NEEDED */
.progress__dot_tick1, .progress__dot_tick2, .progress__dot_tick3 {
  stroke-width: 0; }

.confetti.particle {
  position: absolute;
  border-radius: 5px;
  z-index: 0; }

.confetti.cround {
  border-radius: 100px; }

.confetti.ctriangle {
  overflow: hidden;
  border-radius: 3px; }

.confetti.ctriangle:after {
  height: 140%;
  width: 140%;
  position: relative;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: '';
  display: block;
  position: absolute;
  left: -105%;
  top: -20%;
  border-radius: 3px; }

.progress.blue .csquare.tint1, .progress.blue .cround.tint1, .progress.blue .ctriangle.tint1:after {
  background-color: #00276B; }

.progress.blue .csquare.tint2, .progress.blue .cround.tint2, .progress.blue .ctriangle.tint2:after {
  background-color: #003393; }

.progress.blue .csquare.tint3, .progress.blue .cround.tint3, .progress.blue .ctriangle.tint3:after {
  background-color: #0046A6; }

.progress.blue .csquare.tint4, .progress.blue .cround.tint4, .progress.blue .ctriangle.tint4:after {
  background-color: #005AB8; }

.progress.blue .csquare.tint5, .progress.blue .cround.tint5, .progress.blue .ctriangle.tint5:after {
  background-color: #74C8FF; }

.progress.red .csquare.tint1, .progress.red .cround.tint1, .progress.red .ctriangle.tint1:after {
  background-color: #A6004C; }

.progress.red .csquare.tint2, .progress.red .cround.tint2, .progress.red .ctriangle.tint2:after {
  background-color: #E24444; }

.progress.red .csquare.tint3, .progress.red .cround.tint3, .progress.red .ctriangle.tint3:after {
  background-color: #F36043; }

.progress.red .csquare.tint4, .progress.red .cround.tint4, .progress.red .ctriangle.tint4:after {
  background-color: #F77C4D; }

.progress.red .csquare.tint5, .progress.red .cround.tint5, .progress.red .ctriangle.tint5:after {
  background-color: #FFCEB6; }

.progress.green .csquare.tint1, .progress.green .cround.tint1, .progress.green .ctriangle.tint1:after {
  background-color: #116044; }

.progress.green .csquare.tint2, .progress.green .cround.tint2, .progress.green .ctriangle.tint2:after {
  background-color: #51AE40; }

.progress.green .csquare.tint3, .progress.green .cround.tint3, .progress.green .ctriangle.tint3:after {
  background-color: #65C03F; }

.progress.green .csquare.tint4, .progress.green .cround.tint4, .progress.green .ctriangle.tint4:after {
  background-color: #84DD55; }

.progress.green .csquare.tint5, .progress.green .cround.tint5, .progress.green .ctriangle.tint5:after {
  background-color: #B5E99F; }

.progress.purple .csquare.tint1, .progress.purple .cround.tint1, .progress.purple .ctriangle.tint1:after {
  background-color: #570B73; }

.progress.purple .csquare.tint2, .progress.purple .cround.tint2, .progress.purple .ctriangle.tint2:after {
  background-color: #8B00BC; }

.progress.purple .csquare.tint3, .progress.purple .cround.tint3, .progress.purple .ctriangle.tint3:after {
  background-color: #A71AE4; }

.progress.purple .csquare.tint4, .progress.purple .cround.tint4, .progress.purple .ctriangle.tint4:after {
  background-color: #CC5DFF; }

.progress.purple .csquare.tint5, .progress.purple .cround.tint5, .progress.purple .ctriangle.tint5:after {
  background-color: #FCB2FF; }

.progress.pink .csquare.tint1, .progress.pink .cround.tint1, .progress.pink .ctriangle.tint1:after {
  background-color: #541F3F; }

.progress.pink .csquare.tint2, .progress.pink .cround.tint2, .progress.pink .ctriangle.tint2:after {
  background-color: #BA1578; }

.progress.pink .csquare.tint3, .progress.pink .cround.tint3, .progress.pink .ctriangle.tint3:after {
  background-color: #EA578F; }

.progress.pink .csquare.tint4, .progress.pink .cround.tint4, .progress.pink .ctriangle.tint4:after {
  background-color: #FF8DB9; }

.progress.pink .csquare.tint5, .progress.pink .cround.tint5, .progress.pink .ctriangle.tint5:after {
  background-color: #FF8DB9; }

@-webkit-keyframes progress-fill-25 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 185, 740; } }

@keyframes progress-fill-25 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 185, 740; } }

@-webkit-keyframes progress-fill-33 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 280, 740; } }

@keyframes progress-fill-33 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 280, 740; } }

@-webkit-keyframes progress-fill-50 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 370, 740; } }

@keyframes progress-fill-50 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 370, 740; } }

@-webkit-keyframes progress-fill-66 {
  from {
    stroke-dasharray: 06, 740; }
  to {
    stroke-dasharray: 462, 740; } }

@keyframes progress-fill-66 {
  from {
    stroke-dasharray: 06, 740; }
  to {
    stroke-dasharray: 462, 740; } }

@-webkit-keyframes progress-fill-75 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 555, 740; } }

@keyframes progress-fill-75 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 555, 740; } }

@-webkit-keyframes progress-fill-100 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 740, 740; } }

@keyframes progress-fill-100 {
  from {
    stroke-dasharray: 0, 740; }
  to {
    stroke-dasharray: 740, 740; } }

@-webkit-keyframes progress-fill {
  to {
    stroke-dasharray: 0, 740; } }

@keyframes progress-fill {
  to {
    stroke-dasharray: 0, 740; } }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .progress {
    width: 280px;
    height: 280px; }
  .progress svg.progress__outer {
    width: 280px;
    height: 280px; }
  .progress .step_number span {
    line-height: 30px;
    font-size: 1rem;
    width: 30px;
    height: 30px; }
  .progress .step_text {
    bottom: calc(20% + 78px);
    font-size: 0.9375rem; }
  .progress .button_menu {
    top: 58%; }
  .progress .dropdown.menu a.button {
    padding: 1.125rem 0.625rem;
    font-size: 0.75rem; } }

/* 
 * CALENDAR
 */
#calendar_months_source {
  display: none; }

#calendar_start_month, #calendar_entry_form select {
  height: 3.375rem;
  font-size: 1.0625rem;
  line-height: 1;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-color: #E4E8F2;
  padding-left: 0.9375rem;
  color: #666;
  background-image: url("../img/down-caret.svg");
  background-position: right -10px center;
  background-repeat: no-repeat;
  background-size: 16px 12px; }

.rtl #calendar_start_month, .rtl #calendar_entry_form select {
  padding-left: 0.5rem;
  padding-right: 0.9375rem;
  background-position: left 10px center; }

.calendar {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  position: relative; }

.calendar h3 {
  font-size: 1rem;
  padding: 0.3125rem;
  margin: 0 0 5px 0;
  text-align: left;
  color: #999;
  text-transform: uppercase; }

.rtl .calendar h3 {
  text-align: right; }

.calendar .column, .calendar .columns {
  padding: 0; }

.calendar > li {
  min-height: 150px;
  position: relative; }

.calendar > li:not(.calendar_entry_add_edit):after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  z-index: 0; }

.calendar ul.menu.nested {
  margin: 0;
  z-index: 1; }

.calendar .calendar_entry {
  width: 100%;
  margin-bottom: 2px; }

.calendar .calendar_entry a {
  background: #2063D6;
  color: #fff;
  line-height: 1.2;
  font-size: 0.875rem;
  padding: 0.625rem 0.75rem;
  display: block;
  border-radius: 100px;
  margin-left: 5px;
  margin-right: 5px;
  width: calc(100% - 10px);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative; }

.calendar:not(.readonly) .calendar_entry a:hover {
  background: #2063D6; }

.calendar .calendar_entry a.hi {
  background: #042068; }

.calendar .calendar_entry a.section_1 {
  background-color: #2063D6; }

.calendar .calendar_entry a.section_1.hi {
  background-color: #184aa1; }

.calendar .calendar_entry a.section_2 {
  background-color: #DE3F3A; }

.calendar .calendar_entry a.section_2.hi {
  background-color: #b4231e; }

.calendar .calendar_entry a:focus {
  outline: none; }

.calendar.activity_types .calendar_entry a:hover, .calendar.readonly .calendar_entry a:hover {
  cursor: default; }

.calendar:not(.add_edit_activities) .calendar_entry a.cost,
#section_2 .section_2b .calendar .calendar_entry a.cost {
  background: #EB7C7C;
  color: #000; }

.calendar:not(.add_edit_activities) .calendar_entry a.hi.cost,
#section_2 .section_2b .calendar .calendar_entry a.hi.cost {
  background: #e96c6c; }

.calendar:not(.add_edit_activities) .calendar_entry a.income,
#section_2 .section_2b .calendar .calendar_entry a.income {
  background: #A7D6A3;
  color: #000; }

.calendar:not(.add_edit_activities) .calendar_entry a.hi.income,
#section_2 .section_2b .calendar .calendar_entry a.hi.income {
  background: #9bd096; }

.calendar .calendar_entry.month_start a {
  border-radius: 100px 0 0 100px;
  margin-left: 5px;
  margin-right: 0;
  width: calc(100% - 4px); }

.rtl .calendar .calendar_entry.month_start a {
  border-radius: 0 100px 100px 0;
  margin-left: 0;
  margin-right: 5px; }

.calendar .calendar_entry.month_centre a {
  border-radius: 0;
  margin-left: 0;
  margin-right: 0;
  width: 100%; }

.calendar .calendar_entry.month_end a {
  border-radius: 0 100px 100px 0;
  margin-left: 0;
  margin-right: 5px;
  width: calc(100% - 4px); }

.rtl .calendar .calendar_entry.month_end a {
  border-radius: 100px 0 0 100px;
  margin-left: 5px;
  margin-right: 0; }

li.calendar_entry_add_edit {
  border-right: none;
  border-bottom: none;
  position: absolute;
  bottom: 0px;
  left: 50%;
  width: 100%;
  max-width: 280px;
  text-align: center;
  -webkit-transform: translateX(-50%) translateY(50%);
          transform: translateX(-50%) translateY(50%);
  background-repeat: no-repeat;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  min-height: inherit;
  z-index: 1; }

.calendar.activity_types li.calendar_entry_add_edit {
  display: none; }

li.calendar_entry_add_edit.no_entries {
  bottom: auto;
  top: 0; }

.calendar_entry_add_edit a.button {
  padding: 1.25em 1em 1.25em 2.2em; }

.calendar_entry_add_edit a:before {
  content: '+';
  width: 36px;
  height: 36px;
  border-radius: 36px;
  display: block;
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  margin: 0 auto 0 auto;
  color: #2063D6;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 12px;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif; }

.rtl .calendar_entry_add_edit a:before {
  left: auto;
  right: 12px; }

#section_1 .calendar_entry_add_edit a:before {
  color: #2063D6; }

#section_2 .calendar_entry_add_edit a:before {
  color: #DE3F3A; }

#section_1 input:checked ~ .switch-paddle {
  background-color: #2063D6; }

#section_2 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_1 #calendar_add_edit_entry_modal h3 {
  color: #041944; }

#section_2 #calendar_add_edit_entry_modal h3 {
  color: #570239; }

#calendar_add_edit_entry_modal h3 .add {
  display: block; }

#calendar_add_edit_entry_modal h3 .edit {
  display: none; }

#section_1 .button.delete {
  background: darkred !important; }

#section_2 .button.delete {
  background: darkred !important; }

#calendar_entry_form .button {
  display: inline-block;
  background: #2063D6;
  margin: auto; }

#calendar_activities_type_slider .calendar_text_block {
  background-color: #e4e8f2;
  height: 260px;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  border-radius: 10px;
  padding: 1.875rem 1rem 1rem 1rem;
  text-align: center; }

#calendar_activities_type_slider .calendar_text_block p {
  font-size: 1.25rem; }

#calendar_activities_type_slider p {
  font-weight: 700;
  color: #041944; }

#calendar_activities_type_slider .button.income {
  background: #A7D6A3;
  color: #000;
  border-radius: 10px;
  border: none;
  margin-right: 5px; }

.rtl #calendar_activities_type_slider .button.income {
  margin-left: 5px;
  margin-right: 0; }

#calendar_activities_type_slider .button.income:hover {
  background: #8eca89; }

#calendar_activities_type_slider .button.cost {
  background: #EB7C7C;
  color: #000;
  border-radius: 10px;
  border: none;
  margin-left: 5px; }

.rtl #calendar_activities_type_slider .button.cost {
  margin-left: 0;
  margin-right: 5px; }

#calendar_activities_type_slider .button.cost:hover {
  background: #e65d5d; }

#calendar_activities_type_slider .orbit-container:before {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  content: '';
  -webkit-box-shadow: none;
          box-shadow: none; }

#calendar_activities_type_slider .orbit-next.do_not_proceed {
  background-color: rgba(0, 0, 0, 0.2); }

#calendar_activities_type_slider .orbit-next.do_not_proceed:hover {
  cursor: not-allowed; }

#calendar_activities_type_slider .orbit-slide {
  padding-bottom: 0; }

#calendar_activities_type_slider .orbit-slide .block_text .block {
  background-color: #2063D6;
  height: 200px;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  border-radius: 10px; }

#calendar_activities_type_slider .orbit-slide .block_text.income .block {
  background: #A7D6A3; }

#calendar_activities_type_slider .orbit-slide .block_text.cost .block {
  background: #EB7C7C; }

#calendar_activities_type_slider .orbit-slide .block_text h4 {
  color: #fff; }

#calendar_activities_type_slider .activity-type-buttons {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: 0.625rem;
  border: 0; }

/*#calendar_activities_type_slider .activity-type-buttons::before, #calendar_activities_type_slider .activity-type-buttons::after {
    content: '';
    display: none;
}*/
#calendar_activities_type_slider .activity-type-buttons-source {
  display: none; }

/* Calendar button styles */
/*.button.calendar_done, .button.expanded.calendar_done {
    display: none;
}*/
/* 
 * TASKS
 */
.tasks {
  position: relative; }

.tasks h3 {
  font-size: 1rem;
  padding: 0.3125rem;
  margin: 0 0 5px 0;
  text-align: left;
  color: #999;
  text-transform: uppercase; }

.tasks .column, .tasks .columns {
  padding: 0; }

.tasks .tasks_entry {
  width: 100%;
  margin-bottom: 2px;
  list-style: none; }

.tasks .tasks_entry {
  position: relative; }

/*.tasks .tasks_entry .task-entry-edit-tooltip {
	position: absolute;
	bottom: calc(100% + 5px);
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff;
	background-image: svgPencilIcon( #2d353f );
	background-position: left 9px center;
	background-repeat: no-repeat;
	background-size: 16px 16px;
	color: #2d353f;
	border: 2px solid #2d353f;
	font-size: rem-calc(14);
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	padding: rem-calc(10 15 10 30);
	border-radius: 4px;
	box-shadow: 0px 4px 10px rgba(0,0,0,0.3);
	pointer-events: none;
	user-select: none;
}

.tasks .tasks_entry .task-entry-edit-tooltip:after {
	content: '';
	width: 10px;
	height: 10px;
	border: 10px solid transparent;
	border-top-color: #2d353f;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
}*/
.tasks .tasks_entry a, .tasks_category_list ul li {
  color: #666;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 1.25rem 1.25rem;
  background-color: #fff;
  margin-bottom: 0.75rem;
  display: block;
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }

.tasks .tasks_entry a:hover {
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5); }

.tasks .tasks_entry a.section_1 {
  background-color: #2063D6; }

.tasks .tasks_entry a.section_2 {
  background-color: #DE3F3A; }

.tasks .tasks_entry a:focus {
  outline: none; }

.tasks.activity_types .tasks_entry a:hover {
  cursor: default; }

.tasks:not(.add_edit_activities) .tasks_entry a.cost,
#section_2 .section_2b .tasks .tasks_entry a.cost {
  background: #EB7C7C;
  color: #000; }

.tasks:not(.add_edit_activities) .tasks_entry a.hi.cost,
#section_2 .section_2b .tasks_entry a.hi.cost {
  background: #e96c6c; }

.tasks:not(.add_edit_activities) .tasks_entry a.income,
#section_2 .section_2b .tasks .tasks_entry a.income {
  background: #A7D6A3;
  color: #000; }

.tasks:not(.add_edit_activities) .tasks_entry a.hi.income,
#section_2 .section_2b .tasks .tasks_entry a.hi.income {
  background: #9bd096; }

.tasks.activity_types li.tasks_entry_add_edit {
  display: none; }

li.tasks_entry_add_edit.no_entries {
  bottom: auto;
  top: 0; }

.tasks_entry_add_edit a {
  width: 104px;
  height: 104px;
  background-color: #2063D6;
  border-radius: 150px;
  background-repeat: no-repeat;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  text-align: center;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }

.tasks_entry_add_edit a:hover {
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.45);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.45); }

.tasks_entry_add_edit a:before {
  margin: 12px auto 5px auto;
  content: '+';
  width: 36px;
  height: 36px;
  border-radius: 36px;
  background: #fff;
  display: block;
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  text-align: center; }

#section_1 .tasks_entry_add_edit a {
  background-color: #2063D6; }

#section_1 .tasks_entry_add_edit a:before {
  color: #2063D6; }

#section_2 .tasks_entry_add_edit a {
  background-color: #DE3F3A;
  margin: auto; }

#section_2 .tasks_entry_add_edit a:before {
  color: #DE3F3A; }

#section_1 input:checked ~ .switch-paddle {
  background-color: #2063D6; }

#section_2 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_1 #tasks_add_edit_entry_modal h3 {
  color: #041944; }

#section_2 #tasks_add_edit_entry_modal h3 {
  color: #570239; }

#tasks_add_edit_entry_modal h3 .add {
  display: block; }

#tasks_add_edit_entry_modal h3 .edit {
  display: none; }

#section_1 .button.delete {
  background: darkred !important; }

#section_2 .button.delete {
  background: darkred !important; }

#section_3 .button.delete {
  background: darkred !important; }

#section_4 .button.delete {
  background: darkred !important; }

#todos .button.delete {
  background: darkred !important; }

#tasks_entry_form .button {
  display: inline-block;
  background: #2063D6;
  margin: auto; }

#tasks_types_slider .task_text_block {
  background-color: #ffeae0;
  min-height: 315px;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  border-radius: 10px;
  padding: 1.875rem 1rem 1rem 1rem;
  text-align: left; }

#tasks_types_slider .task_text_block p, #tasks_types_slider .task_text_block ol li {
  font-size: 1.25rem; }

#tasks_types_slider p, #tasks_types_slider .task_text_block ol li {
  font-weight: 700;
  color: #041944; }

#tasks_types_slider .task_text_block ol {
  margin-left: 2.5rem;
  margin-bottom: 1.5rem; }

#tasks_types_slider .orbit-container:before {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  content: '';
  -webkit-box-shadow: none;
          box-shadow: none; }

#tasks_types_slider .orbit-next.do_not_proceed {
  background-color: rgba(0, 0, 0, 0.2); }

#tasks_types_slider .orbit-next.do_not_proceed:hover {
  cursor: not-allowed; }

#tasks_types_slider .orbit-slide {
  padding-bottom: 0; }

#tasks_types_slider .orbit-slide .block_text .block {
  margin-top: 0.9375rem;
  margin-bottom: 0.9375rem;
  color: #666;
  border-radius: 10px;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  min-height: 100px; }

#tasks_types_slider .orbit-slide h4 {
  margin-top: 1rem; }

#tasks_types_slider .orbit-slide .block_text h4 {
  color: #666;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

#tasks_types_slider .orbit-slide .block_text.idea .block {
  background: #ED7543; }

#tasks_types_slider .orbit-slide .block_text.production .block {
  background: #DE3F3A; }

#tasks_types_slider .orbit-slide .block_text.marketing .block {
  background: #AC0244; }

#tasks_types_slider .orbit-slide .block_text.management .block {
  background: #570239; }

#tasks_types_slider .orbit-slide .block_text.idea h4, #tasks_types_slider .orbit-slide .block_text.production h4, #tasks_types_slider .orbit-slide .block_text.marketing h4, #tasks_types_slider .orbit-slide .block_text.management h4 {
  color: #fff; }

#tasks_types_slider .tasks-types-buttons {
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  margin-top: 0.625rem;
  border: 0; }

#tasks_types_slider .tasks-types-buttons .button {
  margin-bottom: 0;
  min-height: 100px; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.idea {
  background-color: #ED7543; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.production {
  background-color: #DE3F3A; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.marketing {
  background-color: #AC0244; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.management {
  background-color: #570239; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.idea:hover {
  background: #de5015; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.production:hover {
  background: #c02520; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.marketing:hover {
  background: #8a0236; }

#section_2 #tasks_types_slider .tasks-types-buttons .button.management:hover {
  background: #46022e; }

#tasks_types_slider .tasks-types-buttons-source {
  display: none; }

.tasks_category_list > li {
  color: #fff;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700; }

.tasks_category_list ul.menu.nested {
  margin-left: 0;
  margin-top: 0.625rem; }

.rtl .tasks_category_list ul.menu.nested {
  margin-right: 0; }

.tasks_category_list ul li {
  width: 100%; }

.tasks_category_list li.category {
  border-radius: 8px;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem; }

.tasks_category_list li.idea {
  background-color: #ED7543; }

.tasks_category_list li.production {
  background-color: #DE3F3A; }

.tasks_category_list li.marketing {
  background-color: #AC0244; }

.tasks_category_list li.management {
  background-color: #570239; }

/* 
 * SECTION 5 LISTS
 */
.lists {
  position: relative; }

.lists h3 {
  font-size: 1rem;
  padding: 0.3125rem;
  margin: 0 0 5px 0;
  text-align: left;
  color: #999;
  text-transform: uppercase; }

.lists .column, .lists .columns {
  padding: 0; }

.lists .list-headings {
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem; }
  .lists .list-headings p {
    color: #541F3F;
    font-weight: 400; }

.lists .lists_container {
  margin-left: 0; }

.lists .lists_entry {
  width: 100%;
  margin-bottom: 1.5rem;
  list-style: none; }

.lists .lists_entry {
  position: relative; }

.lists .lists_entry a .row div {
  padding-right: 0.5rem;
  white-space: normal;
  margin-bottom: 0.5rem;
  position: relative; }

.lists .lists_entry a .row div:last-child {
  padding-right: 0; }

.lists .lists_entry a {
  color: #333;
  font-family: "Source Sans Pro", 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  padding: 1.25rem 1.25rem;
  background-color: #fff;
  margin-bottom: 0.75rem;
  display: block;
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }

.lists .lists_entry a:hover {
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5); }

.lists .lists_entry a:focus {
  outline: none; }

li.lists_entry_add_edit.no_entries {
  bottom: auto;
  top: 0; }

.lists_entry_add_edit a {
  width: 104px;
  height: 104px;
  background-color: #2063D6;
  border-radius: 150px;
  background-repeat: no-repeat;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  text-align: center;
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.25);
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }

.lang-ms_my .lists_entry_add_edit a {
  width: 126px;
  height: 126px; }

.lists_entry_add_edit a:hover {
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.45);
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.45); }

.lists_entry_add_edit a:before {
  margin: 12px auto 5px auto;
  content: '+';
  width: 36px;
  height: 36px;
  border-radius: 36px;
  background: #fff;
  display: block;
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  text-align: center; }

.lang-ms_my .lists_entry_add_edit a:before {
  margin: 12px auto 10px auto; }

#section_5 .lists_entry_add_edit a {
  background-color: #BA1578;
  margin: auto; }

#section_5 .lists_entry_add_edit a:before {
  color: #BA1578; }

#section_5 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#lists_add_edit_entry_modal h3 {
  color: #570239; }

#lists_add_edit_entry_modal h3 .add {
  display: block; }

#lists_add_edit_entry_modal h3 .edit {
  display: none; }

#lists_entry_form .button {
  display: inline-block;
  background: #BA1578;
  margin: auto; }

.lists_category_list > li {
  color: #fff;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700; }

/* 0 - 739px Only */
@media only screen and (min-width: 0) and (max-width: 46.188em) {
  .lists .lists_entry a .row div.field-1:before, .lists .lists_entry a .row div.field-2:before, .lists .lists_entry a .row div.field-3:before {
    content: attr(data-label) ": ";
    display: block;
    color: #541F3F;
    font-weight: 400;
    margin-bottom: 0.375rem; }
  .lists .lists_entry a .row div {
    padding-right: 0;
    margin-bottom: 1.2rem; }
  .lists .lists_entry a .row div:last-child {
    margin-bottom: 0.4rem; } }

/* 
 * TODOS
 */
.todos {
  position: relative; }

.todos h3 {
  font-size: 1rem;
  padding: 0.3125rem;
  margin: 0 0 5px 0;
  text-align: left;
  color: #999;
  text-transform: uppercase; }

.todos .column, .todos .columns {
  padding: 0; }

.todos .loading {
  width: 5.625rem;
  height: 5.625rem;
  margin: auto;
  position: relative; }

.todos .loading p {
  height: 1rem;
  font-size: 1rem;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-60%);
          transform: translateX(-50%) translateY(-60%);
  padding: 0;
  margin: 0;
  z-index: 1; }

.todos .loading .ring {
  display: inline-block;
  width: 5.625rem;
  height: 5.625rem;
  margin: auto;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0; }

.todos .loading .ring:after {
  content: " ";
  display: block;
  width: 5.625rem;
  height: 5.625rem;
  margin: 1px;
  border-radius: 50%;
  border: 8px solid cadetblue;
  border-color: cadetblue transparent cadetblue transparent;
  -webkit-animation: ring 1.2s linear infinite;
          animation: ring 1.2s linear infinite; }

@-webkit-keyframes ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes ring {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.todos .todos_entry {
  width: 100%;
  margin-bottom: 2px;
  position: relative; }

.todos .todos_entry a {
  color: #666;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 1.25rem 1.25rem 1.25rem 3.5rem;
  background-color: #fff;
  margin-bottom: 0.75rem;
  display: block;
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: -webkit-box-shadow 0.5s;
  transition: -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s;
  transition: box-shadow 0.5s, -webkit-box-shadow 0.5s; }

.rtl .todos .todos_entry a {
  padding: 1.25rem 3.5rem 1.25rem 1.25rem; }

.todos .todos_entry a:hover {
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5); }

.todos .todos_entry a.section_1 {
  background-color: #2063D6; }

.todos .todos_entry a.section_2 {
  background-color: #DE3F3A; }

.todos .todos_entry a:focus {
  outline: none; }

.todos .todos_entry button.status {
  position: absolute;
  top: 13px;
  left: 12px;
  z-index: 1;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #999;
  margin: 0;
  background-color: #fff;
  text-indent: -5000px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px; }

.rtl .todos .todos_entry button.status {
  left: auto;
  right: 12px; }

.todos .todos_entry button.status:hover {
  cursor: pointer;
  background-image: url("../img/large-tick.svg");
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.todos .todos_entry button.status.completed {
  background-image: url("../img/large-white-tick.svg");
  background-color: #999; }

.todos .todos_entry .checkbox {
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1; }

.todos .todos_entry .checkbox input[type="checkbox"] {
  opacity: 0; }

.todos .todos_entry .checkbox label::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 2.5rem;
  border: 1px solid; }

.todos .todos_entry .checkbox label::after {
  content: "";
  display: inline-block;
  height: 6px;
  width: 9px;
  border-left: 2px solid;
  border-bottom: 2px solid;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.todos .todos_entry .checkbox label {
  position: relative; }

.todos .todos_entry .checkbox label::before,
.todos .todos_entry .checkbox label::after {
  position: absolute; }

/*Outer-box*/
.todos .todos_entry .checkbox label::before {
  top: 3px; }

/*Checkmark*/
.todos .todos_entry .checkbox label::after {
  left: 4px;
  top: 7px; }

/*Hide the checkmark by default*/
.todos .todos_entry .checkbox input[type="checkbox"] + label::after {
  content: none; }

/*Unhide the checkmark on the checked state*/
.todos .todos_entry .checkbox input[type="checkbox"]:checked + label::after {
  content: ""; }

/*Adding focus styles on the outer-box of the fake checkbox*/
.todos .todos_entry .checkbox input[type="checkbox"]:focus + label::before {
  outline: #3b99fc auto 5px; }

.callout.todos_entry_add_edit {
  padding-left: 0;
  padding-right: 0;
  display: block; }

/*
.callout.todos_entry_add_edit a {
    display: block;
}
*/
.callout.todos_entry_add_edit span {
  content: '';
  background-color: #8a8a8a;
  width: 70px;
  height: 70px;
  border-radius: 70px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  color: #fff;
  line-height: 70px;
  padding: 0;
  font-size: 3rem;
  font-weight: 400; }

#section_1 .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: rgba(4, 57, 165, 0.8); }

#section_1 .callout.todos_entry_add_edit:hover {
  background-color: #0439a5; }

#section_1 .callout.todos_entry_add_edit .plus {
  background-color: #2063D6; }

#section_1 .callout.todos_entry_add_edit:hover .plus {
  background-color: #1d59c1; }

#section_2 .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: rgba(237, 117, 67, 0.8); }

#section_2 .callout.todos_entry_add_edit:hover {
  background-color: #ed7543; }

#section_2 .callout.todos_entry_add_edit .plus {
  background-color: #DE3F3A; }

#section_2 .callout.todos_entry_add_edit:hover .plus {
  background-color: #d82a24; }

#section_3 .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: rgba(98, 182, 83, 0.8); }

#section_3 .callout.todos_entry_add_edit:hover {
  background-color: #62b653; }

#section_3 .callout.todos_entry_add_edit .plus {
  background-color: #196C6A; }

#section_3 .callout.todos_entry_add_edit:hover .plus {
  background-color: #17615f; }

#section_4 .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: rgba(176, 49, 231, 0.8); }

#section_4 .callout.todos_entry_add_edit:hover {
  background-color: #b031e7; }

#section_4 .callout.todos_entry_add_edit .plus {
  background-color: #CC5DFF; }

#section_4 .callout.todos_entry_add_edit:hover .plus {
  background-color: #c13aff; }

#section_5 .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: #ba1578; }

#section_5 .callout.todos_entry_add_edit:hover {
  background-color: rgba(186, 21, 120, 0.8); }

#section_5 .callout.todos_entry_add_edit .plus {
  background-color: #FF8DB9; }

#section_5 .callout.todos_entry_add_edit:hover .plus {
  background-color: #ff65a1; }

#section_5 .callout.todos_entry_add_edit h4 {
  color: #fff; }

#todos .callout.todos_entry_add_edit {
  padding-top: 3.125rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  text-transform: uppercase;
  background-color: rgba(51, 51, 51, 0.8); }

#todos .callout.todos_entry_add_edit:hover {
  background-color: #333333; }

#todos .callout.todos_entry_add_edit .plus {
  background-color: #333; }

#todos .callout.todos_entry_add_edit:hover .plus {
  background-color: #2e2e2e; }

#section_1 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_2 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_3 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_4 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_5 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#todos input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_1 #todos_add_edit_entry_modal h3 {
  color: #041944; }

#section_2 #todos_add_edit_entry_modal h3 {
  color: #570239; }

#todos_add_edit_entry_modal h3 .add {
  display: block; }

#todos_add_edit_entry_modal h3 .edit {
  display: none; }

#section_1 .button.delete {
  background: darkred !important; }

#section_2 .button.delete {
  background: darkred !important; }

#section_3 .button.delete {
  background: darkred !important; }

#section_4 .button.delete {
  background: darkred !important; }

#section_5 .button.delete {
  background: darkred !important; }

#todos .button.delete {
  background: darkred !important; }

#todos_entry_form .button {
  display: inline-block;
  background: #2063D6;
  margin: auto; }

.todo_list li {
  color: #666;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  width: 100%;
  border-radius: 8px;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem; }

/* 
 * PRODUCTS
 */
.products {
  position: relative; }

.products h3 {
  font-size: 1rem;
  padding: 0.3125rem;
  margin: 0 0 5px 0;
  text-align: left;
  color: #999;
  text-transform: uppercase; }

.products .column, .products .columns {
  padding: 0; }

.products .products_entry {
  width: 100%;
  margin-bottom: 0.625rem;
  position: relative;
  border-radius: 0;
  padding: 0;
  min-height: 60px; }

.products .products_entry a {
  color: #666;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  background-color: #fff;
  margin-bottom: 0;
  display: block;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

#section_1 .products .products_entry a {
  color: #2063D6; }

#section_2 .products .products_entry a {
  color: #DE3F3A; }

#section_3 .products .products_entry a {
  color: #50AD47; }

#section_4 .products .products_entry a {
  color: #50AD47; }

.products .products_entry a.add {
  background-color: transparent;
  border: 3px dashed rgba(255, 255, 255, 0.75);
  border-radius: 0;
  color: rgba(255, 255, 255, 0.75); }

.products .products_entry a:hover {
  -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 12px rgba(0, 0, 0, 0.5); }

.products .products_entry a.section_1 {
  background-color: #2063D6; }

.products .products_entry a.section_2 {
  background-color: #A71AE4; }

.products .products_entry a:focus {
  outline: none; }

#section_1 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_2 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_3 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_4 input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#products input:checked ~ .switch-paddle {
  background-color: #DE3F3A; }

#section_1 #products_add_edit_entry_modal h3 {
  color: #041944; }

#section_2 #products_add_edit_entry_modal h3 {
  color: #570239; }

#products_add_edit_entry_modal h3 .add {
  display: block; }

#products_add_edit_entry_modal h3 .edit {
  display: none; }

#section_1 .button.delete {
  background: darkred !important; }

#section_2 .button.delete {
  background: darkred !important; }

#section_3 .button.delete {
  background: darkred !important; }

#section_4 .button.delete {
  background: darkred !important; }

#products .button.delete {
  background: darkred !important; }

#products_entry_form .button {
  display: inline-block;
  background: #2063D6;
  margin: auto; }

.products li {
  color: #666;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  width: 100%;
  border-radius: 8px;
  padding: 0.9375rem;
  margin-bottom: 0.9375rem; }

.product_page .description {
  background-color: #F5F5F5;
  border-radius: 5px;
  padding: 0.625rem;
  font-weight: 700; }

.product_page .description p {
  margin-bottom: 0; }

.product_page label, .product_markets_page label {
  color: #134852; }

#section_1 .product_page h4, #section_1 .product_markets_page h4 {
  color: #041944;
  margin-top: 0; }

#section_2 .product_page h4, #section_2 .product_markets_page h4 {
  color: #570239;
  margin-top: 0; }

#section_3 .product_page h4, #section_3 .product_markets_page h4 {
  color: #50AD47;
  margin-top: 0; }

#section_4 .product_page h4, #section_4 .product_markets_page h4 {
  color: #300C5E;
  margin-top: 0; }

.product_markets_page .product_market_picker li a {
  color: #999;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  padding: 1.25rem 1.25rem 1.25rem 3.5rem;
  background-color: #fff;
  margin-bottom: 0.75rem;
  display: block;
  width: 100%;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  position: relative;
  text-transform: uppercase;
  -webkit-transition: background-color 0.25s, -webkit-box-shadow 0.5s;
  transition: background-color 0.25s, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, background-color 0.25s;
  transition: box-shadow 0.5s, background-color 0.25s, -webkit-box-shadow 0.5s; }

.rtl .product_markets_page .product_market_picker li a {
  padding: 1.25rem 3.5rem 1.25rem 1.25rem; }

.product_markets_page .product_market_picker li a:hover {
  color: #999;
  background-color: #fff; }

.product_markets_page .product_market_picker li a.checked, .product_markets_page .product_market_picker li a.checked:hover {
  color: #fff;
  background-color: #50AD47; }

.product_markets_page .product_market_picker li a:after {
  content: '';
  position: absolute;
  top: 13px;
  left: 12px;
  z-index: 10;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid transparent;
  margin: 0;
  background-color: #eee;
  text-indent: -5000px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px; }

.rtl .product_markets_page .product_market_picker li a:after {
  left: auto;
  right: 12px; }

.product_markets_page .product_market_picker li a.checked:after, .product_markets_page .product_market_picker li a:hover:after {
  background-color: #fff;
  background-image: url("../img/large-green-tick.svg");
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

/*
 * LANGUAGE SELECTOR
 */
.language-menu-icon {
  width: auto;
  height: auto;
  padding: 0.375rem 1.875rem 0.25rem 0;
  border-bottom: 2px solid #2d353f;
  color: #2d353f;
  font-size: 0.875rem;
  font-family: 'Montserrat';
  font-weight: 500;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011.96%2011.96%22%3E%3Cpolyline%20points%3D%2211.37%203.45%205.98%208.51%200.59%203.45%22%20fill%3D%22none%22%20stroke%3D%22%232d353f%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222.5%22%2F%3E%3C%2Fsvg%3E");
  background-position: center right;
  background-repeat: no-repeat;
  background-size: 20px 11px; }

.language-menu-icon:hover {
  cursor: pointer; }

#language_menu h1 {
  background-color: #fff;
  padding-top: 1rem;
  padding-bottom: 1.4rem;
  font-family: 'Montserrat';
  font-weight: 400;
  font-size: 1.25rem;
  color: #73797f;
  margin-bottom: 0; }

#language_menu h1 strong {
  display: block;
  font-weight: 600;
  font-size: 40px;
  color: #2d353f; }

#language_menu h2 {
  font-family: 'Montserrat';
  font-weight: 400;
  font-size: 2.25rem; }

#language_menu h2 strong {
  font-weight: 700; }

.row.close-button-row {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
  height: 70px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

.language_selector ul.radiobuttons {
  margin-top: 1.25rem;
  margin-bottom: 4.375rem;
  margin-left: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.language_selector ul.radiobuttons li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
  padding: 0.625rem; }

.language_selector input[type=radio] {
  display: none; }

.language_selector input[type=radio] + label {
  margin-left: 0;
  margin-right: 0;
  padding: 0.625rem 0.625rem 0.625rem 3.5rem;
  min-width: 100px;
  display: block;
  font-weight: 400;
  font-size: 1.25rem;
  background-color: rgba(238, 245, 251, 0.3);
  border: 2px solid #fff;
  -webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
  color: #73797f;
  text-align: left;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s; }

.language_selector label {
  position: relative;
  font-family: 'Montserrat', sans-serif; }

.language_selector label:hover {
  background-color: rgba(255, 255, 255, 0.75) !important;
  color: #5c626a !important;
  /*font-weight: 700;
	padding-left: rem-calc(65);*/ }

.language_selector label:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 19px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 62.4375rem;
  border: 2px solid rgba(22, 31, 42, 0.1);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.language_selector label:first-of-type {
  border-radius: 10px; }

.language_selector label:last-of-type {
  border-radius: 10px; }

.language_selector input[type=radio]:checked + label {
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  color: #5c626a;
  font-weight: 700;
  padding-left: 4.0625rem; }

.language_selector input[type=radio]:checked + label:before {
  background-color: #50AD47;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013.44%2011.23%22%3E%3Cpolygon%20points%3D%224.28%207.09%202.07%204.89%200%206.96%204.28%2011.23%2013.44%202.07%2011.37%200%204.28%207.09%22%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.1875rem;
  border: 2px solid #fff;
  width: 2.5rem;
  height: 2.5rem;
  left: 11px; }

.language_selector label {
  text-align: center; }

.language_selector label:hover {
  cursor: pointer; }

.language_selector input[type=submit] {
  display: block;
  font-family: 'Montserrat', sans-serif; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  #language_menu h2 {
    font-size: 1.5rem; }
  .language_selector ul.radiobuttons li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
    padding: 0.1875rem 0.625rem; }
  .language_selector input[type=radio] + label {
    margin-left: 0;
    margin-right: 0;
    padding: 0.5rem 0.625rem 0.5rem 3.5rem;
    min-width: 100px;
    display: block;
    font-weight: 400;
    font-size: 1rem; }
  .language_selector ul.radiobuttons {
    margin-bottom: 1.875rem; } }

/* 
 * TRIANGLES / CIRCLES LIST ELEMENTS
 */
.source_list {
  display: none; }

.triangles_circles_selector {
  background-color: rgba(25, 55, 147, 0.9);
  position: relative; }

.triangles_circles_selector .reset {
  position: absolute;
  bottom: -10px;
  right: 2%;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  -webkit-transition: padding 0.25s;
  transition: padding 0.25s; }

.triangles_circles_selector .add.triangle_add {
  width: 170px;
  height: 143px; }

.triangles_circles_selector .add.circle_add {
  width: 114px;
  height: 114px;
  background-color: #2063D6;
  border-radius: 150px;
  -webkit-transition: width 0.25s, height 0.25s, margin-bottom 0.25s;
  transition: width 0.25s, height 0.25s, margin-bottom 0.25s; }

.triangles_circles_selector .add.circle_add:hover {
  width: 124px;
  height: 124px;
  margin-bottom: -5px; }

.lang-hy .triangles_circles_selector .add.circle_add {
  width: 126px;
  height: 126px; }

.lang-hy .triangles_circles_selector .add.circle_add:hover {
  width: 130px;
  height: 130px;
  margin-bottom: -3px; }

.triangles_circles_selector .add {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-repeat: no-repeat;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.125rem;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  padding: 0.625rem; }

.triangles_circles_selector .add:before {
  content: '+';
  width: 36px;
  height: 36px;
  border-radius: 36px;
  background: #fff;
  display: block;
  font-size: 36px;
  line-height: 1;
  font-weight: bold;
  text-align: center; }

.triangles_circles_selector .add.triangle_add:before {
  margin: 38px auto 8px auto; }

.triangles_circles_selector .add.circle_add:before {
  margin: 25px auto 2px auto; }

#section_1 .triangles_circles_selector .add.triangle_add {
  background-image: url("../img/triangle-blue.svg");
  background-size: 95%;
  background-position: center;
  -webkit-transition: background-size 0.25s;
  transition: background-size 0.25s; }

#section_1 .triangles_circles_selector .add.triangle_add:hover {
  background-size: 100%; }

#section_1 .triangles_circles_selector .add:before {
  color: #2063D6; }

.triangles, .circles {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.2;
  color: #fff; }

.triangles li, .circles li {
  display: inline-block;
  margin: 0.625rem;
  padding: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.triangles li div, .circles li div {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.1, 0.25, 0.1, 0.25);
          transition-timing-function: cubic-bezier(0.1, 0.25, 0.1, 0.25);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.triangles li a, .circles li a {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); }

.triangles li div.popped, .circles li div.popped {
  -webkit-animation: popped 0.35s ease-out 1;
          animation: popped 0.35s ease-out 1; }

.triangles li div.popped a, .circles li div.popped a {
  pointer-events: none; }

.triangles li div.popped:hover a, .circles li div.popped:hover a {
  cursor: default; }

@-webkit-keyframes popped {
  0% { }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0); } }

@keyframes popped {
  0% { }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0); } }

.triangles li div:not(.popped).anim_1, .circles li div:not(.popped).anim_1 {
  -webkit-animation: anim_1 1.15s linear infinite;
          animation: anim_1 1.15s linear infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

.triangles li div:not(.popped).anim_2, .circles li div:not(.popped).anim_2 {
  -webkit-animation: anim_2 1.25s linear infinite;
          animation: anim_2 1.25s linear infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

@-webkit-keyframes anim_1 {
  0% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(0.99);
            transform: translateX(1px) translateY(-1px) scale(0.99); }
  25% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  50% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(1.01);
            transform: translateX(-1px) translateY(1px) scale(1.01); }
  75% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  100% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(0.99);
            transform: translateX(1px) translateY(-1px) scale(0.99); } }

@keyframes anim_1 {
  0% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(0.99);
            transform: translateX(1px) translateY(-1px) scale(0.99); }
  25% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  50% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(1.01);
            transform: translateX(-1px) translateY(1px) scale(1.01); }
  75% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  100% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(0.99);
            transform: translateX(1px) translateY(-1px) scale(0.99); } }

@-webkit-keyframes anim_2 {
  0% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(0.99);
            transform: translateX(-1px) translateY(1px) scale(0.99); }
  25% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  50% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(1.01);
            transform: translateX(1px) translateY(-1px) scale(1.01); }
  75% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  100% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(0.99);
            transform: translateX(-1px) translateY(1px) scale(0.99); } }

@keyframes anim_2 {
  0% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(0.99);
            transform: translateX(-1px) translateY(1px) scale(0.99); }
  25% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  50% {
    -webkit-transform: translateX(1px) translateY(-1px) scale(1.01);
            transform: translateX(1px) translateY(-1px) scale(1.01); }
  75% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  100% {
    -webkit-transform: translateX(-1px) translateY(1px) scale(0.99);
            transform: translateX(-1px) translateY(1px) scale(0.99); } }

/*@keyframes jiggle_a {
    0% { transform: rotate(1deg); }
   50% { transform: rotate(-1deg); }
  100% { transform: rotate(1deg); }
}

@keyframes jiggle_b {
    0% { transform: rotate(-1deg); }
   50% { transform: rotate(1.1deg); }
  100% { transform: rotate(-1deg); }
}

@keyframes jiggle_c {
    0% { transform: rotate(-1.2deg); }
   50% { transform: rotate(1.2deg); }
  100% { transform: rotate(-1.2deg); }
}

@keyframes jiggle_d {
    0% { transform: rotate(-1.3deg); }
   50% { transform: rotate(1.1deg); }
  100% { transform: rotate(-1.3deg); }
}*/
.triangles li div:not(.popped):hover, .circles li div:not(.popped):hover {
  -webkit-animation: none;
          animation: none;
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-transform: scale(1.1) !important;
          transform: scale(1.1) !important; }

.triangles li a {
  background: url("../img/triangle.svg") 0 0 no-repeat;
  background-size: 120px 90px;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 120px;
  height: 90px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.triangles li a:hover:after {
  content: '\2715';
  position: absolute;
  font-size: 0.875rem;
  text-align: center;
  line-height: 26px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #E24444;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  text-shadow: none; }

.circles li a {
  background-color: rgba(255, 255, 255, 0.2);
  list-style: none;
  padding: 0;
  margin: 0;
  width: 95px;
  height: 95px;
  border-radius: 100px;
  display: block;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.lang-hy .circles li a {
  width: 150px;
  height: 150px; }

.circles li a:hover:after {
  content: '\2715';
  position: absolute;
  font-size: 0.875rem;
  text-align: center;
  line-height: 26px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #E24444;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  text-shadow: none; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .triangles_circles_selector .reset {
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }

/* 
 * LOZENGES LIST ELEMENTS
 */
.lozenges_selected_words {
  padding-top: 0.625rem;
  padding-left: 0;
  padding-right: 0;
  position: relative; }

.lozenges_selected_words ul {
  background-color: #fff;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
  list-style: none;
  margin: 0;
  padding: 0.75rem 3.3125rem 0.75rem 0;
  min-height: 4.25rem; }

.rtl .lozenges_selected_words ul {
  padding: 0.75rem 0 0.75rem 3.3125rem; }

.lozenges_selected_words ul.no-shadow {
  -webkit-box-shadow: none;
          box-shadow: none; }

.lozenges_selected_words.no_interaction ul {
  padding: 0.75rem 0 0.75rem 0; }

.lozenge_item_count {
  font-size: 0.75rem;
  background-color: #B5E99F;
  color: #134852;
  padding: 0.75rem 0.75rem;
  text-transform: none;
  margin-bottom: 0.625rem;
  border-radius: 100px;
  width: 36px;
  height: 36px;
  line-height: 1;
  position: absolute;
  top: 16px;
  right: 10px; }

.rtl .lozenge_item_count {
  left: 10px;
  right: auto; }

.lozenges_selected_words.no_interaction .lozenge_item_count {
  display: none; }

.lozenges {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1.2;
  color: #fff; }

.lozenges li, .lozenges_selected_words ul li, ul.selected_words_list li {
  display: inline-block;
  margin: 0.625rem;
  padding: 5px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.lozenges li, .lozenges_selected_words ul li, ul.selected_words_list li {
  margin: 0.3125rem;
  padding: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.lozenges li a, .lozenges_selected_words ul li a, ul.selected_words_list li {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.lozenges li a.button, .lozenges_selected_words ul li a.button, ul.selected_words_list li {
  font-size: 0.75rem;
  background-color: rgba(255, 255, 255, 0.8);
  color: #116044;
  padding: 0.625rem 0.875rem;
  text-transform: none;
  margin-bottom: 0.625rem; }

.lozenges_selected_words ul li a.button, ul.selected_words_list li {
  background-color: #65c03f;
  color: #fff;
  margin-bottom: 0;
  position: relative;
  font-weight: 700;
  border-radius: 100px; }

.lozenges_selected_words ul li a.button:hover {
  background-color: #56a336; }

.lozenges_selected_words.no_interaction ul li a.button:hover {
  background-color: #65c03f;
  cursor: default; }

.lozenges_selected_words ul li a.button:hover:after {
  content: '\2715';
  position: absolute;
  font-size: 0.875rem;
  text-align: center;
  line-height: 26px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #E24444;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%); }

.lozenges_selected_words.no_interaction ul li a.button:hover:after {
  display: none; }

.lozenges li a.button:hover {
  background-color: white; }

.lozenge_add.hollow {
  border-color: #fff;
  color: #fff;
  padding: 0.625rem 2.5rem;
  margin-top: 0.625rem; }

.lozenge_add.hollow:focus, .lozenge_add.hollow:hover {
  border-color: #fff;
  background-color: #fff;
  color: #116044; }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  /*.triangles_circles_selector .reset {
        padding-left: rem-calc(10);
        padding-right: rem-calc(10);
    }*/ }

/* 
 * PRODUCT RANDOMISER
 */
.product_randomiser {
  position: relative;
  /*background: url('../img/randomiser-bg.svg') 0 0 no-repeat;
    background-size: 100%;*/
  border-radius: 10px;
  margin-top: 0.625rem;
  margin-bottom: 2.25rem;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
  padding: 0;
  /*overflow: hidden;*/ }

.product_randomiser img {
  border-radius: 10px; }

.product_randomiser .slot {
  position: absolute;
  top: 7%;
  bottom: 20%;
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 7px rgba(10, 10, 10, 0.9);
          box-shadow: inset 0 0 7px rgba(10, 10, 10, 0.9);
  background-color: #fff;
  width: 29.3333%;
  margin: 0;
  list-style: none;
  overflow: hidden; }

.product_randomiser .slot:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  height: 25%;
  content: '';
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(205, 205, 205, 0.9)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgba(205, 205, 205, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 10; }

.product_randomiser .slot:after {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  height: 25%;
  content: '';
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(205, 205, 205, 0.9)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, rgba(205, 205, 205, 0.9) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 10; }

.product_randomiser ul {
  margin: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.product_randomiser ul.animated {
  display: none; }

.product_randomiser ul li {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #570239;
  padding-left: 3px;
  padding-right: 3px;
  height: 70px;
  padding-top: 10px;
  padding-bottom: 10px;
  /*border-bottom: 1px solid #eee;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%); }

.product_randomiser.materials ul li {
  color: #BA1578; }

/* 0 - 449px Only */
@media only screen and (min-width: 0) and (max-width: 449px) {
  .product_randomiser ul li {
    font-size: 0.875rem; } }

.product_randomiser ul li.question_mark {
  color: #570239;
  font-size: 1.625rem;
  opacity: 1; }

.product_randomiser ul li.default {
  opacity: 1; }

.product_randomiser ul li span {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.product_randomiser .slot.place, .product_randomiser .slot.one {
  left: 4%; }

.product_randomiser .slot.colour, .product_randomiser .slot.two {
  left: 35.33333%; }

.product_randomiser .slot.colour li {
  width: 66px;
  height: 66px;
  border-radius: 100px;
  line-height: 66px;
  color: #fff;
  margin: 2px auto; }

/*.lang-hy .product_randomiser .slot.colour li {
    width: 106px;
    height: 106px;
    line-height: 106px;
}*/
.product_randomiser .slot.colour li.question_mark {
  background-color: #ddd;
  color: #570239;
  opacity: 1; }

.product_randomiser .slot.colour li.red {
  background-color: #b41549; }

.product_randomiser .slot.colour li.red span {
  text-shadow: 1px 1px 1px #333, -1px -1px 1px #333; }

.product_randomiser .slot.colour li.yellow {
  background-color: #edc01c;
  color: #333; }

.product_randomiser .slot.colour li.yellow span {
  text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff; }

.product_randomiser .slot.colour li.pink {
  background-color: #ff85bd;
  color: #333; }

.product_randomiser .slot.colour li.pink span {
  text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff; }

.product_randomiser .slot.colour li.green {
  background-color: #50ad47; }

.product_randomiser .slot.colour li.green span {
  text-shadow: 1px 1px 1px #333, -1px -1px 1px #333; }

.product_randomiser .slot.colour li.grey {
  background-color: #3e454e; }

.product_randomiser .slot.colour li.grey span {
  text-shadow: 1px 1px 1px #333, -1px -1px 1px #333; }

.product_randomiser .slot.colour li.orange {
  background-color: #ed7543; }

.product_randomiser .slot.colour li.orange span {
  text-shadow: 1px 1px 1px #333, -1px -1px 1px #333; }

.product_randomiser .slot.colour li.aqua {
  background-color: #27bae3;
  color: #333; }

.product_randomiser .slot.colour li.aqua span {
  text-shadow: 1px 1px 1px #fff, -1px -1px 1px #fff; }

.product_randomiser .slot.colour li.purple {
  background-color: #520d97; }

.product_randomiser .slot.colour li.purple span {
  text-shadow: 1px 1px 1px #333, -1px -1px 1px #333; }

.product_randomiser .slot.occasion, .product_randomiser .slot.three {
  left: 66.66666%; }

.product_randomiser a {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateY(75%) translateX(-50%);
          transform: translateY(75%) translateX(-50%);
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.6);
          box-shadow: 0 0 10px rgba(10, 10, 10, 0.6);
  font-size: 1.375rem;
  line-height: 0.7;
  width: 80%; }

/* 
 * CUSTOMER CREATOR
 */
.customer_creator {
  position: relative;
  margin-top: 0.625rem;
  margin-bottom: 2.25rem;
  padding: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.3); }

.customer_creator .main {
  background-color: #fff;
  /*height: 0;*/
  width: 100%;
  margin: 0 auto 0 auto;
  /*padding-bottom: 48%;*/
  position: relative;
  padding: 0;
  border: 1px solid #ddd;
  border-left: none; }

.customer_block {
  margin-top: 100px; }

.customer_block .customer_creator {
  margin-top: -100px;
  max-width: 350px; }

.customer_creator .main svg {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0; }

.svg_wrapper {
  width: 100%;
  border: 10px solid #fff;
  position: relative; }

.customer_creator .main svg .accessories > g,
.customer_creator .main svg .accessories > path,
.customer_creator .main svg .hats > g,
.customer_creator .main svg .hats > path,
.customer_creator .main svg .eyes > g,
.customer_creator .main svg .eyes > path,
.customer_creator .main svg .fringes > g,
.customer_creator .main svg .fringes > path,
.customer_creator .main svg .noses > g,
.customer_creator .main svg .noses > path,
.customer_creator .main svg .mouths > g,
.customer_creator .main svg .mouths > path,
.customer_creator .main svg .body .purple-body1,
.customer_creator .main svg .body .red-body1,
.customer_creator .main svg .body .blue-body1,
.customer_creator .main svg .body .green-body1,
.customer_creator .main svg .body .default-body1,
.customer_creator .main svg .hair > g,
.customer_creator .main svg .hair > path,
.customer_creator .main svg .background > g,
.customer_creator .main svg .background > path {
  display: none; }

.customer_creator .tools {
  display: inline-block;
  min-height: 40px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  border: 1px solid #ddd; }

.customer_creator .tool_selection ul {
  height: 450px;
  overflow-y: scroll;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  position: relative; }

.customer_creator .tool_selection ul li {
  width: calc(20% - 10px);
  margin: 0 0.625rem 0.625rem 0; }

.customer_creator .tool_selection div {
  position: relative; }

.customer_creator .tools:after {
  position: absolute;
  top: auto;
  bottom: 9px;
  left: 0;
  width: calc(100% - 15px);
  height: 25px;
  content: '';
  background: -webkit-gradient(linear, left bottom, left top, from(white), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, white 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 10;
  pointer-events: none; }

.customer_creator .tools select {
  height: 3.375rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border: none;
  border-bottom: 1px solid #E4E8F2;
  padding-left: 0.625rem;
  margin-top: 0.3125rem;
  margin-left: 0.625rem;
  margin-right: 0.625rem;
  width: calc(100% - 20px);
  color: #134852;
  background-image: url("../img/down-caret.svg");
  background-position: right -15px center;
  background-repeat: no-repeat;
  background-size: 16px 12px; }

.rtl .customer_creator .tools select {
  padding-right: 0.625rem;
  background-position: left 15px center; }

.customer_creator .tools select:focus {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: none; }

.customer_creator .tools ul {
  list-style: none;
  margin: 0;
  width: 100%;
  padding: 0 0.625rem 0.3125rem 0.625rem;
  display: none; }

.customer_creator .tools ul.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.customer_creator .tools li {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.customer_creator .tools li a {
  display: block;
  background-color: #F5F5F5;
  border: 2px solid #F5F5F5;
  padding: 0.3125rem;
  border-radius: 4px;
  width: 100%;
  height: auto;
  overflow: hidden;
  text-transform: capitalize;
  font-size: 0.75rem;
  margin: 0;
  /*text-indent: -5000px;*/ }

.customer_creator .tools li a:hover, .customer_creator .tools li a.active {
  border-color: #50AD47; }

.customer_creator .tools li a.none {
  color: transparent;
  position: relative; }

.customer_creator .tools li a.none:after {
  content: '\2715';
  position: absolute;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  color: #196C6A;
  /*width: 100%;
    height: 100%;*/
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%); }

.add_customer_yearly_income {
  font-size: 2rem; }

.customers {
  margin: 0;
  list-style: none; }

.customers li {
  margin: 0 0 1.25rem 0;
  position: relative; }

.customers .add_customer {
  display: block;
  background-color: transparent;
  border: 3px dashed rgba(25, 108, 106, 0.75);
  border-radius: 0;
  color: #196C6A;
  font-weight: 700;
  font-size: 2rem;
  padding: 1.875rem 1.25rem; }

.customers .add_customer:hover {
  -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); }

.customers .thumbnail {
  display: none; }

.customers .total {
  display: none;
  text-align: left; }

.rtl .customers .total {
  text-align: right; }

.customer_1 .thumbnail, .customer_1 .total {
  display: block; }

.customer_2 .thumbnail.always_show, .customer_2 .total.always_show, .customer_3 .thumbnail.always_show, .customer_3 .total.always_show {
  display: block; }

.customers .redo_customer {
  width: 150px;
  height: 150px;
  margin: 0;
  padding: 0 0.1875rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  color: rgba(25, 108, 106, 0.7);
  line-height: 1;
  font-size: 0.875rem;
  text-align: left;
  background-color: transparent;
  -webkit-transition: all 0.25s;
  transition: all 0.25s; }

.rtl .customers .redo_customer {
  left: auto;
  right: 0;
  text-align: right; }

.customers .redo_customer:hover {
  -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
  padding: 0.25rem 0.375rem;
  background-color: rgba(255, 255, 255, 0); }

.customers .redo_customer.fade {
  background-color: rgba(255, 255, 255, 0.4); }

.customers .total p {
  margin-bottom: 0;
  font-size: 1.0625rem; }

.customers .total p.memorable_name {
  margin-bottom: 0.625rem; }

.customers .total p.memorable_name, .customers .total p span.currency_symbol, .customers .total p span.total_text {
  font-size: 1.625rem;
  color: #196C6A; }

.customers .thumbnail .customer_creator {
  margin: 0;
  width: 150px;
  height: 150px;
  -webkit-transition: width 0.5s;
  transition: width 0.5s; }

.customers .thumbnail .customer_creator .main {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  width: 100%;
  height: 100%; }

/* 0 - 900px */
@media only screen and (max-width: 56.25em) {
  .customer_creator .tool_selection ul li {
    width: calc(25% - 10px); } }

/* 0 - 739px - Small Only */
@media only screen and (max-width: 46.188em) {
  .customer_creator .tool_selection ul li {
    width: calc(20% - 10px); }
  .customer_creator .main {
    border: 1px solid #ddd; }
  .customers .total p {
    font-size: 1rem; }
  .customers .total p.memorable_name, .customers .total p span.currency_symbol, .customers .total p span.total_text {
    font-size: 1.3125rem; } }

/* 0 - 460px */
@media only screen and (max-width: 28.75em) {
  .customers .thumbnail .customer_creator {
    width: 110px;
    height: 110px; }
  .customers .redo_customer {
    width: 110px;
    height: 110px; } }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  padding-bottom: 2rem;
  margin-left: 0; }

.slick-list {
  position: relative;
  overflow: visible;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  min-height: 1px;
  display: none; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-slider .slick-previous, .slick-slider .slick-next {
  width: 70px;
  height: 44px;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: center;
  -webkit-transform: none;
          transform: none;
  position: absolute;
  top: -80px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  background-color: #2d353f;
  border-radius: 999px;
  -webkit-transition: background-color 0.25s;
  transition: background-color 0.25s; }

.slick-slider .slick-previous:hover, .slick-slider .slick-next:hover {
  cursor: pointer;
  background-color: rgba(45, 53, 63, 0.75); }

.slick-slider .slick-previous {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17%200l-1.4%201.4L21.2%207H0v2h21.2l-5.6%205.6L17%2016l8-8-8-8z%22%2F%3E%3C%2Fsvg%3E");
  margin-right: 0;
  left: 80px;
  border-radius: 0 999px 999px 0; }

.slick-slider .slick-next {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M8%2016l1.4-1.4L3.8%209H25V7H3.8l5.6-5.6L8%200%200%208l8%208z%22%2F%3E%3C%2Fsvg%3E");
  margin-left: 0;
  left: 10px;
  border-radius: 999px 0 0 999px; }

.slick-slider .slick-previous.slick-disabled {
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23ccc%22%20fill-rule%3D%22evenodd%22%20d%3D%22M17%200l-1.4%201.4L21.2%207H0v2h21.2l-5.6%205.6L17%2016l8-8-8-8z%22%2F%3E%3C%2Fsvg%3E");
  opacity: 0.4; }

.slick-slider .slick-next.slick-disabled {
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2025%2016%22%3E%3Cpath%20fill%3D%22%23ccc%22%20fill-rule%3D%22evenodd%22%20d%3D%22M8%2016l1.4-1.4L3.8%209H25V7H3.8l5.6-5.6L8%200%200%208l8%208z%22%2F%3E%3C%2Fsvg%3E");
  opacity: 0.4; }

.slick-slider .slick-previous.slick-disabled:hover, .slick-slider .slick-next.slick-disabled:hover {
  cursor: default;
  border: 2px solid transparent; }

.slick-slide:focus {
  outline: none; }

/*.slick-slide * {
	flex: 100%;
}*/
.ct-label {
  fill: #505050;
  color: #505050;
  font-size: 1.1rem;
  line-height: 1; }

.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.ct-chart-pie .ct-label,
.ct-chart-donut .ct-label {
  dominant-baseline: central; }

.ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start; }

.ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start; }

.ct-label.ct-vertical.ct-start {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end; }

.ct-label.ct-vertical.ct-end {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start; }

.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  text-anchor: start; }

.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  text-anchor: start; }

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start; }

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start; }

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end; }

.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end; }

.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px; }

.ct-grid-background {
  fill: none; }

.ct-point {
  stroke-width: 10px;
  stroke-linecap: round; }

.ct-line {
  fill: none;
  stroke-width: 4px; }

.ct-area {
  stroke: none;
  fill-opacity: 0.1; }

.ct-bar {
  fill: none;
  stroke-width: 10px; }

.ct-slice-donut {
  fill: none;
  stroke-width: 60px; }

.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #9629ad; }

.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #9629ad; }

.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #ab62c9; }

.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #ab62c9; }

.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #77c962; }

.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #77c962; }

.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #005c59; }

.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #005c59; }

.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #2063d6; }

.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #2063d6; }

.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #0439a5; }

.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #0439a5; }

.ct-square {
  display: block;
  position: relative;
  width: 100%; }
  .ct-square:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 100%; }
  .ct-square:after {
    content: "";
    display: table;
    clear: both; }
  .ct-square > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-minor-second {
  display: block;
  position: relative;
  width: 100%; }
  .ct-minor-second:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 93.75%; }
  .ct-minor-second:after {
    content: "";
    display: table;
    clear: both; }
  .ct-minor-second > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-second {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-second:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 88.88889%; }
  .ct-major-second:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-second > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-minor-third {
  display: block;
  position: relative;
  width: 100%; }
  .ct-minor-third:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 83.33333%; }
  .ct-minor-third:after {
    content: "";
    display: table;
    clear: both; }
  .ct-minor-third > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-third {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-third:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 80%; }
  .ct-major-third:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-third > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-perfect-fourth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 75%; }
  .ct-perfect-fourth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-perfect-fourth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-perfect-fifth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 66.66667%; }
  .ct-perfect-fifth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-perfect-fifth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-minor-sixth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 62.5%; }
  .ct-minor-sixth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-minor-sixth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-golden-section {
  display: block;
  position: relative;
  width: 100%; }
  .ct-golden-section:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 61.8047%; }
  .ct-golden-section:after {
    content: "";
    display: table;
    clear: both; }
  .ct-golden-section > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-sixth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 60%; }
  .ct-major-sixth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-sixth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%; }
  .ct-minor-seventh:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 56.25%; }
  .ct-minor-seventh:after {
    content: "";
    display: table;
    clear: both; }
  .ct-minor-seventh > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-seventh:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 53.33333%; }
  .ct-major-seventh:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-seventh > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-octave {
  display: block;
  position: relative;
  width: 100%; }
  .ct-octave:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 50%; }
  .ct-octave:after {
    content: "";
    display: table;
    clear: both; }
  .ct-octave > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-tenth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 40%; }
  .ct-major-tenth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-tenth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-eleventh:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 37.5%; }
  .ct-major-eleventh:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-eleventh > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%; }
  .ct-major-twelfth:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 33.33333%; }
  .ct-major-twelfth:after {
    content: "";
    display: table;
    clear: both; }
  .ct-major-twelfth > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-double-octave {
  display: block;
  position: relative;
  width: 100%; }
  .ct-double-octave:before {
    display: block;
    float: left;
    content: "";
    width: 0;
    height: 0;
    padding-bottom: 25%; }
  .ct-double-octave:after {
    content: "";
    display: table;
    clear: both; }
  .ct-double-octave > svg {
    display: block;
    position: absolute;
    top: 0;
    left: 0; }

.ct-label {
  font-weight: 700;
  text-shadow: #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px; }

/* 0 - 639px - Small Only */
@media only screen and (max-width: 639px) {
  .ct-label {
    fill: #fff;
    color: #fff;
    font-weight: 700;
    text-shadow: #000 -1px -1px 1px, #000 1px 1px 1px, #000 -1px 1px 1px, #000 1px -1px 1px;
    font-size: 1rem; } }

/* PRINT CSS / OVERRIDES */
@page {
  size: A4;
  margin: 0; }

@media print {
  html, body {
    width: 210mm;
    height: 297mm; }
  html {
    padding: 5mm; }
  body > .row.expanded, #business_plan_todos_etc_menu, .business_plan_section .go-to-button, .business_plan_section .nav-buttons, .print-button {
    display: none; }
  #business_plan .outer-print-full-width {
    width: 100%;
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  #business_plan .business_plan_section article {
    margin-top: 0; }
  #business_plan .business_plan_section .row {
    width: 100%;
    max-width: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  #business_plan .business_plan_section .columns {
    width: 100%; }
  .business_plan_section article > .columns {
    padding-bottom: 10pt;
    padding-left: 0;
    padding-right: 0; }
  #business_plan .business_plan_section h1 {
    padding: 0;
    text-align: left;
    font-size: 22pt;
    margin-bottom: 10pt;
    border-bottom: 1px solid #000; }
  #business_plan .business_plan_section h3 {
    font-size: 12pt;
    margin-bottom: 4pt; }
  #business_plan .business_plan_section h4 {
    font-size: 11pt;
    margin-bottom: 4pt; }
  #business_plan .business_plan_section .calendar h3 {
    font-size: 11pt;
    margin-bottom: 0; }
  #business_plan .business_plan_section .calendar {
    margin-left: 0; }
  #business_plan .business_plan_section .calendar > li {
    min-height: auto; }
  #business_plan .business_plan_section .calendar.large-up-4 > .column, #business_plan .business_plan_section .calendar.large-up-4 > .columns,
  #business_plan .business_plan_section .calendar.medium-up-3 > .column,
  #business_plan .business_plan_section .calendar.medium-up-3 > .columns,
  #business_plan .business_plan_section .calendar.small-up-2 > .column,
  #business_plan .business_plan_section .calendar.small-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; }
  #business_plan .business_plan_section .calendar ul.nested.menu {
    padding-bottom: 4pt; }
  #business_plan .business_plan_section .calendar .calendar_entry a {
    padding: 2pt 4pt;
    margin-left: 0;
    margin-right: 0;
    overflow: visible;
    white-space: normal; }
  #business_plan .business_plan_section p {
    font-size: 10pt; }
  #business_plan .business_plan_section ul.keylist {
    list-style: disc;
    margin-left: 0;
    margin-bottom: 12pt; }
  #business_plan .business_plan_section ul.keylist li {
    display: inline-block;
    font-size: 10pt;
    margin-bottom: 3pt;
    margin-left: 2%;
    width: 47%; }
  #business_plan .business_plan_section ul.keylist li:after {
    display: none; }
  #business_plan .business_plan_section .accordion-title {
    padding: 0;
    text-align: left;
    font-size: 16pt; }
  #business_plan .business_plan_section .section_title {
    margin-top: 0;
    margin-bottom: 10pt;
    font-size: 16pt; }
  #business_plan .business_plan_section .accordion-title {
    text-decoration: none;
    line-height: 1.2;
    font-weight: 700; }
  #business_plan .business_plan_section .section_title span {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    font-size: 16pt;
    width: auto;
    height: auto;
    line-height: 1.2; }
  #business_plan .business_plan_section .section_title span i {
    display: inline;
    font-style: normal; }
  #business_plan .business_plan_section .accordion-content {
    display: block;
    padding: 0 0 0 0; }
  #business_plan .business_plan_section > .accordion-content {
    display: block;
    padding: 0 0 0 0; }
  #business_plan .business_plan_section .accordion-content .accordion .accordion-content {
    display: block;
    padding: 10pt 0 0 10pt; }
  /*
     * 1B
     */
  #business_plan .inside_outside_relationships_stacked .people li {
    height: auto; }
  #business_plan .inside_outside_relationships_stacked .people li span.static_people {
    height: auto;
    width: auto;
    padding: 4pt;
    margin-left: 2pt;
    margin-right: 2pt; }
  #business_plan .inside_outside_relationships_stacked .people li .person_name {
    -webkit-transform: none;
            transform: none;
    width: auto;
    position: relative;
    bottom: auto;
    left: auto;
    overflow: auto; }
  #business_plan .nested.menu.people {
    margin-left: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #business_plan #add_a_person_others_results {
    margin-bottom: 36pt !important; }
  /*
     * 2A
     */
  #business_plan .accordion-content.content-2a p {
    text-align: left; }
  /*
     * 2B
     */
  #business_plan #weekly_tab_panel.tabs-panel, #business_plan #monthly_tab_panel.tabs-panel {
    display: inline-block;
    width: 48%;
    padding-left: 0; }
  #business_plan #monthly-weekly-hours-tabs .tabs-title a {
    padding-bottom: 2pt;
    text-decoration: none;
    padding-left: 0; }
  #business_plan #monthly-weekly-hours-tabs .tabs-title > a:after {
    display: none; }
  #business_plan .monthly-weekly-tables table th, #business_plan .monthly-weekly-tables table td {
    font-size: 10pt; }
  #business_plan .ct-square {
    width: 256pt; }
  /*
     * 2C
     */
  #business_plan .tasks_category_list li.category {
    padding-top: 2pt;
    padding-left: 0;
    margin-bottom: 0; }
  #business_plan .tasks_category_list li.idea, #business_plan .tasks_category_list li.production, #business_plan .tasks_category_list li.marketing, #business_plan .tasks_category_list li.management {
    background-color: none; }
  #business_plan .tasks_category_list ul.menu.nested {
    margin-top: 0;
    list-style: disc; }
  #business_plan .tasks_category_list ul li {
    padding-top: 2pt;
    padding-bottom: 2pt;
    font-size: 12pt;
    font-weight: 400; }
  /*
     * 3B
     */
  #business_plan .accordion-content.content-3b {
    text-align: left; }
  #business_plan .selected_words_list {
    margin-left: 0; }
  #business_plan .selected_words_list li {
    padding: 2pt;
    margin-left: 0; }
  /*
     * 3C
     */
  #business_plan .accordion-content.content-3c {
    text-align: left; }
  #business_plan .key_block.padding {
    padding-top: 2pt;
    padding-left: 0;
    margin-bottom: 0 !important; }
  #business_plan .key_block p {
    margin-bottom: 6pt; }
  #business_plan .key_block h4, #business_plan .key_block p {
    margin-left: 10pt; }
  #business_plan .key_block h4:first-child {
    font-size: 12pt;
    margin-left: 0; }
  /*
     * 4a
     */
  #business_plan #annual_tab.tabs-panel, #business_plan #monthly_tab.tabs-panel {
    display: inline-block;
    width: 48%;
    padding-left: 0; }
  #business_plan #overheads-tables-tabs .tabs-title a {
    padding-bottom: 2pt;
    text-decoration: none;
    padding-left: 0; }
  #business_plan #overheads-tables-tabs .tabs-title > a:after {
    display: none; }
  #business_plan #annual_tab table tr td:nth-child(1), #business_plan #monthly_tab table td:nth-child(1) {
    width: 60%; }
  #business_plan #annual_tab table tr td:nth-child(2), #business_plan #monthly_tab table td:nth-child(2) {
    padding-left: 0;
    padding-right: 0;
    width: 40%; }
  #business_plan #annual_tab table td input, #business_plan #monthly_tab table td input {
    padding-right: 0; }
  #business_plan #annual_tab table td label, #business_plan #monthly_tab table td label,
  #business_plan #annual_tab table th label, #business_plan #monthly_tab table th label,
  #business_plan #annual_tab table th span, #business_plan #monthly_tab table th span,
  #business_plan #annual_tab table td input, #business_plan #monthly_tab table td input,
  #business_plan #annual_tab table th .currency_symbol, #business_plan #monthly_tab table th .currency_symbol,
  #business_plan #annual_tab table td .currency_symbol, #business_plan #monthly_tab table td .currency_symbol {
    font-size: 9pt; }
  #business_plan #s4_a_personal_salary_form table td label, #business_plan #s4_a_personal_salary_form table td input, #business_plan #s4_a_personal_salary_form table th label, #business_plan #s4_a_personal_salary_form table td span, #business_plan #s4_a_personal_salary_form table th span {
    font-size: 9pt; }
  /*
     * 5a
     */
  #business_plan .section_5 p, #business_plan .section_5 h3, #business_plan .section_5 h4 {
    text-align: left; }
  #business_plan .section_5 .key_block p, #business_plan .section_5 .key_block h3, #business_plan .section_5 .key_block h4, #business_plan .section_5 .key_block ul li {
    margin-left: 0; }
  #business_plan .section_5 .sustainability-badge {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
    #business_plan .section_5 .sustainability-badge p {
      text-align: center; }
  /*
     * 5b
     */
  /*
     * 5c
     */
  #business_plan_sustainability_map .row .columns {
    padding-left: 0;
    padding-right: 0; }
  #business_plan #sustainability_map_generated_container {
    padding-top: 10pt !important;
    padding-left: 0;
    padding-right: 0; }
  #business_plan .zoom-controls-container {
    display: none; }
  #business_plan .sustainability-map {
    display: block; }
    #business_plan .sustainability-map .sustainability-map-container {
      padding-left: 0;
      padding-right: 0; }
    #business_plan .sustainability-map .sustainability-map-container .scroll-strip--left,
    #business_plan .sustainability-map .sustainability-map-container .scroll-strip--right {
      display: none;
      left: -5000px;
      right: auto; }
    #business_plan .sustainability-map .sustainability-map--main-segment {
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 24pt;
      width: 100%;
      display: block;
      pointer-events: auto;
      -webkit-user-select: auto;
         -moz-user-select: auto;
          -ms-user-select: auto;
              user-select: auto; }
      #business_plan .sustainability-map .sustainability-map--main-segment h4 {
        margin-bottom: 0;
        pointer-events: auto;
        -webkit-user-select: auto;
           -moz-user-select: auto;
            -ms-user-select: auto;
                user-select: auto; }
      #business_plan .sustainability-map .sustainability-map--main-segment #sustainability_map_generated {
        -webkit-transform: none !important;
                transform: none !important;
        width: 100%; }
      #business_plan .sustainability-map .sustainability-map--main-segment #map_scroll_1 {
        margin-bottom: 0; }
      #business_plan .sustainability-map .sustainability-map--main-segment ul {
        display: block;
        text-align: left;
        list-style: circle;
        margin-left: 0;
        pointer-events: auto;
        -webkit-user-select: auto;
           -moz-user-select: auto;
            -ms-user-select: auto;
                user-select: auto; }
        #business_plan .sustainability-map .sustainability-map--main-segment ul li {
          display: block;
          text-align: left;
          list-style: circle;
          padding-left: 0;
          padding-right: 0;
          margin-left: 0;
          margin-right: 0;
          margin-bottom: 20pt; }
          #business_plan .sustainability-map .sustainability-map--main-segment ul li h5 {
            display: block;
            text-align: left;
            max-width: 100%;
            min-height: 1px;
            background-color: transparent;
            color: #000;
            border: none;
            -webkit-box-align: none;
                -ms-flex-align: none;
                    align-items: none;
            -webkit-box-pack: none;
                -ms-flex-pack: none;
                    justify-content: none;
            margin-left: 0;
            margin-right: 0;
            margin-bottom: 10pt;
            padding: 0;
            pointer-events: auto;
            -webkit-user-select: auto;
               -moz-user-select: auto;
                -ms-user-select: auto;
                    user-select: auto; }
          #business_plan .sustainability-map .sustainability-map--main-segment ul li ul {
            display: block;
            text-align: left;
            list-style: circle;
            margin-left: 14pt;
            width: 100%;
            pointer-events: auto;
            -webkit-user-select: auto;
               -moz-user-select: auto;
                -ms-user-select: auto;
                    user-select: auto; }
            #business_plan .sustainability-map .sustainability-map--main-segment ul li ul li {
              display: block;
              text-align: left;
              list-style: circle;
              padding: 0;
              border: none !important; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1sdHIuY3NzIiwiYXBwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFvbl9jcmFmdF9mdW5jdGlvbnMuc2NzcyIsImFvbl9jcmFmdF9wYWRfbWFyZy5zY3NzIiwiYW9uX2NyYWZ0X2hlYWRlcl9uYXYuc2NzcyIsImFvbl9jcmFmdF9mb290ZXIuc2NzcyIsImFvbl9jcmFmdF9leGVyY2lzZXMuc2NzcyIsImFvbl9jcmFmdF9yZXZlYWwuc2NzcyIsImFvbl9jcmFmdF9vcmJpdC5zY3NzIiwiYW9uX2NyYWZ0X2N1c3RvbS5zY3NzIiwiYW9uX2NyYWZ0X29uYm9hcmRpbmcuc2NzcyIsImFvbl9jcmFmdF9ob21lcGFnZS5zY3NzIiwiYW9uX2NyYWZ0X3NlY3Rpb25fMS5zY3NzIiwiYW9uX2NyYWZ0X3NlY3Rpb25fMi5zY3NzIiwiYW9uX2NyYWZ0X3NlY3Rpb25fMy5zY3NzIiwiYW9uX2NyYWZ0X3NlY3Rpb25fNC5zY3NzIiwiYW9uX2NyYWZ0X3NlY3Rpb25fNS5zY3NzIiwiYW9uX2NyYWZ0X3Byb2dyZXNzX2NpcmNsZXMuc2NzcyIsImFvbl9jcmFmdF9jYWxlbmRhci5zY3NzIiwiYW9uX2NyYWZ0X3Rhc2tzLnNjc3MiLCJhb25fY3JhZnRfc2VjdGlvbl81X2xpc3RzLnNjc3MiLCJhb25fY3JhZnRfdG9kb3Muc2NzcyIsImFvbl9jcmFmdF9wcm9kdWN0cy5zY3NzIiwiYW9uX2NyYWZ0X2xhbmd1YWdlX3NlbGVjdG9yLnNjc3MiLCJhb25fY3JhZnRfdHJpYW5nbGVzX2NpcmNsZXMuc2NzcyIsImFvbl9jcmFmdF9sb3plbmdlcy5zY3NzIiwiYW9uX2NyYWZ0X3Byb2R1Y3RfcmFuZG9taXNlci5zY3NzIiwiYW9uX2NyYWZ0X2N1c3RvbWVyX2NyZWF0b3Iuc2NzcyIsInNsaWNrLnNjc3MiLCJjaGFydGlzdC5zY3NzIiwiY2hhcnRpc3Qtc2V0dGluZ3Muc2NzcyIsImFvbl9jcmFmdF9wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQix5SEFBQTtBQ0FBOzs7OztFRk9FO0FHNEtNO0VDdElOO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjLEVBQUEsRUFDZjs7QUM5Q0QsMkVBQUE7QUFRQTtFQUNFLGlCQUFpQjtFQUNqQiw4QkFBOEIsRUFBQTs7QUFRaEM7RUFDRSxTQUFTLEVBQUE7O0FBTVg7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBU2xCO0VBQ0UsK0JBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixTQUFTO0VBQ1QsaUJBQWlCLEVBQUE7O0FBTW5CO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFRaEI7RUFDRSw2QkFBNkIsRUFBQTs7QUFNL0I7RUFDRSxnQkFBZ0I7RUFDaEIseUNBQWlDO1VBQWpDLGlDQUFpQyxFQUFBOztBQUtuQzs7RUFFRSxtQkFBbUIsRUFBQTs7QUFNckI7OztFQUdFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBS2hCO0VBQ0UsY0FBYyxFQUFBOztBQU1oQjs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBQTs7QUFHMUI7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsV0FBVyxFQUFBOztBQVFiO0VBQ0Usa0JBQWtCLEVBQUE7O0FBU3BCOzs7OztFQUtFLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLFNBQVMsRUFBQTs7QUFNWDs7RUFFRSxpQkFBaUIsRUFBQTs7QUFNbkI7O0VBRUUsb0JBQW9CLEVBQUE7O0FBS3RCOzs7O0VBSUUsMEJBQTBCLEVBQUE7O0FBSzVCOzs7O0VBSUUsa0JBQWtCO0VBQ2xCLFVBQVUsRUFBQTs7QUFLWjs7OztFQUlFLDhCQUE4QixFQUFBOztBQUtoQztFQUNFLDhCQUE4QixFQUFBOztB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QUNYLGNBQWMsRUFBQTs7QUFJaEI7RUFDRSxlQUFlO0VBQ2YsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixlQUFlLEVBQUE7O0FBTWI7RUFDRSxtQkloRDREO01KZ0Q1RCxzQkloRDREO1VKZ0Q1RCxrQkloRDREO0VKaUQ1RCxtQklqRDRELEVBQUE7O0FKdUQ5RDtFS3RJSixlRCtFa0UsRUFBQTs7QUorQzlEO0VBQ0UsbUJJaEQ0RDtNSmdENUQsdUJJaEQ0RDtVSmdENUQsbUJJaEQ0RDtFSmlENUQsb0JJakQ0RCxFQUFBOztBSnVEOUQ7RUt0SUoscUJEK0VrRSxFQUFBOztBSitDOUQ7RUFDRSxtQkloRDREO01KZ0Q1RCxpQkloRDREO1VKZ0Q1RCxhSWhENEQ7RUppRDVELGNJakQ0RCxFQUFBOztBSnVEOUQ7RUt0SUosc0JEK0VrRSxFQUFBOztBSitDOUQ7RUFDRSxtQkloRDREO01KZ0Q1RCx1QkloRDREO1VKZ0Q1RCxtQkloRDREO0VKaUQ1RCxvQklqRDRELEVBQUE7O0FKdUQ5RDtFS3RJSixnQkQrRWtFLEVBQUE7O0FKK0M5RDtFQUNFLG1CSWhENEQ7TUpnRDVELHVCSWhENEQ7VUpnRDVELG1CSWhENEQ7RUppRDVELG9CSWpENEQsRUFBQTs7QUp1RDlEO0VLdElKLHNCRCtFa0UsRUFBQTs7QUorQzlEO0VBQ0UsbUJJaEQ0RDtNSmdENUQsaUJJaEQ0RDtVSmdENUQsYUloRDREO0VKaUQ1RCxjSWpENEQsRUFBQTs7QUp1RDlEO0VLdElKLHNCRCtFa0UsRUFBQTs7QUorQzlEO0VBQ0UsbUJJaEQ0RDtNSmdENUQsdUJJaEQ0RDtVSmdENUQsbUJJaEQ0RDtFSmlENUQsb0JJakQ0RCxFQUFBOztBSnVEOUQ7RUt0SUosZ0JEK0VrRSxFQUFBOztBSitDOUQ7RUFDRSxtQkloRDREO01KZ0Q1RCx1QkloRDREO1VKZ0Q1RCxtQkloRDREO0VKaUQ1RCxvQklqRDRELEVBQUE7O0FKdUQ5RDtFS3RJSixzQkQrRWtFLEVBQUE7O0FKK0M5RDtFQUNFLG1CSWhENEQ7TUpnRDVELGlCSWhENEQ7VUpnRDVELGFJaEQ0RDtFSmlENUQsY0lqRDRELEVBQUE7O0FKdUQ5RDtFS3RJSixzQkQrRWtFLEVBQUE7O0FKK0M5RDtFQUNFLG1CSWhENEQ7TUpnRDVELHVCSWhENEQ7VUpnRDVELG1CSWhENEQ7RUppRDVELG9CSWpENEQsRUFBQTs7QUp1RDlEO0VLdElKLGdCRCtFa0UsRUFBQTs7QUorQzlEO0VBQ0UsbUJJaEQ0RDtNSmdENUQsdUJJaEQ0RDtVSmdENUQsbUJJaEQ0RDtFSmlENUQsb0JJakQ0RCxFQUFBOztBSnVEOUQ7RUt0SUosc0JEK0VrRSxFQUFBOztBSitDOUQ7RUFDRSxtQkloRDREO01KZ0Q1RCxrQkloRDREO1VKZ0Q1RCxjSWhENEQ7RUppRDVELGVJakQ0RCxFQUFBOztBSnVEOUQ7RUt0SUosc0JEK0VrRSxFQUFBOztBSjhEOUQ7RUExR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUYrQjtRQUUvQixrQkFGK0I7WUFFL0IsY0FGK0I7SUFHL0IsZUFIK0IsRUFBQTs7QUF1RzdCO0VBMUdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGK0I7UUFFL0IsaUJBRitCO1lBRS9CLGFBRitCO0lBRy9CLGNBSCtCLEVBQUE7O0FBdUc3QjtFQTFHSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRitCO1FBRS9CLHVCQUYrQjtZQUUvQixtQkFGK0I7SUFHL0Isb0JBSCtCLEVBQUE7O0FBdUc3QjtFQTFHSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRitCO1FBRS9CLGlCQUYrQjtZQUUvQixhQUYrQjtJQUcvQixjQUgrQixFQUFBOztBQXVHN0I7RUExR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUYrQjtRQUUvQixpQkFGK0I7WUFFL0IsYUFGK0I7SUFHL0IsY0FIK0IsRUFBQTs7QUF1RzdCO0VBMUdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGK0I7UUFFL0IsdUJBRitCO1lBRS9CLG1CQUYrQjtJQUcvQixvQkFIK0IsRUFBQTs7QUF1RzdCO0VBMUdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGK0I7UUFFL0IsdUJBRitCO1lBRS9CLG1CQUYrQjtJQUcvQixvQkFIK0IsRUFBQTs7QUF1RzdCO0VBMUdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGK0I7UUFFL0IsbUJBRitCO1lBRS9CLGVBRitCO0lBRy9CLGdCQUgrQixFQUFBOztBQW1JL0I7RUdyTkEsZ0JENkVTO0VDNUVULGVENEVTLEVBQUE7O0FGNElUO0VHek5BLHVCQUZ1QztFQUd2QyxzQkFIdUMsRUFBQTs7QVQrSm5DO0VNYUY7SUFDRSxtQkloRDREO1FKZ0Q1RCxzQkloRDREO1lKZ0Q1RCxrQkloRDREO0lKaUQ1RCxtQklqRDRELEVBQUE7RUp1RDlEO0lLdElKLGVEK0VrRSxFQUFBO0VKK0M5RDtJQUNFLG1CSWhENEQ7UUpnRDVELHVCSWhENEQ7WUpnRDVELG1CSWhENEQ7SUppRDVELG9CSWpENEQsRUFBQTtFSnVEOUQ7SUt0SUoscUJEK0VrRSxFQUFBO0VKK0M5RDtJQUNFLG1CSWhENEQ7UUpnRDVELGlCSWhENEQ7WUpnRDVELGFJaEQ0RDtJSmlENUQsY0lqRDRELEVBQUE7RUp1RDlEO0lLdElKLHNCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCx1QkloRDREO1lKZ0Q1RCxtQkloRDREO0lKaUQ1RCxvQklqRDRELEVBQUE7RUp1RDlEO0lLdElKLGdCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCx1QkloRDREO1lKZ0Q1RCxtQkloRDREO0lKaUQ1RCxvQklqRDRELEVBQUE7RUp1RDlEO0lLdElKLHNCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCxpQkloRDREO1lKZ0Q1RCxhSWhENEQ7SUppRDVELGNJakQ0RCxFQUFBO0VKdUQ5RDtJS3RJSixzQkQrRWtFLEVBQUE7RUorQzlEO0lBQ0UsbUJJaEQ0RDtRSmdENUQsdUJJaEQ0RDtZSmdENUQsbUJJaEQ0RDtJSmlE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O0VKdUQ5RDtJS3RJSixzQkQrRWtFLEVBQUE7RUorQzlEO0lBQ0UsbUJJaEQ0RDtRSmdENUQsdUJJaEQ0RDtZSmdENUQsbUJJaEQ0RDtJSmlENUQsb0JJakQ0RCxFQUFBO0VKdUQ5RDtJS3RJSixnQkQrRWtFLEVBQUE7RUorQzlEO0lBQ0UsbUJJaEQ0RDtRSmdENUQsdUJJaEQ0RDtZSmdENUQsbUJJaEQ0RDtJSmlENUQsb0JJakQ0RCxFQUFBO0VKdUQ5RDtJS3RJSixzQkQrRWtFLEVBQUE7RUorQzlEO0lBQ0UsbUJJaEQ0RDtRSmdENUQsaUJJaEQ0RDtZSmdENUQsYUloRDREO0lKaUQ1RCxjSWpENEQsRUFBQTtFSnVEOUQ7SUt0SUosc0JEK0VrRSxFQUFBO0VKK0M5RDtJQUNFLG1CSWhENEQ7UUpnRDVELHVCSWhENEQ7WUpnRDVELG1CSWhENEQ7SUppRDVELG9CSWpENEQsRUFBQTtFSnVEOUQ7SUt0SUosZ0JEK0VrRSxFQUFBO0VKK0M5RDtJQUNFLG1CSWhENEQ7UUpnRDVELHVCSWhENEQ7WUpnRDVELG1CSWhENEQ7SUppRDVELG9CSWpENEQsRUFBQTtFSnVEOUQ7SUt0SUosc0JEK0VrRSxFQUFBO0VKK0M5RDtJQUNFLG1CSWhENEQ7UUpnRDVELGlCSWhENEQ7WUpnRDVELGFJaEQ0RDtJSmlENUQsY0lqRDRELEVBQUE7RUp1RDlEO0lLdElKLHNCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCx1QkloRDREO1lKZ0Q1RCxtQkloRDREO0lKaUQ1RCxvQklqRDRELEVBQUE7RUp1RDlEO0lLdElKLGdCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCx1QkloRDREO1lKZ0Q1RCxtQkloRDREO0lKaUQ1RCxvQklqRDRELEVBQUE7RUp1RDlEO0lLdElKLHNCRCtFa0UsRUFBQTtFSitDOUQ7SUFDRSxtQkloRDREO1FKZ0Q1RCxrQkloRDREO1lKZ0Q1RCxjSWhENEQ7SUppRDVELGVJakQ0RCxFQUFBO0VKdUQ5RDtJS3RJSixzQkQrRWtFLEVBQUE7RUo4RDlEO0lBMUdKLG1C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SSxvQkpyTm9EO0VJaU9wRCxnQlJyTFc7RVE2TFgsYUFBYTtFQU9iLG1CUm5NZSxFQUFBOztBUW9LbkI7RUFJSSxlSnJOb0Q7RUlpT3BELGdCUnJMVztFUTZMWCxhQUFhO0VBT2IsbUJSbk1lLEVBQUE7O0FKd0NuQjtFWTRIQTtJQUlJLGtCSnJOb0QsRUFBQTtFSWlOeEQ7SUFJSSxvQkpyTm9ELEVBQUE7RUlpTnhEO0lBSUksaUJKck5vRCxFQUFBO0VJaU54RDtJQUlJLGtCSnJOb0QsRUFBQTtFSWlOeEQ7SUFJSSxvQkpyTm9ELEVBQUE7RUlpTnhEO0lBSUksZUpyTm9ELEVBQUEsRUlrUHZEOztBVnRSUDtFVTZSRSxvQkFBb0I7RUFDcEIsY1JqUmM7RVFrUmQscUJSN0t5QjtFUStLekIsZUFBZSxFQUFBO0VBTGpCO0lBU0ksY1JwTDJELEVBQUE7RVEySy9EO0lBZ0JJLFNBQVMsRUFBQTs7QVYvVGI7RVVxVUUsV0FBVztFQUVYLGdCSmhSNEQ7RUlpUjVELFNBQVM7RUFDVCxvQlJoTXlCO0VRa016QixhQUFhO0VBQ2IsZUFBZTtFQUNmLGdDUnRTaUI7RVF1U2pCLGNBQWMsRUFBQTs7QUFJaEI7OztFQUdFLHFCUjFONEI7RVEyTjVCLDRCUnpNeUI7RVEwTXpCLGdCUjdOc0IsRUFBQTs7QVFpT3hCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBSXBCO0VBQ0Usb0JSbk5zQjtFUW9OdEIscUJSdE5rQixFQUFBOztBUTBOcEI7RUFDRSxvQlJ6TnNCLEVBQUE7O0FRNk54QjtFQUVJLG9CUjlOMkI7RVErTjNCLGdCQUFnQixFQUFBOztBQUtwQjtFQUNFLG1CUnBPeUIsRUFBQTtFUW1PM0I7SUFJSSxxQlJyTzhCO0lRc085QixpQlJyVW1CLEVBQUE7O0FRMFV2QjtFQUNFLGtCUm5RNEI7RVFvUTVCLHNDSnhVNEQ7RUl5VTVELDhCUnpWaUIsRUFBQTtFUXNWbkI7SUFNSSxnQlJ6UW9CO0lRMFFwQixjUjVWYSxFQUFBOztBUTBXakI7RUFDRSxpQ1IxV1c7RVEyV1gsWUFBWTtFQUNaLHFCQUFxQixFQUFBOztBQUl2QjtFQUNF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SVlaNUIsbUJBQW1CLEVBQUE7RUFZbkI7SVg3UEEsY0FBYztJQUNkLFFBQVE7SUFDUixTQUFTO0lBRVQsbUJBQW1CO0lBQ25CLG1CV29QWTtJWGxQWixXQUFXO0lBR1Qsc0JBQXNCO0lBQ3RCLDZDQUFxRDtJV29QckQsa0JBQWtCO0lBQ2xCLFVBQVU7SUFFVixxQkFBcUI7SUFDckIsWUFBTztJQUNQLGdCWnZCdUIsRUFBQTtFWWtEekI7SUFvRVEseUJaaFVLLEVBQUE7RVk0UGI7SUEwRVkseUJaL1VJLEVBQUE7RVlxUWhCO0lBMEVZLHlCWjlVTSxFQUFBO0VZb1FsQjtJQTBFWSx5Qlo3VUksRUFBQTtFWW1RaEI7SUEwRVkseUJaNVVJLEVBQUE7RVlrUWhCO0lBMEVZLHlCWjNVRSxFQUFBO0VZaVFkO0lBbUZJLFdBQVc7SUFDWCxXQUFXO0lBQ1gsY0FBZ0MsRUFBQTs7QUFJcEM7RUFHSSxxQkFBcUIsRUFBQTs7QW5CcXlCM0I7O0VvQnRuQ0UsY0FBYztFQUNkLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGlCQUxzSjtFQU10SixnQlRHOEQ7RVNGOUQsZWI4VitCO0VhNVYvQix5QmIwVjhCO0VhelY5QixnQmJKZTtFYUtmLHlCYmZhO0VhZ0JiLHlEYmpCYTtVYWlCYixpRGJqQmE7RWFtQmIsb0JiOFV5QjtFYTdVekIsZVROOEQ7RVNPOUQsbUJiWjJCO0VhYTNCLGdCYmpDcUI7RWFrQ3JCLGNidkJhO0VhMEJYLDJFYm9WOEQ7RWFwVjlELG1FYm9WOEQ7RWFwVjlELDJEYm9WOEQ7RWFwVjlELG9GYm9WOEQ7RWEvVDlELHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RXBCaW1DbEI7O0lvQmpuQ0UsYUFBYTtJQUNiLHlCYnlVa0M7SWF4VWxDLHlCYmhDVztJYWlDWCxtQ2JwQ2lCO1lhb0NqQiwyQmJwQ2lCO0lhdUNmLDJFYnlVNEQ7SWF6VTVELG1FYnlVNEQ7SWF6VTVELDJEYnlVNEQ7SWF6VTVELG9GYnlVNEQsRUFBQTs7QUY1T2hFO0VlOUVFLGVBQWUsRUFBQTtF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QjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0EzQ3NFVjtFMkNyRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0EzQ21FQztFMkNyRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0FBL0ZMO0VDWUEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTs7QURSYjtFQUNFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FB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QUpDM0I7RUdvQkEsb0NBRnlCO1VBRXpCLDRCQUZ5QixFQUFBOztBSDlCekI7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLGdDQUZ5QjtVQUV6Qix3QkFGeUI7RUN0QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUd6QyxtQ0FBMkI7VUFBM0IsMkJBQTJCLEVBQUE7O0FKQzNCO0VHb0JBLG9DQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRmhDa0M7RUlFbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFU1QjtFR29CQSxVRmhDcUMsRUFBQTs7QURBckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGL0JrQztFSUNsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGL0JxQyxFQUFBOztBRERyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsNkJGNUJtRDtVRTRCbkQscUJGNUJtRDtFTUlqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLCtCRjNCcUQ7VUUyQnJELHVCRjNCcUQ7RU1HbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VIbUNqQyxnQ0YxQnNEO1VFMEJ0RCx3QkYxQnNEO0VNRXBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFSGtDL0IsOEJGekJvRDtVRXlCcEQsc0JGekJvRDtFTUNsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLGdDR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdwQ3FDO1VIb0NyQyw4Q0dwQ3FDO0VIb0NyQyxnQ0dFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw2QkZ0Qm1EO1VFc0JuRCxxQkZ0Qm1EO0VNRmpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsK0JGckJxRDtVRXFCckQsdUJGckJxRDtFTUhuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHOUJnQztVSDhCaEMsNkNHOUJnQztFQ2lCOUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDRnBCc0Q7VUVvQnRELHdCRnBCc0Q7RU1KcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzdCc0M7VUg2QnRDLDhDRzdCc0M7RUNnQnBDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw4QkZuQm9EO1VFbUJwRCxzQkZuQm9EO0VNTGxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxzREc1Qm9DO1VINEJwQyw4Q0c1Qm9DO0VDZWxDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHOUJnQztVSDhCaEMsNkNHOUJnQztFQ2lCOUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiw2QkFGeUI7VUFFekIscUJBRnlCO0VLekJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVJNN0I7RUdvQkEsMkJBRnlCO1VBRXpCLG1CQUZ5QjtFS2R2QixVQUEyQixFQUFBOztBUmhCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VD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ckIsbUJBQXFCO29CQUFyQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsVUFBVTtZQUNWLG9CQUFvQjtZQUNwQix5QkFBaUI7ZUFBakIsc0JBQWlCO2dCQUFqQixxQkFBaUI7b0JBQWpCLGlCQUFpQixFQUFBO1VBdkVyQztZQTJFb0IsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxvQkFBb0I7WUFDcEIseUJBQWlCO2VBQWpCLHNCQUFpQjtnQkFBakIscUJBQWlCO29CQUFqQixpQkFBaUIsRUFBQTtZQWpGckM7Y0FvRndCLGNBQWM7Y0FDZCxnQkFBZ0I7Y0FDaEIsa0JBQWtCO2NBQ2xCLFVBQVU7Y0FDVix1QkFBdUIsRUFBQSxFQUMxQiIsImZpbGUiOiJhcHAtbHRyLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIE5PVEU6IElOSVRJQUwgU0VUVElOR1MgSU1QT1JUIEFORCBMQU5HIERJUkVDVElPTiBBUkUgU0VUIElOIGBhcHAtbHRyYCBhbmQgYGFwcC1ydGxgIHNjc3MgZmlsZXMgdGhhdCBpbXBvcnQgdGhpcyBmaWxlICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNy40XG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICosIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cIm1vdXNlXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKixcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICo6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00Ni4yNWVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NjY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93LmlzLWNvbGxhcHNlLWNoaWxkLFxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyA+IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtaW4td2lkdGg6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkgYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbiwgLmxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJTb3VyY2UgU2FucyBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMS42ODc1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMjA2M0Q2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzFjNTViODsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5jaXRlLCAuY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgY2l0ZTpiZWZvcmUsIC5jaXRlLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuY29kZSwgLmNvZGUtaW5saW5lIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMS4yNWVtIDFlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjI0ODc1ZW0pIHtcbiAgICAuYnV0dG9uLnNtYWxsLW9ubHktZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi5tZWRpdW0tb25seS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24ubWVkaXVtLWRvd24tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgICAuYnV0dG9uLm1lZGl1bS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLW9ubHktZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLWRvd24tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDkwOTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTRmYWI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMGEwYTBhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDUwNTA1O1xuICAgIGNvbG9yOiAjMDUwNTA1OyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMyMDYzRDY7XG4gICAgY29sb3I6ICMyMDYzRDY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAzMjZiO1xuICAgIGNvbG9yOiAjMTAzMjZiOyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzc2NzY3NjtcbiAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2IzYjNiO1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICMwNTA1MDU7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzIwNjNENjsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMxMDMyNmI7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlZmVmZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzIwNjNENjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZjI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24sIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZmxleDogMSAxIDBweDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlOGYyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dFt0eXBlPSdyYW5nZSddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuNDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNDVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBpbnB1dFt0eXBlPSdyYW5nZSddOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ11bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjQ1cmVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMjA2M0Q2OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIGlucHV0W3R5cGU9J3JhbmdlJ106Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNDVyZW07XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMyMDYzRDY7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMC40NXJlbSBzb2xpZCAjZmVmZWZlO1xuICAgIGJvcmRlci1ib3R0b206IDAuNDVyZW0gc29saWQgI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBpbnB1dFt0eXBlPSdyYW5nZSddOjotbXMtdGh1bWIge1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyMDYzRDY7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7IH1cbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgb3V0cHV0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS40cmVtOyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzIwNjNENjsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICBjb250ZW50OiBcIitcIjsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAk1wiOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjNjY2OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE0ZmFiO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMGEwYTBhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzA1MDUwNTtcbiAgICBjb2xvcjogIzA1MDUwNTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzIwNjNENjtcbiAgICBjb2xvcjogIzIwNjNENjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzEwMzI2YjtcbiAgICBjb2xvcjogIzEwMzI2YjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM3Njc2NzY7XG4gICAgY29sb3I6ICM3Njc2NzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICBjb2xvcjogIzNiM2IzYjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDUwNTA1OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMyMDYzRDY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTAzMjZiOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjE4NzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMjQ4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzY2NjsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjNjY2OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICM2NjY7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5leHBhbmRlZC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXJpZ2h0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGltZyxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NhY2FjYSwgMCAxNHB4IDAgI2NhY2FjYTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogIzIwNjNENiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMyMDYzRDY7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIwNjNENiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzIwNjNENjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjA2M0Q2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMjA2M0Q2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjA2M0Q2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjA2M0Q2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIwNjNENiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjA2M0Q2OyB9IH1cblxuLmRyb3Bkb3duLm1lbnUuYWxpZ24tcmlnaHQgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbC5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5kcm9wZG93biAuaXMtZHJvcGRvd24tc3VibWVudSBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMjA2M0Q2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzIwNjNENjsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBjdXJzb3I6IGdyYWI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYjU0YjY7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gICAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogODAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMjQ4NzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBoZWlnaHQ6IDJyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzIwNjNENjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICM2NjY7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzIwNjNENjsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzFlNWVjYjsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMjA2M0Q2OyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzFjNTViODsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMyMDYzRDY7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIG5vbmU7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjNjY2O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMjQ4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ni4yNDg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjI0ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qIFxuICogRlVOQ1RJT05TXG4gKiBWYXJpb3VzIGZ1bmN0aW9ucyBmb3IgcmVuZGVyaW5nIFNWRyBpY29ucyAvIGFycm93cyBldGMuIFVzaW5nIHRoZXNlIGFsbG93cyBmaWxsIGNvbG91cnMgXG4gKiBhbmQgaW4gc29tZSBjYXNlcyBkaXJlY3Rpb24gb2YgYXJyb3dzIHRvIGJlIHNwZWNpZmllZCBhbmQgdGhlIHJlbGV2YW50IFNWRyBtYXJrdXAgb3V0cHV0XG4gKiB1cmxlbmNvZGVkIFNWR3MgaW4gdGhlIENTUyBmaWxlLlxuICovXG4vKlxuICogTUFSR0lOIC8gUEFERElORyBDTEFTU0VTIFxuICogVGhlc2UgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgZm9yIGFkZGluZyBvciByZW1vdmluZyBwYWRkaW5nIG9yIG1hcmdpbnNcbiAqIG9uIGVsZW1lbnRzIGluIGEgd2F5IHRvIGFsbG93IGZsZXhpYmxlIHZhcmlhdGlvbnMgYmV0d2VlbiBicmVha3BvaW50c1xuICovXG4udW5wYWRkZWQgLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnVucGFkZGVkLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnVucGFkZGVkX2NvbHVtbiwgLnVucGFkZGVkLWNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4udW5wYWRkZWRfY29sdW1uX2xlZnQsIC51bnBhZGRlZC1jb2x1bW4tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4udW5wYWRkZWRfY29sdW1uX3JpZ2h0LCAudW5wYWRkZWQtY29sdW1uLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtcGFkZGluZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG5cbi5zbWFsbC1wYWRkaW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ubm8tdG9wLXBhZGRpbmcsIC50b3AtcGFkZGluZy16ZXJvIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tYm90dG9tLXBhZGRpbmcsIC5ib3R0b20tcGFkZGluZy16ZXJvIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tdG9wLW1hcmdpbiwgLnRvcC1tYXJnaW4temVybyB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tYm90dG9tLW1hcmdpbiwgLmJvdHRvbS1tYXJnaW4temVybyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tbGVmdC1wYWRkaW5nLCAubGVmdC1wYWRkaW5nLXplcm8ge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tcmlnaHQtcGFkZGluZywgLnJpZ2h0LXBhZGRpbmctemVybyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tbGVmdC1tYXJnaW4sIC5sZWZ0LW1hcmdpbi16ZXJvIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4ubm8tcmlnaHQtbWFyZ2luLCAucmlnaHQtbWFyZ2luLXplcm8ge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4vKiBORUdBVElWRSBNQVJHSU5TICovXG4vKiAxNnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1uZWdhdGl2ZS1tYXJnaW4tb25lIHtcbiAgbWFyZ2luLXRvcDogLTE2cHggIWltcG9ydGFudDsgfVxuXG4uYm90dG9tLW5lZ2F0aXZlLW1hcmdpbi1vbmUge1xuICBtYXJnaW4tYm90dG9tOiAtMTZweCAhaW1wb3J0YW50OyB9XG5cbi8qIDMycHggUGFkZGluZyBvcHRpb25zICovXG4udG9wLW5lZ2F0aXZlLW1hcmdpbi10d28ge1xuICBtYXJnaW4tdG9wOiAtMzJweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXR3byB7XG4gIG1hcmdpbi1ib3R0b206IC0zMnB4ICFpbXBvcnRhbnQ7IH1cblxuLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtbmVnYXRpdmUtbWFyZ2luLXRocmVlIHtcbiAgbWFyZ2luLXRvcDogLTQ4cHggIWltcG9ydGFudDsgfVxuXG4uYm90dG9tLW5lZ2F0aXZlLW1hcmdpbi10aHJlZSB7XG4gIG1hcmdpbi1ib3R0b206IC00OHB4ICFpbXBvcnRhbnQ7IH1cblxuLmxhcmdlLW9mZnNldC0wNSB7XG4gIG1hcmdpbi1sZWZ0OiA0LjE1NTU1JTsgfVxuXG4vKiBQT1NJVElWRSAqL1xuLyogOHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLWhhbGYge1xuICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1wYWRkaW5nLWhhbGYge1xuICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1tYXJnaW4taGFsZiB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLWhhbGYge1xuICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuXG4vKiAxNnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLW9uZSB7XG4gIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1wYWRkaW5nLW9uZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1tYXJnaW4tb25lIHtcbiAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLW9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDsgfVxuXG4vKiAzMnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLXR3byB7XG4gIHBhZGRpbmctdG9wOiAzMnB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1wYWRkaW5nLXR3byB7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1tYXJnaW4tdHdvIHtcbiAgbWFyZ2luLXRvcDogMzJweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLXR3byB7XG4gIG1hcmdpbi1ib3R0b206IDMycHggIWltcG9ydGFudDsgfVxuXG4vKiA0OHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLXRocmVlIHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDsgfVxuXG4uYm90dG9tLXBhZGRpbmctdGhyZWUge1xuICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50OyB9XG5cbi50b3AtbWFyZ2luLXRocmVlIHtcbiAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLXRocmVlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50OyB9XG5cbi8qIDY0cHggUGFkZGluZyBvcHRpb25zICovXG4udG9wLXBhZGRpbmctZm91ciB7XG4gIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1wYWRkaW5nLWZvdXIge1xuICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50OyB9XG5cbi50b3AtbWFyZ2luLWZvdXIge1xuICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1tYXJnaW4tZm91ciB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHggIWltcG9ydGFudDsgfVxuXG4vKiA4MHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLWZpdmUge1xuICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tcGFkZGluZy1maXZlIHtcbiAgcGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudDsgfVxuXG4udG9wLW1hcmdpbi1maXZlIHtcbiAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLWZpdmUge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogOTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtcGFkZGluZy1zaXgge1xuICBwYWRkaW5nLXRvcDogOTZweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tcGFkZGluZy1zaXgge1xuICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50OyB9XG5cbi50b3AtbWFyZ2luLXNpeCB7XG4gIG1hcmdpbi10b3A6IDk2cHggIWltcG9ydGFudDsgfVxuXG4uYm90dG9tLW1hcmdpbi1zaXgge1xuICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7IH1cblxuLyogMTEycHggIFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLXNldmVuIHtcbiAgcGFkZGluZy10b3A6IDExMnB4ICFpbXBvcnRhbnQ7IH1cblxuLmJvdHRvbS1wYWRkaW5nLXNldmVuIHtcbiAgcGFkZGluZy1ib3R0b206IDExMnB4ICFpbXBvcnRhbnQ7IH1cblxuLnRvcC1tYXJnaW4tc2V2ZW4ge1xuICBtYXJnaW4tdG9wOiAxMTJweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tbWFyZ2luLXNldmVuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTEycHggIWltcG9ydGFudDsgfVxuXG4vKiAxMjhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtcGFkZGluZy1laWdodCB7XG4gIHBhZGRpbmctdG9wOiAxMjhweCAhaW1wb3J0YW50OyB9XG5cbi5ib3R0b20tcGFkZGluZy1laWdodCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjhweCAhaW1wb3J0YW50OyB9XG5cbi50b3AtbWFyZ2luLWVpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMTI4cHggIWltcG9ydGFudDsgfVxuXG4uYm90dG9tLW1hcmdpbi1laWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDEyOHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogMTZweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4ubGVmdC1wYWRkaW5nLW9uZSB7XG4gIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyB9XG5cbi5yaWdodC1wYWRkaW5nLW9uZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDsgfVxuXG4vKiAzMnB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbi5sZWZ0LXBhZGRpbmctdHdvIHtcbiAgcGFkZGluZy1sZWZ0OiAzMnB4ICFpbXBvcnRhbnQ7IH1cblxuLnJpZ2h0LXBhZGRpbmctdHdvIHtcbiAgcGFkZGluZy1yaWdodDogMzJweCAhaW1wb3J0YW50OyB9XG5cbi8qIDQ4cHggTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuLmxlZnQtcGFkZGluZy10aHJlZSB7XG4gIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50OyB9XG5cbi5yaWdodC1wYWRkaW5nLXRocmVlIHtcbiAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50OyB9XG5cbi5hbHQtcGFkZGluZyAuY29sdW1uOm50aC1jaGlsZChvZGQpLCAuYWx0LXBhZGRpbmcgLmNvbHVtbnM6bnRoLWNoaWxkKG9kZCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmFsdC1wYWRkaW5nIC5jb2x1bW46bnRoLWNoaWxkKGV2ZW4pLCAuYWx0LXBhZGRpbmcgLmNvbHVtbnM6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uc21hbGwtaW5uZXItcGFkZGluZyAuY29sdW1uOm50aC1jaGlsZChvZGQpLCAuc21hbGwtaW5uZXItcGFkZGluZyAuY29sdW1uczpudGgtY2hpbGQob2RkKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuXG4uc21hbGwtaW5uZXItcGFkZGluZyAuY29sdW1uOm50aC1jaGlsZChldmVuKSwgLnNtYWxsLWlubmVyLXBhZGRpbmcgLmNvbHVtbnM6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbi5hbHQtbGVmdC1wYWRkaW5nIC5jb2x1bW4sIC5hbHQtbGVmdC1wYWRkaW5nIC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUsIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLnBhZGRpbmctbGVmdC1yZXN0b3JlLCAucGFkZGluZy1sZWZ0LXJlc3RvcmUuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMzBweDsgfVxuXG4vKiAxMjgwcHggLSBsYXJnZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC51bnBhZGRlZC1jb2x1bW4tbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLyogMTAyM3B4IC0gbWVkICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gIC51bnBhZGRlZC1jb2x1bW4tbWVkaXVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLnBhZGRpbmctcmlnaHQtcmVzdG9yZSwgLnBhZGRpbmctcmlnaHQtcmVzdG9yZS5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC5wYWRkaW5nLWxlZnQtcmVzdG9yZSwgLnBhZGRpbmctbGVmdC1yZXN0b3JlLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAubm8tbGVmdC1wYWRkaW5nLXNtYWxsLW9ubHkge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLXNtYWxsLW9ubHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIDc0MHB4IC0gMTAyM3B4IC0gTWVkaXVtIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDYuMjVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gIC5uby1sZWZ0LXBhZGRpbmctbWVkaXVtLW9ubHkge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLW1lZGl1bS1vbmx5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiAxMDIzcHggLSAxMTk5cHggLSBMYXJnZSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45MzhlbSkge1xuICAubm8tbGVmdC1wYWRkaW5nLWxhcmdlLW9ubHkge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLWxhcmdlLW9ubHkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIE1pbi13aWR0aCBzaXplZCBjbGFzc2VzICovXG4vKiAwcHggYW5kIHVwICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gIC8qIFRyYW5zbGF0ZSBZICovXG4gIC50cmFuc2xhdGUteS0tNTAtc21hbGwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAubm8tbGVmdC1wYWRkaW5nLXNtYWxsLCAubGVmdC1wYWRkaW5nLXplcm8tc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLXNtYWxsLCAucmlnaHQtcGFkZGluZy16ZXJvLXNtYWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogTkVHQVRJVkUgTUFSR0lOUyAqL1xuICAvKiAxNnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLW5lZ2F0aXZlLW1hcmdpbi1vbmUtc21hbGwge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTZweCAhaW1wb3J0YW50OyB9XG4gIC8qIDMycHggUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtbmVnYXRpdmUtbWFyZ2luLXR3by1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogLTMycHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW5lZ2F0aXZlLW1hcmdpbi10d28tc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUtc21hbGwge1xuICAgIG1hcmdpbi10b3A6IC00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUtc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IC00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gIC5uby1sZWZ0LXBhZGRpbmctc21hbGwsIC5sZWZ0LXBhZGRpbmctemVyby1zbWFsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5vLXJpZ2h0LXBhZGRpbmctc21hbGwsIC5yaWdodC1wYWRkaW5nLXplcm8tc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAvKiA4cHggTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAubGVmdC1wYWRkaW5nLWhhbGYtc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnJpZ2h0LXBhZGRpbmctaGFsZi1zbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMTZweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gIC5sZWZ0LXBhZGRpbmctb25lLXNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDsgfVxuICAucmlnaHQtcGFkZGluZy1vbmUtc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDsgfVxuICAvKiAyNHB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLmxlZnQtcGFkZGluZy1vbmUtaGFsZi1zbWFsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnJpZ2h0LXBhZGRpbmctb25lLWhhbGYtc21hbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDsgfVxuICAvKiAzMnB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLmxlZnQtcGFkZGluZy10d28tc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMzJweCAhaW1wb3J0YW50OyB9XG4gIC5yaWdodC1wYWRkaW5nLXR3by1zbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMzJweCAhaW1wb3J0YW50OyB9XG4gIC8qIDAgVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctemVyby1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctemVyby1zbWFsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi16ZXJvLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4temVyby1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC8qIDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy1oYWxmLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLWhhbGYtc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi1oYWxmLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiA4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi1oYWxmLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuICAvKiAxNnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLW9uZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDE2cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctb25lLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLW9uZS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLW9uZS1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50OyB9XG4gIC8qIDMycHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctdHdvLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy10d28tc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tdHdvLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tdHdvLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogNDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy10aHJlZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctdGhyZWUtc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tdGhyZWUtc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDQ4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi10aHJlZS1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50OyB9XG4gIC8qIDY0cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctZm91ci1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDY0cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctZm91ci1zbWFsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHggIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi1mb3VyLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tZm91ci1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweCAhaW1wb3J0YW50OyB9XG4gIC8qIDgwcHggUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy1maXZlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1maXZlLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWZpdmUtc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi1maXZlLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogOTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXNpeC1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDk2cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctc2l4LXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTZweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLXNpeC1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogOTZweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXNpeC1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweCAhaW1wb3J0YW50OyB9XG4gIC8qIDExMnB4ICBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXNldmVuLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMTEycHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctc2V2ZW4tc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTJweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLXNldmVuLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAxMTJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXNldmVuLXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMTJweCAhaW1wb3J0YW50OyB9XG4gIC8qIDEyOHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLWVpZ2h0LXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMTI4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctZWlnaHQtc21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjhweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWVpZ2h0LXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAxMjhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLWVpZ2h0LXNtYWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjhweCAhaW1wb3J0YW50OyB9IH1cblxuLyogNzQwcHggYW5kIHVwICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLyogVHJhbnNsYXRlIFkgKi9cbiAgLnRyYW5zbGF0ZS15LS01MC1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAvKiAwIExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLm5vLWxlZnQtcGFkZGluZy1tZWRpdW0sIC5sZWZ0LXBhZGRpbmctemVyby1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLW1lZGl1bSwgLnJpZ2h0LXBhZGRpbmctemVyby1tZWRpdW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAvKiBORUdBVElWRSBNQVJHSU5TICovXG4gIC8qIDE2cHggUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtbmVnYXRpdmUtbWFyZ2luLW9uZS1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE2cHggIWltcG9ydGFudDsgfVxuICAvKiAzMnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLW5lZ2F0aXZlLW1hcmdpbi10d28tbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAtMzJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXR3by1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAtNDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXRocmVlLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTQ4cHggIWltcG9ydGFudDsgfVxuICAvKiAwIFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXplcm8tbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy16ZXJvLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi16ZXJvLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXplcm8tbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogOHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLWhhbGYtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLWhhbGYtbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4taGFsZi1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLWhhbGYtbWVkaXVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDsgfVxuICAvKiAxNnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLW9uZS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLW9uZS1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tb25lLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLW9uZS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDsgfVxuICAvKiAzMnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXR3by1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLXR3by1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tdHdvLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMzJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXR3by1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHggIWltcG9ydGFudDsgfVxuICAvKiA0OHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXRocmVlLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctdGhyZWUtbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLXRocmVlLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXRocmVlLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50OyB9XG4gIC8qIDY0cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctZm91ci1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLWZvdXItbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWZvdXItbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tZm91ci1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHggIWltcG9ydGFudDsgfVxuICAvKiA4MHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctZml2ZS1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLWZpdmUtbWVkaXVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWZpdmUtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tZml2ZS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudDsgfVxuICAvKiA5NnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctc2l4LW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDk2cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctc2l4LW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHggIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi1zaXgtbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tc2l4LW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweCAhaW1wb3J0YW50OyB9XG4gIC8qIDExMnB4ICBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXNldmVuLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLXNldmVuLW1lZGl1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tc2V2ZW4tbWVkaXVtIHtcbiAgICBtYXJnaW4tdG9wOiAxMTJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXNldmVuLW1lZGl1bSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTEycHggIWltcG9ydGFudDsgfVxuICAvKiAxMjhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy1laWdodC1tZWRpdW0ge1xuICAgIHBhZGRpbmctdG9wOiAxMjhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1laWdodC1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjhweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWVpZ2h0LW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogMTI4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi1laWdodC1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEyOHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiAxMDI0cHggYW5kIHVwICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLyogVHJhbnNsYXRlIFkgKi9cbiAgLnRyYW5zbGF0ZS15LS01MC1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC8qIDAgTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAubm8tbGVmdC1wYWRkaW5nLWxhcmdlLCAubGVmdC1wYWRkaW5nLXplcm8tbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5uby1yaWdodC1wYWRkaW5nLWxhcmdlLCAucmlnaHQtcGFkZGluZy16ZXJvLWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogTkVHQVRJVkUgTUFSR0lOUyAqL1xuICAvKiAxNnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLW5lZ2F0aXZlLW1hcmdpbi1vbmUtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IC0xNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTZweCAhaW1wb3J0YW50OyB9XG4gIC8qIDMycHggUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtbmVnYXRpdmUtbWFyZ2luLXR3by1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogLTMycHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW5lZ2F0aXZlLW1hcmdpbi10d28tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IC0zMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IC00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUtbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IC00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy16ZXJvLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy16ZXJvLWxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLXplcm8tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi16ZXJvLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLyogOHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLWhhbGYtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA4cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLXBhZGRpbmctaGFsZi1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDhweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWhhbGYtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLWhhbGYtbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50OyB9XG4gIC8qIDE2cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctb25lLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1vbmUtbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tb25lLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tb25lLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMzJweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy10d28tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLXR3by1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMycHggIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi10d28tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDMycHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi10d28tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHggIWltcG9ydGFudDsgfVxuICAvKiA0OHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLXRocmVlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy10aHJlZS1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDsgfVxuICAudG9wLW1hcmdpbi10aHJlZS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNDhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLXRocmVlLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogNjRweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gIC50b3AtcGFkZGluZy1mb3VyLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1mb3VyLWxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50OyB9XG4gIC50b3AtbWFyZ2luLWZvdXItbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDY0cHggIWltcG9ydGFudDsgfVxuICAuYm90dG9tLW1hcmdpbi1mb3VyLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogODBweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgLnRvcC1wYWRkaW5nLWZpdmUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1wYWRkaW5nLWZpdmUtbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tZml2ZS1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tbWFyZ2luLWZpdmUtbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudDsgfVxuICAvKiA5NnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctc2l4LWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOTZweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1zaXgtbGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tc2l4LWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tc2l4LWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMTEycHggIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctc2V2ZW4tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMTJweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1zZXZlbi1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tc2V2ZW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tc2V2ZW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLyogMTI4cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAudG9wLXBhZGRpbmctZWlnaHQtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMjhweCAhaW1wb3J0YW50OyB9XG4gIC5ib3R0b20tcGFkZGluZy1laWdodC1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnRvcC1tYXJnaW4tZWlnaHQtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmJvdHRvbS1tYXJnaW4tZWlnaHQtbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEyOHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMQU5EU0NBUEUgSEVBREVSIC8gTkFWIENTUyAqL1xuaDEubG9nbyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cblxuaDEubG9nbyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgaDEubG9nbyB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLmhlYWRlcl93cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuaGVhZGVyIC5tZW51IGEge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAwLjNyZW0gMDtcbiAgbWFyZ2luOiAxcmVtIDAuNnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuaGVhZGVyIG5hdiB7XG4gIGhlaWdodDogMi44NzVyZW07IH1cblxuaGVhZGVyIG5hdi5oaWRkZW4gYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5oZWFkZXIgbmF2IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMCU7XG4gIGxlZnQ6IDQ1JTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuXG5oZWFkZXIgbmF2IGE6aG92ZXIge1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XG5cbmhlYWRlciBuYXYgYTpob3ZlcjphZnRlciwgaGVhZGVyIG5hdiBhLmFjdGl2ZTphZnRlciwgaGVhZGVyIG5hdiAuY3VycmVudC1tZW51LWl0ZW0gYTphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7IH1cblxuaGVhZGVyIC5tZW51LWljb24ge1xuICB0ZXh0LWluZGVudDogLTUwMDBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi5zZWN0aW9uX21lbnUgPiBsaSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5zZWN0aW9uX21lbnUgbGkgdWwubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc2VjdGlvbl9tZW51IGxpIHVsIGxpIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uc2VjdGlvbl90aXRsZV9oZWFkZXIge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogI2VlZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7IH1cblxuLnNlY3Rpb25fdGl0bGVfaGVhZGVyLmhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyoucmV2ZWFsLmZ1bGwgLnNlY3Rpb25fbWVudSB7IHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpOyB9XG4ucmV2ZWFsLmZ1bGwgLnNlY3Rpb25fbWVudSA+IGxpIHsgYmFja2dyb3VuZDogIzY2NjsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApOyB9XG4ucmV2ZWFsLmZ1bGwgLnNlY3Rpb25fbWVudSBsaSB1bC5tZW51Lm5lc3RlZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4ucmV2ZWFsLmZ1bGwgLnNlY3Rpb25fbWVudSBsaSB1bCBsaSB7IGJhY2tncm91bmQ6ICMzMzM7IH1cbi5yZXZlYWwuZnVsbCAuc2VjdGlvbl9tZW51IGxpIGEgeyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTsgfSovXG4vKiBGT09URVIgTUVOVSAqL1xuLmZvb3Rlcl9tZW51IC5tZW51IGEsIC5mb290ZXJfbWVudSAubWVudSBzcGFuIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgMC4zcmVtIDA7XG4gIG1hcmdpbjogMC44cmVtIDEuNHJlbSAwLjhyZW0gMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLypmb250LXdlaWdodDogNzAwOyovIH1cblxubmF2LmZvb3Rlcl9tZW51IHtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG5cbm5hdi5mb290ZXJfbWVudSBhOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAlO1xuICBsZWZ0OiA0NSU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cblxubmF2LmZvb3Rlcl9tZW51IGE6aG92ZXIge1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XG5cbm5hdi5mb290ZXJfbWVudSBhOmhvdmVyOmFmdGVyLCBuYXYuZm9vdGVyX21lbnUgYS5hY3RpdmU6YWZ0ZXIsIG5hdi5mb290ZXJfbWVudSAuY3VycmVudC1tZW51LWl0ZW0gYTphZnRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMzM7IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ni4xODhlbSkge1xuICAuZm9vdGVyX21lbnUgLm1lbnUgYSwgLmZvb3Rlcl9tZW51IC5tZW51IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMC4zcmVtIDA7XG4gICAgbWFyZ2luOiAwLjhyZW0gMC44cmVtIDAuOHJlbSAwOyB9IH1cblxuLyogMHB4IGFuZCB1cCAqL1xuLyogNzQwcHggYW5kIHVwICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIHtcbiAgLypoMS5sb2dvOmZpcnN0LWxldHRlciB7XG4gICAgICAgIGNvbG9yOiAjOTFBNDcyO1xuICAgIH1cblxuICAgIGgxLmxvZ286YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzkxQTQ3MjtcbiAgICAgICAgY29udGVudDogJy4nO1xuICAgIH0qLyB9XG5cbi8qIDEwMjRweCBhbmQgdXAgKi9cbi8qIExBTkRTQ0FQRSBGT09URVIgQ1NTICovXG5mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZThmMjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbmZvb3RlciBoNCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGNvbG9yOiAjMmQzNTNmO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmZvb3RlciBwLCAuaG9tZSBmb290ZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmZvb3RlciBzcGFuLCBmb290ZXIgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjYTJhNWFhO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLyogRVhFUkNJU0VTIENTUyAqL1xuLmV4ZXJjaXNlLWxpc3QtaXRlbSBkaXYge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbi5leGVyY2lzZS1saXN0LWl0ZW0gcCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuLyogNzQwcHggLSAxMDIzcHggLSBNZWRpdW0gT25seSAqL1xuLyogXG4gKiBSRVZFQUwgUE9QVVAgTUVOVVxuICovXG4ucmV2ZWFsIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ucmV2ZWFsLmZ1bGwgaDIsIC5ob21lIC5yZXZlYWwuZnVsbCBoMiB7XG4gIGNvbG9yOiAjNzM3OTdmOyB9XG5cbi5yZXZlYWwuZnVsbCAubWVudSBhIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucmV2ZWFsLm92ZXJmbG93X3Zpc2libGUge1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG5cbi8qLnJldmVhbC1vdmVybGF5LnRyYW5zcGFyZW50IHtcblx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjgpICFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn0qL1xuLyoucmV2ZWFsLW92ZXJsYXk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDFlbTtcbn1cbiBcbi5yZXZlYWwtb3ZlcmxheTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbiBcbi5yZXZlYWwtb3ZlcmxheTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIG91dGxpbmU6IDFweCBzb2xpZCByZWQ7XG59Ki9cbi5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Nsb3NlLWljb24uc3ZnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvKmJhY2tncm91bmQtc2l6ZTogY292ZXI7Ki9cbiAgd2lkdGg6IDEuMTI1cmVtO1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICB0ZXh0LWluZGVudDogLTUwMDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbiNsYW5ndWFnZV9tZW51LnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuXG4ucmV2ZWFsLnNtYWxsIC5jbG9zZS1idXR0b24sIC5yZXZlYWwuaG9tZV9hYm91dCAuY2xvc2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jbG9zZS1pY29uLnN2Zyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdGV4dC1pbmRlbnQ6IC01MDAwcHg7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMHB4OyB9XG5cbi5yZXZlYWwudXNlcl9ndWlkZXMgLmNsb3NlLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2xvc2UtaWNvbi5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMHB4OyB9XG5cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbi5zcGluIHtcbiAgYW5pbWF0aW9uOiBzcGluIDAuM3MgZWFzZSAxO1xuICBhbmltYXRpb24tZGVsYXk6IDBzOyB9XG5cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbi5zcGluOmhvdmVyIHtcbiAgYW5pbWF0aW9uOiBzcGluMzYwIDAuM3MgZWFzZSAxO1xuICBhbmltYXRpb24tZGVsYXk6IDBzOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMC4xKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3BpbjM2MCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTsgfSB9XG5cbi5yZXZlYWwudXNlcl9ndWlkZXMge1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmV2ZWFsLnVzZXJfZ3VpZGVzIC5yb3cge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDFyZW0pO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cblxuLnJldmVhbC51c2VyX2d1aWRlcyAucm93IC5jb2x1bW4sIC5yZXZlYWwudXNlcl9ndWlkZXMgLnJvdyAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTsgfVxuXG4ucmV2ZWFsLnVzZXJfZ3VpZGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDJyZW07XG4gIHJpZ2h0OiAycmVtO1xuICBib3R0b206IDIuNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICBoZWlnaHQ6IDc1cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB3aGl0ZSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA5NyUpO1xuICB6LWluZGV4OiAxOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLnJldmVhbC51c2VyX2d1aWRlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAucmV2ZWFsLnVzZXJfZ3VpZGVzOmJlZm9yZSB7XG4gICAgbGVmdDogMXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLnJldmVhbC51c2VyX2d1aWRlcyAucm93IC5jb2x1bW4sIC5yZXZlYWwudXNlcl9ndWlkZXMgLnJvdyAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4vKiA3NDBweCAtIDEwMjNweCAtIE1lZGl1bSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAucmV2ZWFsLnVzZXJfZ3VpZGVzIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG5cbiN1c2VyZ3VpZGVzX21vZGFsIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkub25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMV9yZXZlYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCAzMSwgNDIsIDAuNSk7IH1cblxuLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8yLCAucmV2ZWFsI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzMsIC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfNCB7XG4gIG1heC13aWR0aDogNDAwcHg7IH1cblxuLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8yLCAucmV2ZWFsI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07IH1cblxuLm9uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiAwIC0gNjIwcHggLSBWU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MTlweCkge1xuICAucmV2ZWFsI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzIsIC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMyB7XG4gICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxLjJyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpOyB9IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ni4xODhlbSkge1xuICAucmV2ZWFsI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzIsIC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMyB7XG4gICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEuMnJlbTsgfVxuICAjdXNlcmd1aWRlc19tb2RhbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi8qXG4gKiBPUkJJVCBTTElERVIgT1ZFUlJJREVTXG4gKi9cbi5vcmJpdC1jb250YWluZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMHB4O1xuICBib3R0b206IC0yMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjBweDtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5vcmJpdC1jb250YWluZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0yMHB4O1xuICB3aWR0aDogMjBweDtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgd2hpdGUgMTAwJSk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5vcmJpdC1jb250cm9scyAub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1jb250cm9scyAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogNS4zMTI1cmVtO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7IH1cblxuLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5vcmJpdC1jb250cm9scyBidXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5vcmJpdC1jb250cm9scyAub3JiaXQtcHJldmlvdXMge1xuICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sZWZ0LWFycm93LnN2Z1wiKTsgfVxuXG4ub3JiaXQtY29udHJvbHMgLm9yYml0LW5leHQge1xuICBib3JkZXItcmFkaXVzOiAwIDEwMHB4IDEwMHB4IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yaWdodC1hcnJvdy5zdmdcIik7IH1cblxuYm9keS5ydGwgLm9yYml0LWNvbnRyb2xzIC5vcmJpdC1wcmV2aW91cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JpZ2h0LWFycm93LnN2Z1wiKTsgfVxuXG5ib2R5LnJ0bCAub3JiaXQtY29udHJvbHMgLm9yYml0LW5leHQge1xuICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sZWZ0LWFycm93LnN2Z1wiKTsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLm9yYml0LXNsaWRlOmZvY3VzLCAub3JiaXQtY29udGFpbmVyOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4ub3JiaXQtc2xpZGUgZmlndXJlIHtcbiAgcGFkZGluZzogMjVweDsgfVxuXG4ub3JiaXQtc2xpZGUgaW1nIHtcbiAgcGFkZGluZzogMjVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA3cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLm9yYml0LXNsaWRlLmlzLWFjdGl2ZSBpbWcge1xuICBib3gtc2hhZG93OiAwIDdweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4ub3JiaXQtc2xpZGUgaDQge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuXG4ub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cblxuLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwge1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4vKiBDVVNUT00gQ1NTIC8gT1ZFUlJJREVTICovXG4vKiBGb250czpcbiAqL1xuLyogXG4gKlxuICogVFlQT0dSQVBIWVxuICpcbiAqL1xuaDEuc21hbGxlciB7XG4gIGZvbnQtc2l6ZTogMi41cmVtOyB9XG5cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbmEuYnV0dG9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24ub3V0bGluZWQge1xuICBib3JkZXItY29sb3I6ICMwMDA7XG4gIGJvcmRlci13aWR0aDogM3B4O1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKiBFbnN1cmUgUCB0YWdzIGNvbG91ciBzdGF5cyB0aGUgZGVmYXVsdCBncmV5IGluc2lkZSBvZiBsaW5rcyAqL1xuYSBwIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQge1xuICBib3gtc2hhZG93OiAwIDJweCAyMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuYnV0dG9uLCBsYWJlbCwgLnJldmVhbC5mdWxsIC5tZW51IGEsIC5jYWxsb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5oMSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4vKiBUWVBFRkFDRSBTUEVDSUZJQyBTVFlMRVMgKi9cbi5sYW5nLXRoIGgxLCAubGFuZy10aCBoMiwgLmxhbmctdGggaDMsIC5sYW5nLXRoIGg0LCAubGFuZy10aCBoNSwgLmxhbmctdGggaDYsIC5sYW5nLXRoIC5idXR0b24sIC5sYW5nLXRoIGxhYmVsLCAubGFuZy10aCAucmV2ZWFsLmZ1bGwgLm1lbnUgYSwgLmxhbmctdGggLmNhbGxvdXQ6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdLMkQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLnRoYWksIC5sYW5nLXRoIHtcbiAgZm9udC1mYW1pbHk6ICdLMkQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmxhbmctcHMgaDEsIC5sYW5nLXBzIGgyLCAubGFuZy1wcyBoMywgLmxhbmctcHMgaDQsIC5sYW5nLXBzIGg1LCAubGFuZy1wcyBoNiwgLmxhbmctcHMgLmJ1dHRvbiwgLmxhbmctcHMgbGFiZWwsIC5sYW5nLXBzIC5yZXZlYWwuZnVsbCAubWVudSBhLCAubGFuZy1wcyAuY2FsbG91dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ25vdG9fbmFzdGFsaXFfdXJkdXJlZ3VsYXInLCBzYW5zLXNlcmlmOyB9XG5cbi5sYW5nLXBzIHtcbiAgZm9udC1mYW1pbHk6ICdub3RvX25hc3RhbGlxX3VyZHVyZWd1bGFyJywgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1mYV9hZiBoMSwgLmxhbmctZmFfYWYgaDIsIC5sYW5nLWZhX2FmIGgzLCAubGFuZy1mYV9hZiBoNCwgLmxhbmctZmFfYWYgaDUsIC5sYW5nLWZhX2FmIGg2LCAubGFuZy1mYV9hZiAuYnV0dG9uLCAubGFuZy1mYV9hZiBsYWJlbCwgLmxhbmctZmFfYWYgLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWZhX2FmIC5jYWxsb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnbm90b19uYXNraF9hcmFiaWNfdWlyZWd1bGFyJywgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1mYV9hZiB7XG4gIGZvbnQtZmFtaWx5OiAnbm90b19uYXNraF9hcmFiaWNfdWlyZWd1bGFyJywgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1oaV9pbiBoMSwgLmxhbmctaGlfaW4gaDIsIC5sYW5nLWhpX2luIGgzLCAubGFuZy1oaV9pbiBoNCwgLmxhbmctaGlfaW4gaDUsIC5sYW5nLWhpX2luIGg2LCAubGFuZy1oaV9pbiAuYnV0dG9uLCAubGFuZy1oaV9pbiBsYWJlbCwgLmxhbmctaGlfaW4gLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWhpX2luIC5jYWxsb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1oaV9pbiB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1heiBoMSwgLmxhbmctYXogaDIsIC5sYW5nLWF6IGgzLCAubGFuZy1heiBoNCwgLmxhbmctYXogaDUsIC5sYW5nLWF6IGg2LCAubGFuZy1heiAuYnV0dG9uLCAubGFuZy1heiBsYWJlbCwgLmxhbmctYXogLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWF6IC5jYWxsb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1heiB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1oeSBoMSwgLmxhbmctaHkgaDIsIC5sYW5nLWh5IGgzLCAubGFuZy1oeSBoNCwgLmxhbmctaHkgaDUsIC5sYW5nLWh5IGg2LCAubGFuZy1oeSAuYnV0dG9uLCAubGFuZy1oeSBsYWJlbCwgLmxhbmctaHkgLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWh5IC5jYWxsb3V0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEFybWVuaWFuJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1oeSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEFybWVuaWFuJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ucnRsIC50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucnRsIC50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5oci50aGljayB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRTZFNkU2OyB9XG5cbmZvcm0ucmVhZG9ubHkgaW5wdXQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5mb3JtLnJlYWRvbmx5IGlucHV0OmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5mb3JtLnJlYWRvbmx5IGlucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuZm9ybSBpbnB1dC5pbmxpbmVfZmxleCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbi5ydGwgZm9ybSBpbnB1dC5pbmxpbmVfZmxleCB7XG4gIHBhZGRpbmctbGVmdDogaW5oZXJpdDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cblxuZm9ybSB0ZCBzcGFuLmN1cnJlbmN5X3N5bWJvbCB7XG4gIG1hcmdpbi1yaWdodDogMnB4OyB9XG5cbi5ydGwgZm9ybSB0ZCBzcGFuLmN1cnJlbmN5X3N5bWJvbCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuXG4jczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm0gaW5wdXQsXG4jczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm1fc2luZ2xlIGlucHV0LFxuI3M0X2FfbW9udGhseV9vdmVyaGVhZHNfZm9ybSBpbnB1dCxcbiNzNF9hX3BlcnNvbmFsX3NhbGFyeV9mb3JtIGlucHV0LFxuI3M0X2JfdGFibGVfbW9udGhseV9pbmNvbWUgaW5wdXQsXG4jczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyBpbnB1dCxcbiNzNF9iX3RhYmxlX21vbnRobHlfbWF0ZXJpYWxzX3Byb2R1Y3Rpb24gaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7IH1cblxuLnJ0bCAjczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm0gaW5wdXQsXG4ucnRsICNzNF9hX2FubnVhbF9vdmVyaGVhZHNfZm9ybV9zaW5nbGUgaW5wdXQsXG4ucnRsICNzNF9hX21vbnRobHlfb3ZlcmhlYWRzX2Zvcm0gaW5wdXQsXG4ucnRsICNzNF9hX3BlcnNvbmFsX3NhbGFyeV9mb3JtIGlucHV0LFxuLnJ0bCAjczRfYl90YWJsZV9tb250aGx5X2luY29tZSBpbnB1dCxcbi5ydGwgI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgaW5wdXQsXG4ucnRsICNzNF9iX3RhYmxlX21vbnRobHlfbWF0ZXJpYWxzX3Byb2R1Y3Rpb24gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogMnB4OyB9XG5cbi5ydGwgdGFibGUgLmlubGluZV9lbGVtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLypcbiAqIGBFRElUYCBUT09MVElQIFNUWUxFU1xuICovXG4udGFza3MgLnRhc2tzX2VudHJ5IC50YXNrLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5saXN0cyAubGlzdHNfZW50cnkgLmxpc3RzLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSAuY2FsZW5kYXItZW50cnktZWRpdC10b29sdGlwLFxuLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhLmVkaXQgLnByb2R1Y3QtZW50cnktZWRpdC10b29sdGlwLFxuLmN1c3RvbWVycyBhLnJlZG9fY3VzdG9tZXIgLmN1c3RvbWVyLWVkaXQtdG9vbHRpcCxcbi5zbGlkZXJzIC5zbGlkZXJfd3JhcHBlciAuc2xpZGVyLWVkaXQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzLjM2JTIwMTkuMTElMjIlM0UlM0NyZWN0JTIweCUzRCUyMi0uNjclMjIlMjB5JTNEJTIyNy40OCUyMiUyMHdpZHRoJTNEJTIyMTMuNTklMjIlMjBoZWlnaHQlM0QlMjI0LjQ4JTIyJTIwcnglM0QlMjIuNSUyMiUyMHRyYW5zZm9ybSUzRCUyMnJvdGF0ZSUyOC01Ny41NyUyMDYuMTMlMjA5LjcxOCUyOSUyMiUyMGZpbGwlM0QlMjIlMjMyZDM1M2YlMjIlMkYlM0UlM0NyZWN0JTIweCUzRCUyMjkuNzUlMjIlMjB5JTNEJTIyLS4xOCUyMiUyMHdpZHRoJTNEJTIyMi40OCUyMiUyMGhlaWdodCUzRCUyMjQuNDglMjIlMjByeCUzRCUyMi41JTIyJTIwdHJhbnNmb3JtJTNEJTIycm90YXRlJTI4LTU3LjMlMjAxMS4wNTQlMjAyLjA1MyUyOSUyMiUyMGZpbGwlM0QlMjIlMjMyZDM1M2YlMjIlMkYlM0UlM0NwYXRoJTIwZCUzRCUyMk0wJTIwMTguNmwuNjQtNC40MWEuNDEuNDElMjAwJTIwMDEuNjQtLjI1bDMuMDklMjAyYS40LjQlMjAwJTIwMDEuMDYuNjhMLjclMjAxOWEuNDYuNDYlMjAwJTIwMDEtLjctLjR6JTIyJTIwZmlsbCUzRCUyMiUyMzJkMzUzZiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA5cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgY29sb3I6ICMyZDM1M2Y7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyZDM1M2Y7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtIDAuNjI1cmVtIDEuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnJ0bCAudGFza3MgLnRhc2tzX2VudHJ5IC50YXNrLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5ydGwgLmxpc3RzIC5saXN0c19lbnRyeSAubGlzdHMtZW50cnktZWRpdC10b29sdGlwLFxuLnJ0bCAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEgLmNhbGVuZGFyLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5ydGwgLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhLmVkaXQgLnByb2R1Y3QtZW50cnktZWRpdC10b29sdGlwLFxuLnJ0bCAuY3VzdG9tZXJzIGEucmVkb19jdXN0b21lciAuY3VzdG9tZXItZWRpdC10b29sdGlwLFxuLnJ0bCAuc2xpZGVycyAuc2xpZGVyX3dyYXBwZXIgLnNsaWRlci1lZGl0LXRvb2x0aXAge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgOXB4IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MjVyZW0gMS44NzVyZW0gMC42MjVyZW0gMC45Mzc1cmVtOyB9XG5cbi50YXNrcyAudGFza3NfZW50cnkgLnRhc2stZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLmxpc3RzIC5saXN0c19lbnRyeSAubGlzdHMtZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhIC5jYWxlbmRhci1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEuZWRpdCAucHJvZHVjdC1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4uY3VzdG9tZXJzIGEucmVkb19jdXN0b21lciAuY3VzdG9tZXItZWRpdC10b29sdGlwOmFmdGVyLFxuLnNsaWRlcnMgLnNsaWRlcl93cmFwcGVyIC5zbGlkZXItZWRpdC10b29sdGlwOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzJkMzUzZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ucnRsIC50YXNrcyAudGFza3NfZW50cnkgLnRhc2stZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLnJ0bCAubGlzdHMgLmxpc3RzX2VudHJ5IC5saXN0cy1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSAuY2FsZW5kYXItZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLnJ0bCAucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEuZWRpdCAucHJvZHVjdC1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5jdXN0b21lcnMgYS5yZWRvX2N1c3RvbWVyIC5jdXN0b21lci1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5zbGlkZXJzIC5zbGlkZXJfd3JhcHBlciAuc2xpZGVyLWVkaXQtdG9vbHRpcDphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpOyB9XG5cbiNlZGl0X3VzZXJfcHJvZmlsZSAucHdkX2ZpZWxkX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI2VkaXRfdXNlcl9wcm9maWxlIC5wd2RfZmllbGRfd3JhcCAucHdkX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbiNlZGl0X3VzZXJfcHJvZmlsZSAucHdkX2ZpZWxkX3dyYXAgLnB3ZF90b2dnbGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuI2VkaXRfdXNlcl9wcm9maWxlIC5wd2RfZmllbGRfd3JhcCAucHdkX3RvZ2dsZS5zaG93LXB3ZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zaG93LnN2Z1wiKTsgfVxuXG4jZWRpdF91c2VyX3Byb2ZpbGUgLnB3ZF9maWVsZF93cmFwIC5wd2RfdG9nZ2xlLmhpZGUtcHdkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hpZGUuc3ZnXCIpOyB9XG5cbiNlZGl0X3VzZXJfcHJvZmlsZSAjY3VycmVudF9wYXNzd29yZCwgI2VkaXRfdXNlcl9wcm9maWxlICNuZXdfcGFzc3dvcmQsICNlZGl0X3VzZXJfcHJvZmlsZSAjY29uZmlybV9uZXdfcGFzc3dvcmQge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH1cblxuLm5vdGlmaWNhdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMC42MjVyZW0gMC42MjVyZW07XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm90aWZpY2F0aW9uLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRmNWM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMuNDQlMjAxMS4yMyUyMiUzRSUzQ3BvbHlnb24lMjBwb2ludHMlM0QlMjI0LjI4JTIwNy4wOSUyMDIuMDclMjA0Ljg5JTIwMCUyMDYuOTYlMjA0LjI4JTIwMTEuMjMlMjAxMy40NCUyMDIuMDclMjAxMS4zNyUyMDAlMjA0LjI4JTIwNy4wOSUyMiUyMGZpbGwlM0QlMjIlMjMwMDAlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDMuNzVyZW0gMy43NXJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA1cmVtOyB9XG5cbi5ub3RpZmljYXRpb24uYWxsLWNvcm5lcnMge1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG4vKlxuICogV0FSTklORyBQQU5FTFxuICovXG4ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMi4xODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi53YXJuaW5nIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53YXJuaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZXhjbGFtYXRpb24uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4vKlxuICogQ0FMTE9VVCBTVFlMRVNcbiAqL1xuLmNhbGxvdXQge1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmNhbGxvdXQgaDMge1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cblxuLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzOGE4YThhJTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDExMCU7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMXB4O1xuICByaWdodDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDAgMDtcbiAgY29sb3I6ICNmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucnRsIC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMyUyMDM1LjMlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzhhOGE4YSUyMiUyMGQlM0QlMjJNMzUuOC0wLjVMMC41JTJDMzUuOFYtMC41SDM1Ljh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMDsgfVxuXG4uY2FsbG91dC5jb21wbGV0ZWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMy40NCUyMDExLjIzJTIyJTNFJTNDcG9seWdvbiUyMHBvaW50cyUzRCUyMjQuMjglMjA3LjA5JTIwMi4wNyUyMDQuODklMjAwJTIwNi45NiUyMDQuMjglMjAxMS4yMyUyMDEzLjQ0JTIwMi4wNyUyMDExLjM3JTIwMCUyMDQuMjglMjA3LjA5JTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjE4NzVyZW07XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAxMHB4IDAgMDtcbiAgY29sb3I6ICNmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucnRsIC5jYWxsb3V0LmNvbXBsZXRlZDphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwOyB9XG5cbi5jYWxsb3V0IC5jaXJjbGUtbnVtYmVyIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDcwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogNzBweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5sYW5nLWZhX2FmIC5jYWxsb3V0IC5jaXJjbGUtbnVtYmVyIHtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cblxuLmNhbGxvdXQuY29tcGxldGVkIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY2FsbG91dC5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG4uY2FsbG91dC5kaXNhYmxlZCBhIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uY2FsbG91dC5ub19jaXJjbGU6YmVmb3JlIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGluaGVyaXQ7XG4gIHRvcDogLTUwMDBweDtcbiAgbGVmdDogLTUwMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhbGxvdXQud2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiAnISc7IH1cblxuLmNhbGxvdXQgdWwsIHVsLmtleWxpc3QsIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsLCAudXNlcmd1aWRlc19zZWN0aW9uIHVsLCAudXNlcl9ndWlkZV9jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIuMTI1cmVtOyB9XG5cbi5jYWxsb3V0IHVsIGxpLCB1bC5rZXlsaXN0IGxpLCBvbC5rZXlsaXN0IGxpLCAub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCBsaSwgLnVzZXJndWlkZXNfc2VjdGlvbiB1bCBsaSwgLnVzZXJfZ3VpZGVfY29udGVudCB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FsbG91dCB1bCBsaTphZnRlciwgdWwua2V5bGlzdCBsaTphZnRlciwgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIsIC51c2VyZ3VpZGVzX3NlY3Rpb24gdWwgbGk6YWZ0ZXIsIC51c2VyX2d1aWRlX2NvbnRlbnQgdWwgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG5cbi5ydGwgLmNhbGxvdXQgdWwsIC5ydGwgdWwua2V5bGlzdCwgLnJ0bCAub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCwgLnJ0bCAudXNlcmd1aWRlc19zZWN0aW9uIHVsLCAucnRsIC51c2VyX2d1aWRlX2NvbnRlbnQgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuXG4ucnRsIC5jYWxsb3V0IHVsIGxpOmFmdGVyLCAucnRsIHVsLmtleWxpc3QgbGk6YWZ0ZXIsIC5ydGwgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIsIC5ydGwgLnVzZXJndWlkZXNfc2VjdGlvbiB1bCBsaTphZnRlciwgLnJ0bCAudXNlcl9ndWlkZV9jb250ZW50IHVsIGxpOmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yMHB4OyB9XG5cbm9sLmtleWxpc3QsIC51c2VyZ3VpZGVzX3NlY3Rpb24gb2wsIC51c2VyX2d1aWRlX2NvbnRlbnQgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMi4xMjVyZW07XG4gIGNvdW50ZXItcmVzZXQ6IG9sY291bnRlcjsgfVxuXG5vbC5rZXlsaXN0IGxpLCAudXNlcmd1aWRlc19zZWN0aW9uIG9sIGxpLCAudXNlcl9ndWlkZV9jb250ZW50IG9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb3VudGVyLWluY3JlbWVudDogb2xjb3VudGVyOyB9XG5cbm9sLmtleWxpc3QgbGk6YWZ0ZXIsIC51c2VyZ3VpZGVzX3NlY3Rpb24gb2wgbGk6YWZ0ZXIsIC51c2VyX2d1aWRlX2NvbnRlbnQgb2wgbGk6YWZ0ZXIge1xuICBjb250ZW50OiBjb3VudGVyKG9sY291bnRlcikgXCIuIFwiO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMjZweDsgfVxuXG4ucnRsIG9sLmtleWxpc3QsIC5ydGwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCwgLnJ0bCAudXNlcl9ndWlkZV9jb250ZW50IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMi4xMjVyZW07XG4gIGNvdW50ZXItcmVzZXQ6IG9sY291bnRlcjsgfVxuXG4ucnRsIG9sLmtleWxpc3QgbGk6YWZ0ZXIsIC5ydGwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCBsaTphZnRlciwgLnJ0bCAudXNlcl9ndWlkZV9jb250ZW50IG9sIGxpOmFmdGVyIHtcbiAgY29udGVudDogY291bnRlcihvbGNvdW50ZXIpIFwiXCI7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjZweDsgfVxuXG4udXNlcmd1aWRlc19zZWN0aW9uIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtOyB9XG5cbi51c2VyZ3VpZGVzX3NlY3Rpb24gdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVzZXJndWlkZXNfc2VjdGlvbiB1bC51c2VyX2d1aWRlX2VudHJ5IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnVzZXJndWlkZXNfc2VjdGlvbiB1bC51c2VyX2d1aWRlX2VudHJ5IGxpOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udXNlcl9ndWlkZV9lbnRyeSBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi51c2VyX2d1aWRlX2VudHJ5IGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMzVzLCBvcGFjaXR5IDAuMzVzOyB9XG5cbi51c2VyX2d1aWRlX2VudHJ5IGEuYWN0aXZlOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBhOmhvdmVyOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEpIGEsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgY29sb3I6ICMyMDYzRDY7IH1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgyKSBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuXG4udXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMykgYSwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDQpIGEsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg1KSBhIHtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDMpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg0KSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoNSkgYTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDYpIGEsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg3KSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoOCkgYSB7XG4gIGNvbG9yOiAjNTBBRDQ3OyB9XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg2KSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoNykgYTphZnRlciwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDgpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3OyB9XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg5KSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTApIGEge1xuICBjb2xvcjogIzU3MEI3MzsgfVxuXG4udXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoOSkgYTphZnRlciwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEwKSBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MEI3MzsgfVxuXG4udXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTEpIGEsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxMikgYSwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEzKSBhIHtcbiAgY29sb3I6ICNCQTE1Nzg7IH1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDExKSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTIpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxMykgYTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCQTE1Nzg7IH1cblxuLmNhbGxvdXQuaW5kZW50ZWRfcGFkZGluZyB7XG4gIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgcGFkZGluZy1yaWdodDogNHJlbTsgfVxuXG4jc2VjdGlvbl81LnJ0bCBvbC5rZXlsaXN0LCAjc2VjdGlvbl81LnJ0bCAudXNlcmd1aWRlc19zZWN0aW9uIG9sLCAjc2VjdGlvbl81LnJ0bCAudXNlcl9ndWlkZV9jb250ZW50IG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cblxuI3NlY3Rpb25fNS5ydGwgb2wua2V5bGlzdCBsaTphZnRlciwgI3NlY3Rpb25fNS5ydGwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCBsaTphZnRlciwgI3NlY3Rpb25fNS5ydGwgLnVzZXJfZ3VpZGVfY29udGVudCBvbCBsaTphZnRlciB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIob2xjb3VudGVyKSBcIi4gXCI7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjBweDsgfVxuXG4jc2VjdGlvbl81LnJ0bCAudXNlcmd1aWRlc19zZWN0aW9uIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMS44NzVyZW07IH1cblxuI3NlY3Rpb25fNS5ydGwgLnVzZXJndWlkZXNfc2VjdGlvbiB1bC51c2VyX2d1aWRlX2VudHJ5IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4jc2VjdGlvbl81LnJ0bCAudXNlcl9ndWlkZV9lbnRyeSBhOmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ni4xODhlbSkge1xuICAuY2FsbG91dC5pbmRlbnRlZF9wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhhbWJ1cmdlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9oYW1idXJnZXItaWNvbi5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiAyLjI1cmVtO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHRleHQtaW5kZW50OiAtNTAwMHB4OyB9XG5cbi5oYW1idXJnZXItaWNvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogR2VuZXJhbCBCdXR0b24gU3R5bGVzXG4gKi9cbi5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5idXR0b24uc2F2ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYnV0dG9uLndoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmJ1dHRvbi53aGl0ZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cblxuaW5wdXRbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbmlucHV0W3JlYWRvbmx5XTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG5hLndoaXRlLWxpbmsge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5hLndoaXRlLWxpbms6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI2Vycm9yXzQwNCBwIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnByZXZlbnQtaW50ZXJhY3Rpb24gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucHJldmVudC1pbnRlcmFjdGlvbiAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwsIC5wcmV2ZW50LWludGVyYWN0aW9uIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAqIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuc2VjdGlvbiB7XG4gIG1heC13aWR0aDogMTQ5LjM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4vKlxuICpcbiAqIEVORCBRVUVTVElPTiBTVFlMRVNcbiAqXG4gKi9cbi5lbmQtcXVlc3Rpb25zIGxhYmVsIHtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmVuZC1xdWVzdGlvbnMgLm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW5kLXF1ZXN0aW9ucyAubWVudSAubGkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW5kLXF1ZXN0aW9ucyAubWVudSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lbmQtcXVlc3Rpb25zIC5tZW51IGxhYmVsOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiNzZWN0aW9uc19hbGxfY29tcGxldGVkX3F1ZXN0aW9ucyBoMyB7XG4gIGNvbG9yOiAjMkQzNTNGO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi5lbmQtcXVlc3Rpb25zIGhyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2VlZTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4uc3VydmV5X2NhbGxvdXQge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwcHggMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgcGFkZGluZzogMS43NXJlbSAxLjI1cmVtIDAuMzEyNXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG5cbi8qXG4gKlxuICogQUNDT1VOVCBTVFlMRVNcbiAqXG4gKi9cbiNhY2NvdW50IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuI2FjY291bnQgc2VjdGlvbiBhcnRpY2xlIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuI2FjY291bnQgaDEge1xuICBjb2xvcjogIzJjMzUzZDtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG5cbiNhY2NvdW50IHAge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbiNhY2NvdW50IGltZy5pY29uIHtcbiAgbWF4LXdpZHRoOiAzNjBweDsgfVxuXG4jYWNjb3VudCAubmF2LWJ1dHRvbnMuYnRuXzF4IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuI2FjY291bnQgLm5hdi1idXR0b25zLmJ0bl8xeCAuYnV0dG9uLndoaXRlIHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4jYWNjb3VudCAuYnV0dG9uLnN1Ym1pdCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNhY2NvdW50IGgxIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuXG4vKlxuICpcbiAqIEJVU0lORVNTIFBMQU4sIFRPLURPUywgVklERU9TLCBSRVNPVVJDRVMgU1RZTEVTXG4gKlxuICovXG4jYnVzaW5lc3NfcGxhbiBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucywgI3RvZG9zIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLCAjZmlsbXMgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMsICNyZXNvdXJjZXMgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMsICN1c2VyZ3VpZGVzIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuI2J1c2luZXNzX3BsYW4gaDEsICN0b2RvcyBoMSwgI2ZpbG1zIGgxLCAjcmVzb3VyY2VzIGgxLCAjdXNlcmd1aWRlcyBoMSB7XG4gIGNvbG9yOiAjMmMzNTNkO1xuICBmb250LXNpemU6IDNyZW07IH1cblxuI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fdGl0bGUge1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4jYnVzaW5lc3NfcGxhbiB1bC5idXNpbmVzc19wbGFuX2FjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAjYnVzaW5lc3NfcGxhbiB1bC5idXNpbmVzc19wbGFuX2FjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7IH1cblxuI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLCAjYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kb3duLWNhcmV0LXdoaXRlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbiNidXNpbmVzc19wbGFuIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VwLWNhcmV0LXdoaXRlLnN2Z1wiKTsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8xIC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNUFCODsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8yIC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8zIC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxQUU0MDsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl80IC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNURGRjsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl81IC5hY2NvcmRpb24tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2xpZGVyLXN0YXRpYyBhIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbjogNHB4O1xuICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJveC1zaGFkb3cgMC41cywgY29sb3IgMC41czsgfVxuXG4jYnVzaW5lc3NfcGxhbl90b2Rvc19ldGNfbWVudSBhOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuNXM7IH1cblxuI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUgYTpob3ZlcjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiAxMDIlOyB9XG5cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51ID4gYS5hY3RpdmU6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMTAyJTsgfVxuXG4uZmlsbXMtc3VibWVudSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5maWxtcy1zdWJtZW51IGxpIGEge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogNHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5maWxtcy1zdWJtZW51IGxpIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuNXM7IH1cbiAgLmZpbG1zLXN1Ym1lbnUgbGkgYS5hY3RpdmU6YWZ0ZXIsIC5maWxtcy1zdWJtZW51IGxpIGE6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMiU7IH1cblxuLmZpbG1zLXN1Ym1lbnUgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwyMDIyJztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5maWxtcy1zdWJtZW51IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBub25lOyB9XG5cbi8qIDAgLSA1NTBweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gIC5maWxtcy1zdWJtZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZpbG1zLXN1Ym1lbnUgbGkgYTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHdpZHRoOiAwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuNXM7IH1cbiAgICAuZmlsbXMtc3VibWVudSBsaSBhLmFjdGl2ZTphZnRlciwgLmZpbG1zLXN1Ym1lbnUgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgd2lkdGg6IDEwMiU7IH1cbiAgICAuZmlsbXMtc3VibWVudSBsaTpiZWZvcmUsIC5maWxtcy1zdWJtZW51IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgIC5maWxtcy1zdWJtZW51IGxpOmFmdGVyLCAuZmlsbXMtc3VibWVudSBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG5cbiN1c2VyZ3VpZGVzIGhyLCAjcmVzb3VyY2VzIGhyLCAjdXNlcmd1aWRlc19tb2RhbCBociB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cblxuI3VzZXJndWlkZXMgaDIsICNyZXNvdXJjZXMgaDIsICN0b2RvcyBoMiwgI2ZpbG1zIGgyLCAjdXNlcmd1aWRlc19tb2RhbCBoMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4jdXNlcmd1aWRlcyAuc2VjdGlvbi0xIGgyLCAjdXNlcmd1aWRlcyAuc2VjdGlvbi0xIGg0LCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi0xIGgyLCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi0xIGg0IHtcbiAgY29sb3I6ICMyMDYzRDY7IH1cblxuI3VzZXJndWlkZXMgLnNlY3Rpb24tMiBoMiwgI3VzZXJndWlkZXMgLnNlY3Rpb24tMiBoNCwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tMiBoMiwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tMiBoNCB7XG4gIGNvbG9yOiAjREUzRjNBOyB9XG5cbiN1c2VyZ3VpZGVzIC5zZWN0aW9uLTMgaDIsICN1c2VyZ3VpZGVzIC5zZWN0aW9uLTMgaDQsICN1c2VyZ3VpZGVzX21vZGFsIC5zZWN0aW9uLTMgaDIsICN1c2VyZ3VpZGVzX21vZGFsIC5zZWN0aW9uLTMgaDQge1xuICBjb2xvcjogIzUwQUQ0NzsgfVxuXG4jdXNlcmd1aWRlcyAuc2VjdGlvbi00IGgyLCAjdXNlcmd1aWRlcyAuc2VjdGlvbi00IGg0LCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi00IGgyLCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi00IGg0IHtcbiAgY29sb3I6ICM1NzBCNzM7IH1cblxuI3VzZXJndWlkZXMgLnNlY3Rpb24tNSBoMiwgI3VzZXJndWlkZXMgLnNlY3Rpb24tNSBoNCwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tNSBoMiwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tNSBoNCB7XG4gIGNvbG9yOiAjQkExNTc4OyB9XG5cbi5idXR0b24ud2hpdGUudXNlcmd1aWRlLW1vZGFsLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuNzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7IH1cblxuLmJ1dHRvbi53aGl0ZS51c2VyZ3VpZGUtbW9kYWwtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTsgfVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSxcbiNzZWN0aW9uXzEgLnRyYW5zcGFyZW50ID4gcC51c2VyZ3VpZGUtbGluay1wYXJhLFxuI3NlY3Rpb25fMiAudHJhbnNwYXJlbnQgPiBwLnVzZXJndWlkZS1saW5rLXBhcmEsXG4jc2VjdGlvbl8zIC50cmFuc3BhcmVudCA+IHAudXNlcmd1aWRlLWxpbmstcGFyYSxcbiNzZWN0aW9uXzQgLnRyYW5zcGFyZW50ID4gcC51c2VyZ3VpZGUtbGluay1wYXJhLFxuI3NlY3Rpb25fNSAudHJhbnNwYXJlbnQgPiBwLnVzZXJndWlkZS1saW5rLXBhcmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnJ0bCAudXNlcmd1aWRlLWxpbmstcGFyYSBhIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTsgfVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSBhOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MyU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNSUyMDE2JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZCUzRCUyMk0xNyUyMDBsLTEuNCUyMDEuNEwyMS4yJTIwN0gwdjJoMjEuMmwtNS42JTIwNS42TDE3JTIwMTZsOC04LTgtOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjg3NXJlbSAwLjYyNXJlbTtcbiAgd2lkdGg6IDAuODc1cmVtO1xuICBoZWlnaHQ6IDAuNjI1cmVtO1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjI1czsgfVxuXG4ucnRsIC51c2VyZ3VpZGUtbGluay1wYXJhIGE6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNSUyMDE2JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZCUzRCUyMk04JTIwMTZsMS40LTEuNEwzLjglMjA5SDI1VjdIMy44bDUuNi01LjZMOCUyMDAlMjAwJTIwOGw4JTIwOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnVzZXJndWlkZS1saW5rLXBhcmEgYTpob3ZlcjphZnRlciB7XG4gIHJpZ2h0OiAtM3B4OyB9XG5cbi5ydGwgLnVzZXJndWlkZS1saW5rLXBhcmEgYTpob3ZlcjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtM3B4OyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI2J1c2luZXNzX3BsYW4gaDEsICN0b2RvcyBoMSwgI2ZpbG1zIGgxLCAjcmVzb3VyY2VzIGgxLCAjdXNlcmd1aWRlcyBoMSwgI3VzZXJndWlkZXNfbW9kYWwgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICAjdXNlcmd1aWRlcyBoMiwgI3Jlc291cmNlcyBoMiwgI3RvZG9zIGgyLCAjZmlsbXMgaDIsICN1c2VyZ3VpZGVzX21vZGFsIGgyIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG5cbi8qXG4gKlxuICogU0VDVElPTiBTVFlMRVNcbiAqXG4gKi9cbi5zZWN0aW9uX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA2LjI1cmVtO1xuICB0ZXh0LXNoYWRvdzogMHB4IDdweCA2cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbi5zZWN0aW9uX3RpdGxlIHNwYW4ge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogNzBweDtcbiAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLnNlY3Rpb25fdGl0bGUgc3BhbiBpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VjdGlvbl90aXRsZS5zbWFsbGVyIHtcbiAgbWFyZ2luLXRvcDogNS42MjVyZW07IH1cblxuLnNlY3Rpb25fdGl0bGUuc21hbGxlciBzcGFuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTkwcHgpOyB9XG5cbi5zZWN0aW9uX3RpdGxlLmxhcmdlciB7XG4gIGZvbnQtc2l6ZTogMy43NXJlbTsgfVxuXG5zZWN0aW9uIGFydGljbGUge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMge1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1pbi1oZWlnaHQ6IDc4dmg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy5zcGxpdF90b3Age1xuICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAwLjYyNXJlbSAwIDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6IGF1dG87IH1cblxuc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMuc3BsaXRfYm90dG9tIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBtaW4taGVpZ2h0OiBhdXRvOyB9XG5cbnNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLm5vX2JvcmRlcl9yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLm5vLW1pbi1oZWlnaHQge1xuICBtaW4taGVpZ2h0OiBhdXRvOyB9XG5cbnNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLnRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbnNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLm5vLXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmtleV9ibG9jayB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAua2V5X2Jsb2NrIC5pbnNldC10aXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICM0RDRENEQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICAgIG1pbi13aWR0aDogMTkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ua2V5X2Jsb2NrLndoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ua2V5X2Jsb2NrLnBhZGRpbmcge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbiNkYXNoYm9hcmQgaDEge1xuICBjb2xvcjogIzJjMzUzZDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4jZGFzaGJvYXJkIHNlY3Rpb24sICNzZWN0aW9uXzEgc2VjdGlvbiwgI3NlY3Rpb25fMiBzZWN0aW9uLCAjc2VjdGlvbl8zIHNlY3Rpb24sICNzZWN0aW9uXzQgc2VjdGlvbiwgI3NlY3Rpb25fNSBzZWN0aW9uIHtcbiAgLyptYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7Ki8gfVxuXG4jZGFzaGJvYXJkIGgxLmxvZ28gYSwgI3NlY3Rpb25fMSBoMS5sb2dvIGEsICNzZWN0aW9uXzIgaDEubG9nbyBhLCAjc2VjdGlvbl8zIGgxLmxvZ28gYSwgI3NlY3Rpb25fNCBoMS5sb2dvIGEsICNzZWN0aW9uXzUgaDEubG9nbyBhIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI2Rhc2hib2FyZCBoMS5sb2dvLCAjc2VjdGlvbl8xIGgxLmxvZ28sICNzZWN0aW9uXzIgaDEubG9nbywgI3NlY3Rpb25fMyBoMS5sb2dvLCAjc2VjdGlvbl80IGgxLmxvZ28sICNzZWN0aW9uXzUgaDEubG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jZGFzaGJvYXJkLCAjYWNjb3VudCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8wMC1kYXNoLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzAwLWRhc2gtYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjZzO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbiNkYXNoYm9hcmQgLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4jZGFzaGJvYXJkIC53YXJuaW5nOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI2J1c2luZXNzX3BsYW4sICN0b2RvcywgI2ZpbG1zLCAjcmVzb3VyY2VzLCAjdXNlcmd1aWRlcywgI2FsbF9zZWN0aW9uc19jb21wbGV0ZWRfc3VydmV5IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAwLWRhc2gtYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDAtZGFzaC1iZy1sZWZ0LnN2Z1wiKSB0b3AgMCBsZWZ0IDAgbm8tcmVwZWF0O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuNnM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuI2J1c2luZXNzX3BsYW4gLnJldmVhbC5mdWxsLCAjdG9kb3MgLnJldmVhbC5mdWxsLCAjZmlsbXMgLnJldmVhbC5mdWxsLCAjcmVzb3VyY2VzIC5yZXZlYWwuZnVsbCwgI3VzZXJndWlkZXMgLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl8xLCAjc2VjdGlvbl8yLCAjc2VjdGlvbl8zLCAjc2VjdGlvbl80LCAjc2VjdGlvbl81IHtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjZzO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbiNzZWN0aW9uXzEgLnJldmVhbC5mdWxsIC5tZW51IGEsXG4jc2VjdGlvbl8yIC5yZXZlYWwuZnVsbCAubWVudSBhLFxuI3NlY3Rpb25fMyAucmV2ZWFsLmZ1bGwgLm1lbnUgYSxcbiNzZWN0aW9uXzQgLnJldmVhbC5mdWxsIC5tZW51IGEsXG4jc2VjdGlvbl81IC5yZXZlYWwuZnVsbCAubWVudSBhIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fMSAucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbixcbiNzZWN0aW9uXzIgLnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24sXG4jc2VjdGlvbl8zIC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uLFxuI3NlY3Rpb25fNCAucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbixcbiNzZWN0aW9uXzUgLnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Nsb3NlLWljb24tbGlnaHQuc3ZnKTtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4jc2VjdGlvbl8xIC5oYW1idXJnZXItaWNvbixcbiNzZWN0aW9uXzIgLmhhbWJ1cmdlci1pY29uLFxuI3NlY3Rpb25fMyAuaGFtYnVyZ2VyLWljb24sXG4jc2VjdGlvbl80IC5oYW1idXJnZXItaWNvbixcbiNzZWN0aW9uXzUgLmhhbWJ1cmdlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9oYW1idXJnZXItaWNvbi1saWdodC5zdmcpO1xuICBvcGFjaXR5OiAwLjc1OyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbi5jbGVhcixcbiNzZWN0aW9uXzIgLmJ1dHRvbi5jbGVhcixcbiNzZWN0aW9uXzMgLmJ1dHRvbi5jbGVhcixcbiNzZWN0aW9uXzQgLmJ1dHRvbi5jbGVhcixcbiNzZWN0aW9uXzUgLmJ1dHRvbi5jbGVhcixcbiNzZWN0aW9uXzEgLnRyYW5zcGFyZW50ID4gaDIsXG4jc2VjdGlvbl8yIC50cmFuc3BhcmVudCA+IGgyLFxuI3NlY3Rpb25fMyAudHJhbnNwYXJlbnQgPiBoMixcbiNzZWN0aW9uXzQgLnRyYW5zcGFyZW50ID4gaDIsXG4jc2VjdGlvbl81IC50cmFuc3BhcmVudCA+IGgyLFxuI3NlY3Rpb25fMSAudHJhbnNwYXJlbnQgPiBoMyxcbiNzZWN0aW9uXzIgLnRyYW5zcGFyZW50ID4gaDMsXG4jc2VjdGlvbl8zIC50cmFuc3BhcmVudCA+IGgzLFxuI3NlY3Rpb25fNCAudHJhbnNwYXJlbnQgPiBoMyxcbiNzZWN0aW9uXzUgLnRyYW5zcGFyZW50ID4gaDMge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl8xIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zOm5vdCgudHJhbnNwYXJlbnQpLFxuI3NlY3Rpb25fMiBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1uczpub3QoLnRyYW5zcGFyZW50KSxcbiNzZWN0aW9uXzMgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnM6bm90KC50cmFuc3BhcmVudCksXG4jc2VjdGlvbl80IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zOm5vdCgudHJhbnNwYXJlbnQpLFxuI3NlY3Rpb25fNSBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1uczpub3QoLnRyYW5zcGFyZW50KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLnJldmVhbCB7XG4gIHBhZGRpbmc6IDIuNXJlbSAyLjVyZW0gMi41cmVtIDIuNXJlbTtcbiAgYm94LXNoYWRvdzogMCA3cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1heC13aWR0aDogNjAwcHg7IH1cblxuLnJldmVhbC5sYW5nX21lbnVfbW9kYWwge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmNWZiOyB9XG5cbi5yZXZlYWwucG9wX21lbnVfbW9kYWwge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cblxuLnJldmVhbC5zbWFsbCB7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLm5hdi1idXR0b25zIHtcbiAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5uYXYtYnV0dG9ucyAuYmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmF2LWJ1dHRvbnMgLmJhY2s6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhMFxcMjAzOSc7XG4gIHBhZGRpbmctcmlnaHQ6IDAuM3JlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5ydGwgLm5hdi1idXR0b25zIC5iYWNrOmJlZm9yZSB7XG4gIHBhZGRpbmctbGVmdDogMC4zcmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLnJldmVhbCAubmF2LWJ1dHRvbnMge1xuICBib3R0b206IDI5cHg7IH1cblxuLm5hdi1idXR0b25zLm5vLWFic29sdXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXYtYnV0dG9ucy5uby1hYnNvbHV0ZS1ib3R0b20ge1xuICBib3R0b206IGF1dG87IH1cblxuLm5hdi1idXR0b25zLm5vLXRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5uYXYtYnV0dG9ucy5tb2RhbC1idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG4gIGhlaWdodDogMTVweDsgfVxuXG4ubmF2LWJ1dHRvbnMgYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmhlYWRpbmdfcm93IHAsIC5oZWFkaW5nX3JvdyBoMiwgLmhlYWRpbmdfcm93IGgzLCAubmF2LWJ1dHRvbnMgYS53aGl0ZV90ZXh0IHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI2Rhc2hib2FyZCAuaGVhZGluZ19yb3cgcCwgI2Rhc2hib2FyZCAuaGVhZGluZ19yb3cgaDIsICNkYXNoYm9hcmQgLmhlYWRpbmdfcm93IGgzIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuI2Rhc2hib2FyZCAuaGVhZGluZ19yb3cgcCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4jZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGNvbG9yOiAjMmQzNTNmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogOC4xMjVyZW07XG4gIG1pbi13aWR0aDogMTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg5LCAxODksIDE4OSwgMC41KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDM5JTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxMTVweDtcbiAgd2lkdGg6IDExNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMsIGJhY2tncm91bmQtc2l6ZSAwLjI1czsgfVxuXG4jZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg5LCAxODksIDE4OSwgMC44NSk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDUlOyB9XG5cbiNkYXNoYm9hcmQgLmJwbGFuX2Rhc2hib2FyZF9tZW51IGEucGxheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2lyY2xlLXBsYXkuc3ZnXCIpOyB9XG5cbiNkYXNoYm9hcmQgLmJwbGFuX2Rhc2hib2FyZF9tZW51IGEudGljazpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvY2lyY2xlLXRpY2suc3ZnXCIpOyB9XG5cbiNkYXNoYm9hcmQgLmJwbGFuX2Rhc2hib2FyZF9tZW51IGEubGluZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NpcmNsZS1saW5lcy5zdmdcIik7IH1cblxuI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYS5wZW5jaWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2NpcmNsZS1wZW5jaWwuc3ZnXCIpOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgY29sb3I6ICMyZDM1M2Y7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA1LjMxMjVyZW07XG4gICAgbWluLXdpZHRoOiAxMzBweDsgfVxuICAjZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHdpZHRoOiA3MHB4OyB9IH1cblxuLmNsZWFyX2N1cnZlX3NtYWxsIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLnJldmVhbC5zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5yZXZlYWwuc21hbGwgLm5hdi1idXR0b25zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbl90aXRsZS5sYXJnZXIge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuICAjc2VjdGlvbl8xIC5idXR0b24uY2xlYXIsICNzZWN0aW9uXzIgLmJ1dHRvbi5jbGVhciwgI3NlY3Rpb25fMyAuYnV0dG9uLmNsZWFyLCAjc2VjdGlvbl80IC5idXR0b24uY2xlYXIsICNzZWN0aW9uXzUgLmJ1dHRvbi5jbGVhciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgI3NlY3Rpb25fMSAuYnV0dG9uLndoaXRlX3RleHQsICNzZWN0aW9uXzIgLmJ1dHRvbi53aGl0ZV90ZXh0LCAjc2VjdGlvbl8zIC5idXR0b24ud2hpdGVfdGV4dCwgI3NlY3Rpb25fNCAuYnV0dG9uLndoaXRlX3RleHQsICNzZWN0aW9uXzUgLmJ1dHRvbi53aGl0ZV90ZXh0IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubmF2LWJ1dHRvbnMubm8tdHJhbnNmb3JtLXNtYWxsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgI2Rhc2hib2FyZCwgI2FjY291bnQge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8wMC1kYXNoLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAtNTAwcHggbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDAtZGFzaC1iZy1sZWZ0LnN2Z1wiKSB0b3AgMCBsZWZ0IC00NTBweCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMDBweCBhdXRvOyB9XG4gICNidXNpbmVzc19wbGFuLCAjdG9kb3MsICNmaWxtcywgI3Jlc291cmNlcywgI3VzZXJndWlkZXMsICNhbGxfc2VjdGlvbnNfY29tcGxldGVkX3N1cnZleSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAwLWRhc2gtYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IC01MDBweCBuby1yZXBlYXQsIHVybChcIi4uL2ltZy8wMC1kYXNoLWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87IH1cbiAgI3NlY3Rpb25fMSBzZWN0aW9uLCAjc2VjdGlvbl8yIHNlY3Rpb24sICNzZWN0aW9uXzMgc2VjdGlvbiwgI3NlY3Rpb25fNCBzZWN0aW9uLCAjc2VjdGlvbl81IHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3NlY3Rpb25fMSBoMS5sb2dvIGEsICNzZWN0aW9uXzIgaDEubG9nbyBhLCAjc2VjdGlvbl8zIGgxLmxvZ28gYSwgI3NlY3Rpb25fNCBoMS5sb2dvIGEsICNzZWN0aW9uXzUgaDEubG9nbyBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAjc2VjdGlvbl8xIGFydGljbGUsICNzZWN0aW9uXzIgYXJ0aWNsZSwgI3NlY3Rpb25fMyBhcnRpY2xlLCAjc2VjdGlvbl80IGFydGljbGUsICNzZWN0aW9uXzUgYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgI3NlY3Rpb25fMSAuc29saWQsICNzZWN0aW9uXzIgLnNvbGlkLCAjc2VjdGlvbl8zIC5zb2xpZCwgI3NlY3Rpb25fNCAuc29saWQsICNzZWN0aW9uXzUgLnNvbGlkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5uYXYtYnV0dG9ucyB7XG4gICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIC5jbGVhcl9jdXJ2ZV9zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2N1cnZlLWJnLWNsZWFyLnN2Z1wiKSBib3R0b20gLTJweCBsZWZ0IC0zcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY2FsYygxMDAlICsgNnB4KTtcbiAgICAvKnBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7Ki8gfSB9XG5cbi5tdWx0aV9iZyBhcnRpY2xlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAxLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzAxLWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gIC8qYmFja2dyb3VuZC1zaXplOiA5NSU7Ki9cbiAgLypoZWlnaHQ6IDEwMHZoOyovXG4gIC8qbWF4LXdpZHRoOiAxMjAwcHg7Ki9cbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQxOTQ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAxcywgYmFja2dyb3VuZC1wb3NpdGlvbiAxczsgfVxuXG4jZmxleGlfYmdfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLypwb3NpdGlvbjogcmVsYXRpdmU7Ki9cbiAgei1pbmRleDogLTE7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCByZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLm11bHRpX2JnIGFydGljbGUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8wMS1iZy1yaWdodC5zdmdcIikgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzAxLWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQxOTQ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87IH0gfVxuXG4vKlxuICogUFJPR1JFU1MgSU5ESUNBVE9SIENJUkNMRVNcbiAqL1xuLnByb2dyZXNzX2luZGljYXRvcl9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5wcm9ncmVzc19pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4ucHJvZ3Jlc3NfaW5kaWNhdG9yX3RleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMnB4IDE1cHggMCAxNXB4O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAqIFBPUCBDSVJDTEUgLyBTSEFQRVNcbiAqL1xuLnBvcF9jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucG9wX2NpcmNsZSBwLCAucG9wX2NpcmNsZSBoMiwgLnBvcF9jaXJjbGUgaDMsIC5wb3BfY2lyY2xlIGg0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBvcF9jaXJjbGUgYSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBvcF9zcXVhcmUge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5wb3Bfc3F1YXJlIHAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaGVwdGFnb25fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uaGVwdGFnb25fY29udGFpbmVyIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAtMTsgfVxuXG4uaGVwdGFnb24ge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5oZXB0YWdvbiBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmRpYW1vbmRfY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uZGlhbW9uZF9jb250YWluZXIgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5kaWFtb25kIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZGlhbW9uZCBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNpcmNsZSB7XG4gIGhlaWdodDogMTAwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBtYXJnaW46IGF1dG87IH1cblxuLmNpcmNsZSBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNpcmNsZS5maWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi5yZWN0IHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5yZWN0IHAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucmVjdC5maWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG5cbi5yZWN0LmZsZXhpYmxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnF1ZXN0aW9uIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5xdWVzdGlvbjphZnRlciB7XG4gIGNvbnRlbnQ6ICc/JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNjY2M7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5xdWVzdGlvbiBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLypcbiAqIE1JU0NcbiAqL1xuLnBsdXNfaWNvbiB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbHVzX2ljb246YmVmb3JlIHtcbiAgY29udGVudDogJysnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICBib3gtc2hhZG93OiAwIDFweCAxMHB4ICNjY2M7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5wYW5lbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmJvdHRvbV9ib3JkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuXG4uZGFzaGVkLCAuYnV0dG9uLmRhc2hlZCB7XG4gIGJvcmRlcjogM3B4IGRhc2hlZCAjY2NjOyB9XG5cbi5kYXNoZWRfZGFyayB7XG4gIGJvcmRlcjogM3B4IGRhc2hlZCAjNjY2OyB9XG5cbnRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ucnRsIHRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmZpbGxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmI7IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4udHJ1bmNhdGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4uY2hhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cblxuLnRhYnMueDIgLnRhYnMtdGl0bGUge1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGQudmVydGljYWxseV9hbGlnbiB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLypcbiAqIFZFUlRJQ0FMIFNURVAgU0xJREVSXG4gKi9cbi52ZXJ0X3N0ZXBfc2xpZGVyX2NvbnRhaW5lciB7XG4gIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuXG4udmVydF9zdGVwX3NsaWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnZlcnRfc3RlcF9zbGlkZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2NjYztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDVweDtcbiAgcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IC0xOyB9XG5cbi52ZXJ0X3N0ZXBfc2xpZGVyIGxpIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTVweCk7IH1cblxuLnZlcnRfc3RlcF9zbGlkZXIgbGkgLnNsaWRlcl90b29sdGlwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTUwcHg7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBwYWRkaW5nOiAwLjVyZW0gMC4zMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgaGVpZ2h0OiAzMnB4O1xuICAvKiA4cHggVG9wIHBhZGRpbmcgKyAxNnB4IEZvbnQgc2l6ZSArIDhweCBib3R0b20gcGFkZGluZywgbGluZSBoZWlnaHQgb2YgMSAgKi8gfVxuXG4udmVydF9zdGVwX3NsaWRlciBsaSAuc2xpZGVyX3Rvb2x0aXA6YWZ0ZXIge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMCk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4udmVydF9zdGVwX3NsaWRlciBsaSAuc2xpZGVyX3Rvb2x0aXAgYSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4udmVydF9zdGVwX3NsaWRlciBsaSAuc2xpZGVyX3Rvb2x0aXAgYS50cnVuY2F0ZSB7XG4gIHdpZHRoOiAxNTBweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnZlcnRfc3RlcF9zbGlkZXIgbGk6YWZ0ZXIge1xuICBjb250ZW50OiAnPCA+JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuLyogNzQwcHggLSAxMDIzcHggLSBNZWRpdW0gT25seSAqL1xuLypcbiAqXG4gKiBPTkJPQVJESU5HIFNUWUxFU1xuICpcbiAqL1xuI29uYm9hcmRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG5cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0LCB0b3AgcmlnaHQsIGJvdHRvbSByaWdodCwgYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQxOTQ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDMwMHB4IDI5NHB4LCAyODRweCA1MzRweCwgMjk4cHggMjc1cHgsIDQ0MnB4IDMyOXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctc2hhcGVzLWJsdWUtdG9wLWxlZnQuc3ZnXCIpLCB1cmwoXCIuLi9pbWcvYmctc2hhcGVzLWJsdWUtdG9wLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1ibHVlLWJvdHRvbS1yaWdodC5zdmdcIiksIHVybChcIi4uL2ltZy9iZy1zaGFwZXMtYmx1ZS1ib3R0b20tbGVmdC5zdmdcIik7IH1cblxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7XG4gIGJhY2tncm91bmQtc2l6ZTogMzUzcHggMzQ3cHgsIDIzOHB4IDU3MHB4LCAyOThweCAyODRweCwgMzY0cHggMjY2cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1zaGFwZXMtcmVkLXRvcC1sZWZ0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1yZWQtdG9wLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1yZWQtYm90dG9tLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1yZWQtYm90dG9tLWxlZnQuc3ZnXCIpOyB9XG5cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzQ4NTI7XG4gIGJhY2tncm91bmQtc2l6ZTogNTA1cHggNDU3cHgsIDM5N3B4IDYyNnB4LCAyNTVweCAzMjJweCwgNTQ1cHggMjkzcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1zaGFwZXMtZ3JlZW4tdG9wLWxlZnQuc3ZnXCIpLCB1cmwoXCIuLi9pbWcvYmctc2hhcGVzLWdyZWVuLXRvcC1yaWdodC5zdmdcIiksIHVybChcIi4uL2ltZy9iZy1zaGFwZXMtZ3JlZW4tYm90dG9tLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1ncmVlbi1ib3R0b20tbGVmdC5zdmdcIik7IH1cblxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDBjNWU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjc4cHggNDY1cHgsIDQ1NXB4IDQyMnB4LCAzMDVweCA0NDJweCwgNjE4cHggNDUwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9iZy1zaGFwZXMtcHVycGxlLXRvcC1sZWZ0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1wdXJwbGUtdG9wLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1wdXJwbGUtYm90dG9tLXJpZ2h0LnN2Z1wiKSwgdXJsKFwiLi4vaW1nL2JnLXNoYXBlcy1wdXJwbGUtYm90dG9tLWxlZnQuc3ZnXCIpOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLmJsdWUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHggMTk2cHgsIDIwMHB4IDM3NnB4LCAyMDBweCAxODVweCwgMjUwcHggMTg2cHg7IH1cbiAgI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnJlZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAxOTdweCwgMTUwcHggMzU5cHgsIDIwMHB4IDE5MXB4LCAyNjBweCAxOTBweDsgfVxuICAjb25ib2FyZGluZyBzZWN0aW9uIGFydGljbGUuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzQwcHggMzA4cHgsIDIzMHB4IDM2M3B4LCAxOTBweCAyNDBweCwgMzUwcHggMTg4cHg7IH1cbiAgI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDBweCAzMzVweCwgMjkwcHggMjY5cHgsIDIwMHB4IDI5MHB4LCA0MDBweCAyOTFweDsgfSB9XG5cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07IH1cblxuI29uYm9hcmRpbmcgaDEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI29uYm9hcmRpbmcgaDEgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuI29uYm9hcmRpbmcgaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNvbmJvYXJkaW5nIHAge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbiNvbmJvYXJkaW5nIGxpIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4jb25ib2FyZGluZyBsYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuI29uYm9hcmRpbmcgLmJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuI29uYm9hcmRpbmcgLm5hdi1idXR0b25zIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI29uYm9hcmRpbmcgaW1nLmljb24ge1xuICBtYXgtd2lkdGg6IDI1MHB4OyB9XG5cbiNvbmJvYXJkaW5nIC5uYXYtYnV0dG9ucy5idG5fMXgge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4jb25ib2FyZGluZyAubmF2LWJ1dHRvbnMuYnRuXzF4IC5idXR0b24ud2hpdGUge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbiNvbmJvYXJkaW5nIC5uYXYtYnV0dG9ucy5idG5fMXggLmJ1dHRvbi53aGl0ZS5kaXNhYmxlZDpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbiNvbmJvYXJkaW5nIGltZy5pY29uIHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuXG4jb25ib2FyZGluZyAuY2lyY2xlLW51bWJlciB7XG4gIHdpZHRoOiA2MnB4O1xuICBoZWlnaHQ6IDYycHg7XG4gIGJvcmRlci1yYWRpdXM6IDYycHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBib3gtc2hhZG93OiAwcHggN3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzJweCBhdXRvIDMycHggYXV0bzsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNC4zNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkge1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuNjI1cmVtIDAuNzVyZW0gMy41cmVtO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNjIuNDM3NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBsYWJlbDpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGxhYmVsOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiAjNWM2MjZhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTMuNDQlMjAxMS4yMyUyMiUzRSUzQ3BvbHlnb24lMjBwb2ludHMlM0QlMjI0LjI4JTIwNy4wOSUyMDIuMDclMjA0Ljg5JTIwMCUyMDYuOTYlMjA0LjI4JTIwMTEuMjMlMjAxMy40NCUyMDIuMDclMjAxMS4zNyUyMDAlMjA0LjI4JTIwNy4wOSUyMiUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMS4xODc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgbGVmdDogMTFweDsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fMiBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjlhZDsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fMyBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWFiODsgfVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fNCBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkNzU0MzsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItZGVzY3JpcHRpb25zIGxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyNSU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItZGVzY3JpcHRpb25zIGxpOm50aC1jaGlsZCgxKSB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDElKTsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMgbGk6bnRoLWNoaWxkKDIpIHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWRlc2NyaXB0aW9ucyBsaTpudGgtY2hpbGQoMykge1xuICBsZWZ0OiA2Ni42NjY2NiU7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItZGVzY3JpcHRpb25zIGxpOm50aC1jaGlsZCg0KSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDElKTsgfVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMjb25ib2FyZGluZ19xdWVzdGlvbl8yX3NsaWRlcl9kZXNjcmlwdGlvbnMgbGkge1xuICBjb2xvcjogI2ZjYjJmZjsgfVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMjb25ib2FyZGluZ19xdWVzdGlvbl8zX3NsaWRlcl9kZXNjcmlwdGlvbnMgbGkge1xuICBjb2xvcjogIzc0YzhmZjsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBoZWlnaHQ6IDMuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMgbGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDI1JTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZm91ciBsaTpudGgtY2hpbGQoMSkge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQxJSk7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZvdXIgbGk6bnRoLWNoaWxkKDIpIHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1mb3VyIGxpOm50aC1jaGlsZCgzKSB7XG4gIGxlZnQ6IDY2LjY2NjY2JTtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZm91ciBsaTpudGgtY2hpbGQoNCkge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQxJSk7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZpdmUgbGk6bnRoLWNoaWxkKDEpIHtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MSUpOyB9XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1maXZlIGxpOm50aC1jaGlsZCgyKSB7XG4gIGxlZnQ6IDI2JTsgfVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZml2ZSBsaTpudGgtY2hpbGQoMykge1xuICBsZWZ0OiA1MCU7IH1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZpdmUgbGk6bnRoLWNoaWxkKDQpIHtcbiAgbGVmdDogNzQlOyB9XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1maXZlIGxpOm50aC1jaGlsZCg1KSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDElKTsgfVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMjb25ib2FyZGluZ19xdWVzdGlvbl8xX3NsaWRlcl9sYWJlbHMgbGkuYWN0aXZlIHtcbiAgY29sb3I6ICM3N2M5NjI7IH1cblxudWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzI29uYm9hcmRpbmdfcXVlc3Rpb25fMl9zbGlkZXJfbGFiZWxzIGxpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmNiMmZmOyB9XG5cbnVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscyNvbmJvYXJkaW5nX3F1ZXN0aW9uXzNfc2xpZGVyX2xhYmVscyBsaS5hY3RpdmUge1xuICBjb2xvcjogIzc0YzhmZjsgfVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMjb25ib2FyZGluZ19xdWVzdGlvbl80X3NsaWRlcl9sYWJlbHMgbGkuYWN0aXZlIHtcbiAgY29sb3I6ICNlZDc1NDM7IH1cblxudWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzI29uYm9hcmRpbmdfcXVlc3Rpb25fNV9zbGlkZXJfbGFiZWxzIGxpLmFjdGl2ZSB7XG4gIGNvbG9yOiAjNzdjOTYyOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjayB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMTZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjazphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7IH1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW4ge1xuICBjb250ZW50OiAnXFwwMGEwJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgei1pbmRleDogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgbGVmdDogMDsgfVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZm91ciBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIGxlZnQ6IDMxLjY2NjY2JTsgfVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZm91ciBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIGxlZnQ6IDY1JTsgfVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZm91ciBzcGFuOm50aC1jaGlsZCg0KSB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1maXZlIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgbGVmdDogMjQlOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1maXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgbGVmdDogNDklOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1maXZlIHNwYW46bnRoLWNoaWxkKDQpIHtcbiAgbGVmdDogNzMlOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1maXZlIHNwYW46bnRoLWNoaWxkKDUpIHtcbiAgcmlnaHQ6IDA7IH1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDYyLjQzNzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMi40JTIwMTIlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBkJTNEJTIyTTE1JTIwMTAuNmwxLjQlMjAxLjQlMjA2LTYtNi02TDE1JTIwMS40JTIwMTkuNiUyMDZ6TTcuNCUyMDEuNEw2JTIwMCUyMDAlMjA2bDYlMjA2JTIwMS40LTEuNEwyLjglMjA2eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB6LWluZGV4OiAyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgfVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXI6YmVmb3JlLCAub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl8xX3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjayBzcGFuLFxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNV9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzQ4NTI7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fMl9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDBjNWU7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fM19zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDE5NDQ7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNF9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fMV9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlLFxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNV9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzUwYWQ0NztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwYWQ0NzsgfVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl8xX3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcsXG4jb25ib2FyZGluZ19xdWVzdGlvbl81X3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBhZDQ3OyB9XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzJfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM5NjI5YWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI5YWQ7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fMl9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjlhZDsgfVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl8zX3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDA1YWI4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YWI4OyB9XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzNfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVhYjg7IH1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNF9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2VkNzU0MztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkNzU0MzsgfVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl80X3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzOyB9XG5cbi5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCB7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cblxuLm9uYm9hcmRpbmctaW5wYWdlLW1vZGFsIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbC1pbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxLjRyZW0gMS40cmVtIDEuNHJlbSAxLjRyZW07XG4gIG1pbi13aWR0aDogMjcwcHg7XG4gIG1heC13aWR0aDogMzQwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4jZGFzaGJvYXJkIC5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCBoMSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNHJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBjb2xvcjogI2EyYTVhYTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jZGFzaGJvYXJkIC5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCBoMSBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjogIzJkMzUzZjsgfVxuXG4jZGFzaGJvYXJkIC5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCAuYnV0dG9uLCAjZGFzaGJvYXJkIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAuYnV0dG9uIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9XG5cbiNkYXNoYm9hcmQgLm9uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsIC5idXR0b24uZ3JlZW4sICNkYXNoYm9hcmQgLm9uYm9hcmRpbmctaW5wYWdlLW1vZGFsIC5idXR0b24uZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFhZTQwOyB9XG5cbiNkYXNoYm9hcmQgLm9uYm9hcmRpbmctaW5wYWdlLW1vZGFsIHAsICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF80IHAge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjMmQzNTNmO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuI2Rhc2hib2FyZCAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwgcC5vbmJvYXJkaW5nLXN0ZXAtY291bnQsICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF80IHAub25ib2FyZGluZy1zdGVwLWNvdW50IHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI2EyYTVhYTsgfVxuXG4jb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICByaWdodDogLTIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMHB4O1xuICByaWdodDogLTIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF80IHtcbiAgcGFkZGluZzogMS40cmVtIDEuNHJlbSAxLjRyZW0gMS40cmVtOyB9XG5cbiNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8yIC5idXR0b24sICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIC5idXR0b24sICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF80IC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiNkYXNoYm9hcmQgLnJlbGF0aXZlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI29uYm9hcmRpbmcgc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjM3NXJlbTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwLjM3NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjRTRFOEYyO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgY29sb3I6ICM2NjY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kb3duLWNhcmV0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEwcHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNvbmJvYXJkaW5nIHAge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICNvbmJvYXJkaW5nIGgxLCAjZGFzaGJvYXJkIC5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICNvbmJvYXJkaW5nIGgxIHN0cm9uZywgI2Rhc2hib2FyZCAub25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWwgaDEgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjYyNXJlbTsgfVxuICAjb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8yIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAzNDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwtaW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH0gfVxuXG4vKlxuICpcbiAqIEhPTUUgU1RZTEVTXG4gKlxuICovXG4jaG9tZSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMjYwMHB4IDYwMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS10b3AtaGVhZGVyLWJnLnN2Z1wiKTsgfVxuXG4jaG9tZSAubGlnaHQtY3VydmUtYmcge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLXRvcC1oZWFkZXItbGlnaHQtY3VydmUtYmcuc3ZnXCIpOyB9XG5cbiNob21lIC5ob21lLS10b3AtZmVhdHVyZS1pbWFnZSB7XG4gIG1hcmdpbi1yaWdodDogMTAlO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMCU7IH1cblxuaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMyZDM1M2Y7XG4gIG1hcmdpbjogMCAwLjFyZW0gMC4ycmVtIDA7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTYsIDIwMCwgMjU1LCAwLjQyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5ob21lIHAge1xuICBjb2xvcjogIzVjNjI2YTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5ob21lIGEge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmhvbWUgaDEge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNhMmE1YWE7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmhvbWUgaDEgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMmQzNTNmOyB9XG5cbi5ob21lIGgyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICMyZDM1M2Y7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4uaG9tZSBoMyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjMmQzNTNmO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5ob21lIGgzLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgY29sb3I6ICMyZDM1M2Y7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi53cmFwcGVyLmxpZ2h0LWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmNWZiOyB9XG5cbi5ob21lLS13aGl0ZS1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWY1ZmI7IH1cblxuLmhvbWUtLXdoaXRlLWJsb2NrIHAge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICMxNjFmMmE7XG4gIHBhZGRpbmc6IDEwcHggMjUlIDEwcHggMTVweDsgfVxuXG4uaG9tZS0td2hpdGUtYmxvY2sgaW1nLCAuaG9tZS0td2hpdGUtYmxvY2sgc3ZnIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1heC13aWR0aDogOC4xMjVyZW07IH1cblxuLyogMCAtIDU3NHB4IC0gT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzRweCkge1xuICAuaG9tZSBoMSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAuaG9tZSBoMSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07IH1cbiAgLmhvbWUtLXdoaXRlLWJsb2NrIHAge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gIC5ob21lLS13aGl0ZS1ibG9jayBpbWcsIC5ob21lLS13aGl0ZS1ibG9jayBzdmcge1xuICAgIG1heC13aWR0aDogNS42MjVyZW07IH1cbiAgLmhvbWUgaDMubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbi8qIDU3NXB4IC0gNzM5cHggLSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NXB4KSBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLmhvbWUtLXdoaXRlLWJsb2NrIHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qIDAgLSA3MzlweCAtIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNob21lIC5ob21lLS10b3AtZmVhdHVyZS1pbWFnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IC0xMCU7XG4gICAgbWF4LXdpZHRoOiA5NSU7IH1cbiAgI2hvbWUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjk1cHggOTAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUtdG9wLWhlYWRlci1iZy1tb2JpbGUuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDsgfVxuICAjaG9tZSAubGlnaHQtY3VydmUtYmcge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuXG4uaG9tZS0tbGluay1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiA2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNC43NXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQod2hpdGUsIGJsYWNrKTsgfVxuXG4uaG9tZS0tbGluay1ibG9jayAucm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5ob21lLS1saW5rLWJsb2NrOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDsgfVxuXG4uaG9tZS0tbGluay1ibG9jazpob3ZlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cblxuLyouaG9tZS0tbGluay1ibG9jazpob3ZlciB7XG5cdGJhY2tncm91bmQtc2l6ZTogMTIwJTtcbn0qL1xuLmhvbWUtLWxpbmstYmxvY2sgaDMge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG4uaG9tZS0tbGluay1ibG9jay0tcHVycGxlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUtbGluay1ibG9jay1iZy1wdXJwbGUucG5nXCIpOyB9XG5cbi5ob21lLS1saW5rLWJsb2NrLS1ncmVlbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLWxpbmstYmxvY2stYmctZ3JlZW4ucG5nXCIpOyB9XG5cbi8qIDAgLSA1NzRweCAtIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc0cHgpIHtcbiAgLmhvbWUtLWxpbmstYmxvY2sge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjVyZW07IH0gfVxuXG4uaG9tZSAuYnV0dG9uLCAubGFuZ19tZW51X21vZGFsIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3O1xuICBwYWRkaW5nOiAxLjI1ZW0gMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uaG9tZSAuYnV0dG9uOmhvdmVyLCAubGFuZ19tZW51X21vZGFsIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5MzNjOyB9XG5cbi5ob21lIC5idXR0b24ucHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNWRmZjsgfVxuXG4uaG9tZSAuYnV0dG9uLnB1cnBsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYzI5ZmY7IH1cblxuLmhvbWUgLmJ1dHRvbi5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczNzk3ZjsgfVxuXG4uaG9tZSAuYnV0dG9uLmdyZXk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjI2NzZjOyB9XG5cbi5idXNpbmVzcy1wbGFuLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5idXNpbmVzcy1wbGFuLWltYWdlIGltZyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uYnVzaW5lc3MtcGxhbi1pbWFnZSBoNCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NyU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogIzJkMzUzZjsgfVxuXG4jaG9tZXBhZ2VfYWJvdXRfbW9kYWwge1xuICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1heC13aWR0aDogOTQlOyB9XG5cbiNob21lcGFnZV9hYm91dF9tb2RhbCBoMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM3Mzc5N2Y7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiAjMmQzNTNmOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI2hvbWVwYWdlX2Fib3V0X21vZGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAub3JiaXQtY29udGFpbmVyOmJlZm9yZSwgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAub3JiaXQtY29udGFpbmVyOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWF4LXdpZHRoOiAzMDBweDsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuc2xpZGUtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuNXJlbSAyLjVyZW0gMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIHVsIGxpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMS4wNjI1cmVtIDAuOTM3NXJlbSAxLjA2MjVyZW0gMy40Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjMmQzNTNmOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIHVsIGxpIHNwYW4ge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMi4xMjVyZW07XG4gIGhlaWdodDogMi4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNjIuNDM3NXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTEgdWwgbGkgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzZDY7IH1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtMiB1bCBsaSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkNzU0MzsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZS0zIHVsIGxpIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzdjOTYyOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTQgdWwgbGkgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDBlOTM7IH1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtNSB1bCBsaSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlciB7XG4gIHdpZHRoOiAzLjEyNXJlbTtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMS42ODc1cmVtO1xuICBjb2xvcjogIzJkMzUzZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAxMXB4IGF1dG8gMCBhdXRvO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmxhbmctdGggaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctdGggLmhvbWUgYSxcbi5sYW5nLXRoIC5ob21lIHAsXG4ubGFuZy10aCAuaG9tZSBoMixcbi5sYW5nLXRoIC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctdGggI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctdGggI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy10aCAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLXRoICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgZm9udC1mYW1pbHk6ICdLMkQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmxhbmctcHMgaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctcHMgLmhvbWUgYSxcbi5sYW5nLXBzIC5ob21lIHAsXG4ubGFuZy1wcyAuaG9tZSBoMixcbi5sYW5nLXBzIC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctcHMgI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctcHMgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy1wcyAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLXBzICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgZm9udC1mYW1pbHk6ICdub3RvX25hc3RhbGlxX3VyZHVyZWd1bGFyJywgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1mYV9hZiBoZWFkZXIgLm1lbnUuaG9tZS1sb2dpbi1tZW51IGEsXG4ubGFuZy1mYV9hZiAuaG9tZSBhLFxuLmxhbmctZmFfYWYgLmhvbWUgcCxcbi5sYW5nLWZhX2FmIC5ob21lIGgyLFxuLmxhbmctZmFfYWYgLmhvbWUgLmhvbWUtLWxpbmstYmxvY2ssXG4ubGFuZy1mYV9hZiAjaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMsXG4ubGFuZy1mYV9hZiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCxcbi5sYW5nLWZhX2FmICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5jaXJjbGUtbnVtYmVyLFxuLmxhbmctZmFfYWYgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgaDQge1xuICBmb250LWZhbWlseTogJ25vdG9fbmFza2hfYXJhYmljX3VpcmVndWxhcicsIHNhbnMtc2VyaWY7IH1cblxuLmxhbmctaGlfaW4gaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctaGlfaW4gLmhvbWUgYSxcbi5sYW5nLWhpX2luIC5ob21lIHAsXG4ubGFuZy1oaV9pbiAuaG9tZSBoMixcbi5sYW5nLWhpX2luIC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctaGlfaW4gI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctaGlfaW4gI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy1oaV9pbiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLWhpX2luICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5sYW5nLWF6IGhlYWRlciAubWVudS5ob21lLWxvZ2luLW1lbnUgYSxcbi5sYW5nLWF6IC5ob21lIGEsXG4ubGFuZy1heiAuaG9tZSBwLFxuLmxhbmctYXogLmhvbWUgaDIsXG4ubGFuZy1heiAuaG9tZSAuaG9tZS0tbGluay1ibG9jayxcbi5sYW5nLWF6ICNob21lcGFnZV9hYm91dF9tb2RhbCBoMyxcbi5sYW5nLWF6ICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIHVsLFxuLmxhbmctYXogI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgLmNpcmNsZS1udW1iZXIsXG4ubGFuZy1heiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSBoNCB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4ubGFuZy1oeSBoZWFkZXIgLm1lbnUuaG9tZS1sb2dpbi1tZW51IGEsXG4ubGFuZy1oeSAuaG9tZSBhLFxuLmxhbmctaHkgLmhvbWUgcCxcbi5sYW5nLWh5IC5ob21lIGgyLFxuLmxhbmctaHkgLmhvbWUgLmhvbWUtLWxpbmstYmxvY2ssXG4ubGFuZy1oeSAjaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMsXG4ubGFuZy1oeSAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCxcbi5sYW5nLWh5ICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5jaXJjbGUtbnVtYmVyLFxuLmxhbmctaHkgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgaDQge1xuICBmb250LWZhbWlseTogJ05vdG8gU2FucyBBcm1lbmlhbicsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtMSAuc2xpZGUtaW5uZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS1zZWN0aW9uLXNsaWRlci1iZy0xLnN2Z1wiKTsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZS0yIC5zbGlkZS1pbm5lciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLXNlY3Rpb24tc2xpZGVyLWJnLTIuc3ZnXCIpOyB9XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTMgLnNsaWRlLWlubmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctMy5zdmdcIik7IH1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtNCAuc2xpZGUtaW5uZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvaG9tZS1zZWN0aW9uLXNsaWRlci1iZy00LnN2Z1wiKTsgfVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZS01IC5zbGlkZS1pbm5lciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ob21lLXNlY3Rpb24tc2xpZGVyLWJnLTUuc3ZnXCIpOyB9XG5cbiNob21lIC5sZWZ0LWdyYWRpZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNob21lIC5sZWZ0LWdyYWRpZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTVweDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogNTRweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZWVmNWZiIDIwJSwgcmdiYSgyMzgsIDI0NSwgMjUxLCAwKSA5NyUpO1xuICB6LWluZGV4OiAxOyB9XG5cbi5ob21lIC5jcmVkaXRzIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgY29sb3I6ICMyZDM1M2Y7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmhvbWUgLmNyZWRpdHMgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNhMmE1YWE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5ob21lIC5jcmVkaXRzLWxpbmtzIGltZyB7XG4gIG1heC13aWR0aDogMTYwcHg7IH1cblxuLyouaG9tZS0taXRlbV9wYW5lbHMge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE3NSk7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTApO1xuXHRjb2xvcjogIzAwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5ob21lLS1pdGVtX3BhbmVscyBsaS5vbmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTAxLnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLnR3byB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYW5kaW5nLXBhZ2UtMDIuc3ZnJyk7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkudGhyZWUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTAzLnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLmZvdXIge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA0LnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLmZpdmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA1LnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLnNpeCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYW5kaW5nLXBhZ2UtMDYuc3ZnJyk7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkuc2V2ZW4ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA3LnN2ZycpO1xufSovXG4vKiBcbiAqIFNFQ1RJT04gMVxuICovXG4jc2VjdGlvbl8xIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAxLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzAxLWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDE5NDQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bzsgfVxuXG4jc2VjdGlvbl8xIC5yZXZlYWwuZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDE5NDQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWI1NGI2OyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXItY29sb3I6ICMyMDYzRDY7XG4gIGNvbG9yOiAjMjA2M0Q2OyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbi5vdXRsaW5lZCB7XG4gIGJvcmRlci1jb2xvcjogIzIwNjNENjtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGNvbG9yOiAjMjA2M0Q2OyB9XG5cbi8qI3NlY3Rpb25fMSAud2FybmluZzpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9Ki9cbiNzZWN0aW9uXzEgLnNlY3Rpb25fdGl0bGUgc3BhbiB7XG4gIGNvbG9yOiAjMDQxOTQ0OyB9XG5cbiNzZWN0aW9uXzEgLnNlY3Rpb25fdGl0bGUgc3BhbiBzdmcge1xuICB3aWR0aDogMjZweDsgfVxuXG4jc2VjdGlvbl8xIC5zZWN0aW9uX3RpdGxlIHNwYW4gLnRpY2tfZmlsbCB7XG4gIGZpbGw6ICMwNDE5NDQ7IH1cblxuI3NlY3Rpb25fMSAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMSAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMSAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgOTksIDIxNCwgMC44KTsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMjA2M0Q2OyB9XG5cbiNzZWN0aW9uXzEgaDIsICNzZWN0aW9uXzEgaDMsICNzZWN0aW9uXzEgYSBoMiwgI3NlY3Rpb25fMSBhIGgzIHtcbiAgY29sb3I6ICMwNDE5NDQ7IH1cblxuI3NlY3Rpb25fMSBoNC5wdW5jaCB7XG4gIGNvbG9yOiAjMDQzOUE1O1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jc2VjdGlvbl8xIC50cmFuc3BhcmVudCA+IHAge1xuICBjb2xvcjogI0NDREVGRjtcbiAgdGV4dC1zaGFkb3c6IDBweCA3cHggNnB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7IH1cblxuI3NlY3Rpb25fMSAuY2FsbG91dC5jb21wbGV0ZWQgaDMsICNzZWN0aW9uXzEgLmNhbGxvdXQuY29tcGxldGVkIHAge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMDQxOTQ0JTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucnRsI3NlY3Rpb25fMSAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMwNDE5NDQlMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0IHVsIGxpOmFmdGVyLCAjc2VjdGlvbl8xIHVsLmtleWxpc3QgbGk6YWZ0ZXIsICNzZWN0aW9uXzEgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIsICNidXNpbmVzc19wbGFuIHVsLmtleWxpc3QgbGk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M2Q2OyB9XG5cbiNzZWN0aW9uXzEgLm9yYml0LXNsaWRlIGg0IHtcbiAgY29sb3I6ICMwNDE5NDQ7IH1cblxuI3NlY3Rpb25fMSAub3JiaXQtY29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuXG4jc2VjdGlvbl8xIC5vcmJpdC1jb250cm9scyBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg0YWExOyB9XG5cbiNzZWN0aW9uXzEgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDk5LCAyMTQsIDAuMik7IH1cblxuI3NlY3Rpb25fMSAucmV2ZWFsIGxhYmVsIHtcbiAgY29sb3I6ICMwNDE5NDQ7IH1cblxuI3NlY3Rpb25fMSBpbWcuaWNvbiB7XG4gIG1heC13aWR0aDogMjUwcHg7IH1cblxuLyogU0VDVElPTiAxQiBTVFlMRVMgKi9cbi8qIElOU0lERSAvIE9VVFNJREUgUEVPUExFIExJU1QgKi9cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIHtcbiAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAubWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAubWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMi4yNXJlbTsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAubWVudSBsaS5tZW51LXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwNDIwNjg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzBweCk7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLmluc2lkZSAubWVudSBsaS5tZW51LXRleHQge1xuICBjb2xvcjogIzIwNjNENjsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAuaW5zaWRlLmRpc2FibGVkIC5tZW51IGxpLm1lbnUtdGV4dCB7XG4gIGNvbG9yOiAjZWVlOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5vdXRzaWRlIC5tZW51IGxpLm1lbnUtdGV4dCB7XG4gIGNvbG9yOiAjMDQyMDY4OyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5tZW51IGxpIC5idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM2NjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkgLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5tZW51IGxpIC5idXR0b24gLnBsdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMy4xMjVyZW07XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDYyLjQzNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm91dHNpZGUgLm1lbnUgbGkgLmJ1dHRvbiAucGx1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDIwNjg7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkgLmJ1dHRvbjpob3ZlciAucGx1cyB7XG4gIHRvcDogLTVweDtcbiAgd2lkdGg6IDMuNzVyZW07XG4gIGhlaWdodDogMy43NXJlbTtcbiAgZm9udC1zaXplOiAzLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkuYWRkX2J1dHRvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTlweCk7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1cHgpOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5pbnNpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlOGYyOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5pbnNpZGUuZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5vdXRzaWRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAucGVvcGxlIGxpLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5wZW9wbGUgbGkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA3OHB4OyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5wZW9wbGUgbGkgYSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIGEsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSBzcGFuLnN0YXRpY19wZW9wbGUge1xuICBiYWNrZ3JvdW5kLXNpemU6IDQ2cHggNTZweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBtYXJnaW4tbGVmdDogMC44NzVyZW07XG4gIG1hcmdpbi1yaWdodDogMC44NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuMjVzOyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSBzcGFuLnN0YXRpY19wZW9wbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLnBlb3BsZSBsaSBhOmhvdmVyLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5wZW9wbGUgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogNTBweCA2MHB4OyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5wZW9wbGUgbGkgLnBlcnNvbl9uYW1lLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5wZW9wbGUgbGkgLnBlcnNvbl9uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNXB4KTsgfVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAuaW5zaWRlIC5wZW9wbGUgbGkgYSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAuaW5zaWRlIC5wZW9wbGUgbGkgYSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAuaW5zaWRlIC5wZW9wbGUgbGkgc3Bhbi5zdGF0aWNfcGVvcGxlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nLzFBLUluc2lkZUF2YXRhci5zdmdcIik7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm91dHNpZGUgLnBlb3BsZSBsaSBhLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5vdXRzaWRlIC5wZW9wbGUgbGkgYSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAub3V0c2lkZSAucGVvcGxlIGxpIHNwYW4uc3RhdGljX3Blb3BsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy8xQS1PdXRzaWRlQXZhdGFyLnN2Z1wiKTsgfVxuXG4jYWRkX2VkaXRfYV9wZXJzb25fbW9kYWwgaDMgLmFkZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNhZGRfZWRpdF9hX3BlcnNvbl9tb2RhbCBoMyAuZWRpdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCBoNCB7XG4gIGNvbG9yOiAjMDQxOTQ0OyB9XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLmluc2lkZTphZnRlciwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAub3V0c2lkZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU4ZjI7IH1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCBoNSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLyogTW92ZSAud2F2ZXMgdG8gbWFpbiBjdXN0b20gY3NzIGZpbGU/ICovXG4ud2F2ZXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2F2ZXMuc3ZnXCIpLCB1cmwoXCIuLi9pbWcvd2F2ZXMuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgLTUwcHggcmlnaHQgMCwgYm90dG9tIC01MHB4IGxlZnQgMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMHB4OyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLndhdmVzIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwcHg7IH1cbiAgI3NlY3Rpb25fMSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAxLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAtNTAwcHggbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDEtYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAtNDUwcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDE5NDQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bzsgfSB9XG5cbi8qIFxuICogU0VDVElPTiAyXG4gKi9cbiNzZWN0aW9uXzIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvMDItYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDItYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDIzOTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvOyB9XG5cbiNzZWN0aW9uXzIgLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDIzOTtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fMiAuYnV0dG9uOm5vdCguaG9sbG93KTpub3QoLmNsZWFyKTpub3QoLndoaXRlKTpub3QoLmluY29tZSk6bm90KC5jb3N0KSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMiAuYnV0dG9uOm5vdCguaG9sbG93KTpub3QoLmNsZWFyKTpub3QoLndoaXRlKTpub3QoLmluY29tZSk6bm90KC5jb3N0KTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzI3MjI7IH1cblxuI3NlY3Rpb25fMiAuYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlci1jb2xvcjogI0RFM0YzQTtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMiAuYnV0dG9uLm91dGxpbmVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjREUzRjNBO1xuICBib3JkZXItd2lkdGg6IDNweDtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuLyojc2VjdGlvbl8yIC53YXJuaW5nOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH0qL1xuI3NlY3Rpb25fMiAuc2VjdGlvbl90aXRsZSBzcGFuIHtcbiAgY29sb3I6ICM1NzAyMzk7IH1cblxuI3NlY3Rpb25fMiAuc2VjdGlvbl90aXRsZSBzcGFuIHN2ZyB7XG4gIHdpZHRoOiAyNnB4OyB9XG5cbiNzZWN0aW9uXzIgLnNlY3Rpb25fdGl0bGUgc3BhbiAudGlja19maWxsIHtcbiAgZmlsbDogIzU3MDIzOTsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0X2EgLmNpcmNsZS1udW1iZXIsXG4jc2VjdGlvbl8yIC5jYWxsb3V0X2IgLmNpcmNsZS1udW1iZXIsXG4jc2VjdGlvbl8yIC5jYWxsb3V0X2MgLmNpcmNsZS1udW1iZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMiwgNjMsIDU4LCAwLjgpOyB9XG5cbiNzZWN0aW9uXzIgLmNhbGxvdXQuY29tcGxldGVkIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMiBoMiwgI3NlY3Rpb25fMiBoMywgI3NlY3Rpb25fMiBoNCwgI3NlY3Rpb25fMiBhIGgyLCAjc2VjdGlvbl8yIGEgaDMge1xuICBjb2xvcjogIzU3MDIzOTsgfVxuXG4jc2VjdGlvbl8yIC50cmFuc3BhcmVudCA+IHAge1xuICBjb2xvcjogI0ZGRTlERDtcbiAgdGV4dC1zaGFkb3c6IDBweCA3cHggNnB4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0LmNvbXBsZXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMiAuY2FsbG91dC5jb21wbGV0ZWQgaDMsICNzZWN0aW9uXzIgLmNhbGxvdXQuY29tcGxldGVkIHAge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNTcwMjM5JTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucnRsI3NlY3Rpb25fMiAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM1NzAyMzklMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0IHVsIGxpOmFmdGVyLCAjc2VjdGlvbl8yIHVsLmtleWxpc3QgbGk6YWZ0ZXIsICNzZWN0aW9uXzIgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzOyB9XG5cbiNzZWN0aW9uXzIgLm9yYml0LXNsaWRlIGg0IHtcbiAgY29sb3I6ICM1NzAyMzk7IH1cblxuI3NlY3Rpb25fMiAub3JiaXQtY29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jc2VjdGlvbl8yIC5vcmJpdC1jb250cm9scyBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQyMzFlOyB9XG5cbiNzZWN0aW9uXzIgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIyLCA2MywgNTgsIDAuMik7IH1cblxuI3NlY3Rpb25fMiBsYWJlbCB7XG4gIGNvbG9yOiAjNTcwQjczO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbiNzZWN0aW9uXzIgaW1nLmljb24sICNzZWN0aW9uXzIgLnN2Zy1hbmltYXRlZC1pbWFnZSB7XG4gIG1heC13aWR0aDogMjUwcHg7IH1cblxuI3NlY3Rpb25fMiAuc3ZnLWFuaW1hdGVkLWltYWdlIHtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbiNzZWN0aW9uXzIgdGQgbGFiZWwsICNzZWN0aW9uXzIgdGggbGFiZWwsICNzZWN0aW9uXzIgdGQgaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiNzZWN0aW9uXzIgLnRpbWVfcGVyX3dlZWtfbW9udGggaW5wdXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRib2R5IHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4jc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGFibGUgdGgge1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMi4xODc1cmVtOyB9XG5cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0aDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH1cblxuLnJ0bCNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0aCB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTsgfVxuXG4ucnRsI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRoOmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDE1cHg7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCgxKSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI5YWQ7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCgyKSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYjYyYzk7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCgzKSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3N2M5NjI7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCg0KSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVjNTk7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCg1KSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzZDY7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCg2KSB0aDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDM5YTU7IH1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRkIHtcbiAgd2lkdGg6IDUlOyB9XG5cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIGxpIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyBsaTpudGgtY2hpbGQoMSkgYSB7XG4gIG1hcmdpbi1yaWdodDogMnB4OyB9XG5cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuXG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNXMsIG9wYWNpdHkgMC41czsgfVxuXG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGE6aG92ZXI6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogODAlOyB9XG5cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM1NzAyMzk7IH1cblxuI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXTphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiA4MCU7IH1cblxuI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAjc2VjdGlvbl8yICNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jdC1jaGFydCB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uY3Qtc2VyaWVzLWEgLmN0LXNsaWNlLXBpZSB7XG4gIC8qIGZpbGwgb2YgdGhlIHBpZSBzbGllY2VzICovXG4gIC8qIGdpdmUgeW91ciBwaWUgc2xpY2VzIHNvbWUgb3V0bGluZSBvciBzZXBhcmF0ZSB0aGVtIHZpc3VhbGx5IGJ5IHVzaW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGhlcmUgKi9cbiAgLyogb3V0bGluZSB3aWR0aCAqLyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI3NlY3Rpb25fMiB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzAyLWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAtNTAwcHggbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDItYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAtNDUwcHggbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bzsgfSB9XG5cbi8qIFxuICogU0VDVElPTiAzXG4gKi9cbiNzZWN0aW9uXzMge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvMDMtYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDMtYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzNDg1MjtcbiAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvOyB9XG5cbiNzZWN0aW9uXzMgLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzNDg1MjtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fMyAuYnV0dG9uOm5vdCguaG9sbG93KTpub3QoLmNsZWFyKTpub3QoLndoaXRlKTpub3QoLmluY29tZSk6bm90KC5jb3N0KTpub3QoLmxvemVuZ2VfaXRlbSk6bm90KC5sb3plbmdlX2l0ZW1fc2VsZWN0ZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwQUQ0NzsgfVxuXG4jc2VjdGlvbl8zIC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOm5vdCgubG96ZW5nZV9pdGVtKTpub3QoLmxvemVuZ2VfaXRlbV9zZWxlY3RlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5MzNjOyB9XG5cbiNzZWN0aW9uXzMgLmJ1dHRvbi5ob2xsb3c6bm90KC5sb3plbmdlX2FkZCkge1xuICBib3JkZXItY29sb3I6ICM1MEFENDc7XG4gIGNvbG9yOiAjNTBBRDQ3OyB9XG5cbiNzZWN0aW9uXzMgLmJ1dHRvbi5vdXRsaW5lZCB7XG4gIGJvcmRlci1jb2xvcjogIzE5NkM2QTtcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGNvbG9yOiAjMTk2QzZBOyB9XG5cbi8qI3NlY3Rpb25fMyAud2FybmluZzpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3OyB9Ki9cbiNzZWN0aW9uXzMgLnNlY3Rpb25fdGl0bGUgc3BhbiB7XG4gIGNvbG9yOiAjMTM0ODUyOyB9XG5cbiNzZWN0aW9uXzMgLnNlY3Rpb25fdGl0bGUgc3BhbiBzdmcge1xuICB3aWR0aDogMjZweDsgfVxuXG4jc2VjdGlvbl8zIC5zZWN0aW9uX3RpdGxlIHNwYW4gLnRpY2tfZmlsbCB7XG4gIGZpbGw6ICMxMzQ4NTI7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMyAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMyAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgMTczLCA3MSwgMC44KTsgfVxuXG4jc2VjdGlvbl8zIC5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNTBBRDQ3OyB9XG5cbiNzZWN0aW9uXzMgaDIsICNzZWN0aW9uXzMgaDMsICNzZWN0aW9uXzMgYSBoMiwgI3NlY3Rpb25fMyBhIGgzIHtcbiAgY29sb3I6ICMxMzQ4NTI7IH1cblxuI3NlY3Rpb25fMyAudHJhbnNwYXJlbnQgPiBwIHtcbiAgY29sb3I6ICNGM0ZGRUM7XG4gIHRleHQtc2hhZG93OiAwcHggN3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk2QzZBOyB9XG5cbiNzZWN0aW9uXzMgLmNhbGxvdXQuY29tcGxldGVkIGgzLCAjc2VjdGlvbl8zIC5jYWxsb3V0LmNvbXBsZXRlZCBwIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjI4JTIwMzUuMjglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzEzNDg1MiUyMiUyMGQlM0QlMjJNMzYuMjglMjAzNS4yOEwwJTIwMGgzNi4yOHYzNS4yOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnJ0bCNzZWN0aW9uXzMgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNi4zJTIwMzUuMyUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMTM0ODUyJTIyJTIwZCUzRCUyMk0zNS44LTAuNUwwLjUlMkMzNS44Vi0wLjVIMzUuOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fMyB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl8zIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwYWQ0NzsgfVxuXG4jc2VjdGlvbl8zIC5vcmJpdC1zbGlkZSBoNCB7XG4gIGNvbG9yOiAjNTBBRDQ3O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiNzZWN0aW9uXzMgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTZDNkE7IH1cblxuI3NlY3Rpb25fMyAub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzNTE1MDsgfVxuXG4jc2VjdGlvbl8zIC5vcmJpdC1jb250cm9scyBidXR0b24uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1LCAxMDgsIDEwNiwgMC4yKTsgfVxuXG4jc2VjdGlvbl8zIGxhYmVsIHtcbiAgY29sb3I6ICMxMzQ4NTI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuI3NlY3Rpb25fMyBpbWcuaWNvbiB7XG4gIG1heC13aWR0aDogMjUwcHg7IH1cblxuI3NlY3Rpb25fMyAudXNwX3BhZ2UgbGFiZWwge1xuICBjb2xvcjogIzY2NjsgfVxuXG4jc2VjdGlvbl8zIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLnRpbnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEyLCAyNDUsIDE5OCwgMC4zKTsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNzZWN0aW9uXzMge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8wMy1iZy1yaWdodC5zdmdcIikgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzAzLWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM0ODUyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87IH0gfVxuXG4vKiBcbiAqIFNFQ1RJT04gNFxuICovXG4jc2VjdGlvbl80IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nLzA0LWJnLXJpZ2h0LnN2Z1wiKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzA0LWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDBDNUU7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bzsgfVxuXG4jc2VjdGlvbl80IC5yZXZlYWwuZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDBDNUU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNzZWN0aW9uXzQgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwQjczOyB9XG5cbiNzZWN0aW9uXzQgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGEwOTYyOyB9XG5cbiNzZWN0aW9uXzQgLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXItY29sb3I6ICM1NzBCNzM7XG4gIGNvbG9yOiAjNTcwQjczOyB9XG5cbiNzZWN0aW9uXzQgLmJ1dHRvbi5vdXRsaW5lZCB7XG4gIGJvcmRlci1jb2xvcjogIzU3MEI3MztcbiAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gIGNvbG9yOiAjNTcwQjczOyB9XG5cbi8qI3NlY3Rpb25fNCAud2FybmluZzpiZWZvcmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQTcxQUU0OyB9Ki9cbiNzZWN0aW9uXzQgLnNlY3Rpb25fdGl0bGUgc3BhbiB7XG4gIGNvbG9yOiAjMzAwQzVFOyB9XG5cbiNzZWN0aW9uXzQgLnNlY3Rpb25fdGl0bGUgc3BhbiBzdmcge1xuICB3aWR0aDogMjZweDsgfVxuXG4jc2VjdGlvbl80IC5zZWN0aW9uX3RpdGxlIHNwYW4gLnRpY2tfZmlsbCB7XG4gIGZpbGw6ICMzMDBDNUU7IH1cblxuI3NlY3Rpb25fNCAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNCAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNCAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjcsIDI2LCAyMjgsIDAuOCk7IH1cblxuI3NlY3Rpb25fNCAuY2FsbG91dC5jb21wbGV0ZWQgLmNpcmNsZS1udW1iZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI0E3MUFFNDsgfVxuXG4jc2VjdGlvbl80IGgyLCAjc2VjdGlvbl80IGgzLCAjc2VjdGlvbl80IGEgaDIsICNzZWN0aW9uXzQgYSBoMyB7XG4gIGNvbG9yOiAjMzAwQzVFOyB9XG5cbiNzZWN0aW9uXzQgLnRyYW5zcGFyZW50ID4gcCB7XG4gIGNvbG9yOiAjQ0RCRUZGO1xuICB0ZXh0LXNoYWRvdzogMHB4IDdweCA2cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNURGRjsgfVxuXG4jc2VjdGlvbl80IC5jYWxsb3V0LmNvbXBsZXRlZCBoMywgI3NlY3Rpb25fNCAuY2FsbG91dC5jb21wbGV0ZWQgcCB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNi4yOCUyMDM1LjI4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMzMDBDNUUlMjIlMjBkJTNEJTIyTTM2LjI4JTIwMzUuMjhMMCUyMDBoMzYuMjh2MzUuMjh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5ydGwjc2VjdGlvbl80IC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMyUyMDM1LjMlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMwMEM1RSUyMiUyMGQlM0QlMjJNMzUuOC0wLjVMMC41JTJDMzUuOFYtMC41SDM1Ljh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQgdWwgbGk6YWZ0ZXIsICNzZWN0aW9uXzQgdWwua2V5bGlzdCBsaTphZnRlciwgI3NlY3Rpb25fNCAub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCBsaTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI5YWQ7IH1cblxuI3NlY3Rpb25fNCAub3JiaXQtc2xpZGUgaDQge1xuICBjb2xvcjogIzMwMEM1RTsgfVxuXG4jc2VjdGlvbl80IC5vcmJpdC1jb250cm9scyBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbiNzZWN0aW9uXzQgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMTA2ZmY7IH1cblxuI3NlY3Rpb25fNCAub3JiaXQtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDkzLCAyNTUsIDAuMik7IH1cblxuI3NlY3Rpb25fNCBsYWJlbCwgLmFjY29yZGlvbi1pdGVtLnNlY3Rpb25fNCBsYWJlbCB7XG4gIGNvbG9yOiAjNTcwQjczO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNzZWN0aW9uXzQgZm9ybSB0ZCBsYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnJ0bCNzZWN0aW9uXzQgbGFiZWwsIC5hY2NvcmRpb24taXRlbS5zZWN0aW9uXzQgbGFiZWwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucnRsI3NlY3Rpb25fNCBmb3JtIHRkIGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3NlY3Rpb25fNCBmb3JtIHRkLnRleHQtY2VudGVyIGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNzZWN0aW9uXzQgZm9ybSB0ZC50ZXh0LWNlbnRlciBpbnB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jc2VjdGlvbl80IGZvcm0gdGQueDNjb2wge1xuICB3aWR0aDogMzMlOyB9XG5cbiNzZWN0aW9uXzQgZm9ybSB0ZC54MmNvbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuI3NlY3Rpb25fNCBmb3JtIHRyLm5vYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4jc2VjdGlvbl80IGltZy5pY29uIHtcbiAgbWF4LXdpZHRoOiAyNTBweDsgfVxuXG4jc2VjdGlvbl80IHRkIGxhYmVsLCAjc2VjdGlvbl80IHRoIGxhYmVsLCAjc2VjdGlvbl80IHRkIGlucHV0LCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRkIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRoIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRkIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyBsaTpudGgtY2hpbGQoMikgYSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7IH1cblxuLnJ0bCAjb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbi5ydGwgI292ZXJoZWFkcy10YWJsZXMtdGFicyBsaTpudGgtY2hpbGQoMikgYSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgb3BhY2l0eSAwLjVzOyB9XG5cbi5ydGwgI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGE6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsgfVxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlID4gYTpob3ZlcjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiA4MCU7IH1cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNTcwQjczOyB9XG5cbiNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXTphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiA4MCU7IH1cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsICNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuI3NlY3Rpb25fNCAucGx1c19jaGFyLCAjc2VjdGlvbl80IC5wZXJjZW50X2NoYXIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuODc1cmVtOyB9XG5cbi5kYWlseV9vdmVyaGVhZF9yYXRlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG5cbi5hbm51YWxfYnVzaW5lc3Nfb3ZlcmhlYWRzX3RvdGFsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uYW5udWFsX3NhbGFyeV90b3RhbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLm1vbnRobHlfY29zdHNfdG90YWwsIC5tb250aGx5X2Nvc3RzX3RvdGFsX2N1cnJlbmN5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ud2Vla2x5X2Nvc3RzX3RvdGFsLCAud2Vla2x5X2Nvc3RzX3RvdGFsX2N1cnJlbmN5IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uZGFpbHlfY29zdHNfdG90YWwsIC5kYWlseV9jb3N0c190b3RhbF9jdXJyZW5jeSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLmFubnVhbF9idXNpbmVzc19vdmVyaGVhZHNfY29zdHNfdG90YWwge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5jb3N0X29mX3Byb2R1Y3Rfb3Jfc2VydmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuXG4uc2VsbGluZ19wcmljZV9vZl9wcm9kdWN0X3NlcnZpY2Uge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5yZXRhaWxfcHJpY2Vfb2ZfcHJvZHVjdF9zZXJ2aWNlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uc2xpZGVycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jczRfYV9wcm9kdWN0X3ZhbHVlX2FkZF9tb2RhbCAuc2xpZGVycyB7XG4gIGhlaWdodDogOXJlbTsgfVxuXG4vKi5zbGlkZXJzIC52ZXJ0aWNhbF9saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMnB4O1xuICAgIHotaW5kZXg6IDA7XG59Ki9cbi5zbGlkZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhMCc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IC03cHg7XG4gIHdpZHRoOiAyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sZWZ0LWNhcmV0LWdyZXkuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDA7IH1cblxuLnNsaWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogLTdweDtcbiAgd2lkdGg6IDIwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JpZ2h0LWNhcmV0LWdyZXkuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDA7IH1cblxuLnNsaWRlciB7XG4gIGhlaWdodDogMC4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uc2xpZGVyX3dyYXBwZXIge1xuICBoZWlnaHQ6IDUuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcmljZV9wb2ludF9zbGlkZXIge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3M0X2FfcHJvZHVjdF92YWx1ZV9hZGRfbW9kYWwgLnByaWNlX3BvaW50X3NsaWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9kdWN0X3ZhbHVlX3NsaWRlcl9pbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciBoNCB7XG4gIGNvbG9yOiAjNTcwQjczO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2lkdGg6IDk1JTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg0IGEge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg0IGE6aG92ZXIge1xuICB0ZXh0LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjNTcwQjczO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg1LmxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi5ydGwgLnByaWNlX3BvaW50X3NsaWRlciBoNS5sZWZ0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciBoNS5sZWZ0IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDI4LjEyNXJlbTsgfVxuXG4ucnRsIC5wcmljZV9wb2ludF9zbGlkZXIgaDUubGVmdCBzcGFuIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg1LnJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnJ0bCAucHJpY2VfcG9pbnRfc2xpZGVyIGg1LnJpZ2h0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciBoNS5yaWdodCBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjguMTI1cmVtOyB9XG5cbi5ydGwgLnByaWNlX3BvaW50X3NsaWRlciBoNS5yaWdodCBzcGFuIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZVgoMCk7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDE0cmVtO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci52ZXJ0aWNhbDpob3ZlciB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXItZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNzNF9hX3Byb2R1Y3RfdmFsdWVfYWRkX21vZGFsIC5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGhlaWdodDogOXJlbTsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXIgLnNsaWRlci1oYW5kbGUge1xuICBib3JkZXItcmFkaXVzOiA2Mi40Mzc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvbGVmdC1yaWdodC1jYXJldHMuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW07XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlciAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNDBweDtcbiAgd2lkdGg6IDI2MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNiYmI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpIHRyYW5zbGF0ZVkoNXB4KTtcbiAgYm94LXNoYWRvdzogLTJweCAxcHggMTVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMyk7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLWxhYmVsIC5zbGlkZXItbGFiZWwtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXItbGFiZWwgLmRlbGV0ZV9wcm9kdWN0X3ZhbHVlX2VudHJ5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0X3ByaWNlX3BvaW50X3NsaWRlcl9zdGVwX2EgLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLWxhYmVsIC5kZWxldGVfcHJvZHVjdF92YWx1ZV9lbnRyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci1sYWJlbCAuZGVsZXRlX3Byb2R1Y3RfdmFsdWVfZW50cnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZWQ7IH1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLWxhYmVsOmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAwKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjYmJiO1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbi5zbGlkZXItc3RhdGljIC5zbGlkZXItc3RhdGljLWhhbmRsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDYyLjQzNzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNBNzFBRTQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA0MiU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgei1pbmRleDogMjtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1cHgpO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpZGVyLXN0YXRpYyAuc2xpZGVyLXN0YXRpYy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDQwcHg7XG4gIHdpZHRoOiAyNjBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjYmJiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xuICBib3gtc2hhZG93OiAtMnB4IDFweCAxNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4zKTsgfVxuXG4uc2xpZGVyLXN0YXRpYyAuc2xpZGVyLXN0YXRpYy1sYWJlbDpiZWZvcmUge1xuICByaWdodDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMCk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2JiYjtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuXG4uc2xpZGVyLXN0YXRpYyAuc2xpZGVyLXN0YXRpYy1sYWJlbC10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbiNzNF9hX3Byb2R1Y3RfdmFsdWVfYWRkX21vZGFsIGgzIC5hZGQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jczRfYV9wcm9kdWN0X3ZhbHVlX2FkZF9tb2RhbCBoMyAuZWRpdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN0ZXBfaW5kaWNhdG9yLmhvcml6b250YWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDcwJTsgfVxuXG4uc3RlcF9pbmRpY2F0b3IuaG9yaXpvbnRhbC5jZW50ZXJlZCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQTcxQUU0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAzcHg7XG4gIHJpZ2h0OiAzcHg7XG4gIGhlaWdodDogMXB4O1xuICB6LWluZGV4OiAwOyB9XG5cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsLm5vbGluZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItdG9wOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnN0ZXBfaW5kaWNhdG9yLmhvcml6b250YWwgbGkge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI0ZDQjJGRjtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICB3aWR0aDogMi4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNCMkZGO1xuICBjb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3RlcF9pbmRpY2F0b3IuaG9yaXpvbnRhbC5zaW5nbGUgbGkge1xuICBoZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBsaW5lLWhlaWdodDogMi43NXJlbTtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4uc3RlcF9pbmRpY2F0b3IuaG9yaXpvbnRhbCBsaS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTcxQUU0O1xuICBib3JkZXItY29sb3I6ICNBNzFBRTQ7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5zdGVwX2luZGljYXRvci52ZXJ0aWNhbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbi5ydGwgLnN0ZXBfaW5kaWNhdG9yLnZlcnRpY2FsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfVxuXG4uc3RlcF9pbmRpY2F0b3IudmVydGljYWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjQTcxQUU0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgYm90dG9tOiAzMHB4O1xuICBsZWZ0OiAxN3B4O1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogMDsgfVxuXG4ucnRsIC5zdGVwX2luZGljYXRvci52ZXJ0aWNhbDphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjQTcxQUU0O1xuICByaWdodDogMTdweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3RlcF9pbmRpY2F0b3IudmVydGljYWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAyLjgxMjVyZW07XG4gIHotaW5kZXg6IDE7IH1cblxuLnJ0bCAuc3RlcF9pbmRpY2F0b3IudmVydGljYWwgbGkge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc3RlcF9pbmRpY2F0b3IudmVydGljYWwgbGkgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNBNzFBRTQ7XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgd2lkdGg6IDIuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogLTQ1cHg7IH1cblxuLnJ0bCAuc3RlcF9pbmRpY2F0b3IudmVydGljYWwgbGkgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTQ1cHg7IH1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ni4xODhlbSkge1xuICAjc2VjdGlvbl80IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvMDQtYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IC01MDBweCBuby1yZXBlYXQsIHVybChcIi4uL2ltZy8wNC1iZy1sZWZ0LnN2Z1wiKSB0b3AgMCBsZWZ0IC00NTBweCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwMEM1RTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMDBweCBhdXRvOyB9XG4gIC5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsIHtcbiAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG5cbi8qIDAgLSAzNzRweCAtIFRpbnkgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyMy4zNzVlbSkge1xuICAuc2xpZGVyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5wcm9maXRfbG9zc190YWJsZSB0aCwgLnByb2ZpdF9sb3NzX3RhYmxlIHRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNzNF9iX3RhYmxlX21vbnRobHlfaW5jb21lIHRkLCAjczRfYl90YWJsZV9tb250aGx5X21hdGVyaWFsc19wcm9kdWN0aW9uIHRkIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4jczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyAubW9udGhfY29sdW1uIHtcbiAgbWluLXdpZHRoOiAzMCU7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDsgfVxuXG4vKlxuICogVEFCTEUgU1RFUCBNT05USFxuICovXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyAubW9udGgtcHJldmlvdXMsIC50YWJsZS1zdGVwLW1vbnRoLWNvbnRyb2xzIC5tb250aC1uZXh0IHtcbiAgcG9zaXRpb246IGluaGVyaXQ7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiA1LjMxMjVyZW07XG4gIGhlaWdodDogMy4xMjVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsgfVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyBidXR0b24uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2NywgMjYsIDIyOCwgMC4yKTsgfVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyBidXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzBCNzM7IH1cblxuI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgdGgge1xuICBjb2xvcjogIzU3MEI3MzsgfVxuXG4jczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyB0ZC5wdWxzZSwgI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgdGgucHVsc2Uge1xuICBhbmltYXRpb246IHB1bHNlIDAuNXMgZWFzZS1pbi1vdXQgMTsgfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDREJFRkY7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyBidXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi50YWJsZS1zdGVwLW1vbnRoLWNvbnRyb2xzIC5tb250aC1wcmV2aW91cyB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xlZnQtYXJyb3cuc3ZnXCIpOyB9XG5cbi5ydGwgLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMgLm1vbnRoLXByZXZpb3VzIHtcbiAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmlnaHQtYXJyb3cuc3ZnXCIpOyB9XG5cbi50YWJsZS1zdGVwLW1vbnRoLWNvbnRyb2xzIC5tb250aC1uZXh0IHtcbiAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcmlnaHQtYXJyb3cuc3ZnXCIpOyB9XG5cbi5ydGwgLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMgLm1vbnRoLW5leHQge1xuICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sZWZ0LWFycm93LnN2Z1wiKTsgfVxuXG4vKiAwIC0gNTUwcHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuICAjczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyAubW9udGhfY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDQ4JTsgfSB9XG5cbi8qIFxuICogU0VDVElPTiA1XG4gKi9cbiNzZWN0aW9uXzUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvMDUtYmctcmlnaHQuc3ZnXCIpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWcvMDUtYmctbGVmdC5zdmdcIikgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvOyB9XG5cbiNzZWN0aW9uXzUgLnJldmVhbC5mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fNSAuYnV0dG9uOm5vdCguaG9sbG93KTpub3QoLmNsZWFyKTpub3QoLndoaXRlKTpub3QoLmluY29tZSk6bm90KC5jb3N0KTpub3QoLmxvemVuZ2VfaXRlbSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExNTc4OyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCk6bm90KC5sb3plbmdlX2l0ZW0pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI2NjsgfVxuXG4jc2VjdGlvbl81IC5idXR0b24uaG9sbG93IHtcbiAgYm9yZGVyLWNvbG9yOiAjNTQxRjNGO1xuICBjb2xvcjogIzU0MUYzRjsgfVxuXG4jc2VjdGlvbl81IC5idXR0b24ub3V0bGluZWQge1xuICBib3JkZXItY29sb3I6ICM1NDFGM0Y7XG4gIGJvcmRlci13aWR0aDogM3B4O1xuICBjb2xvcjogIzU0MUYzRjsgfVxuXG4vKiNzZWN0aW9uXzUgLndhcm5pbmc6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDsgfSovXG4jc2VjdGlvbl81IC5zZWN0aW9uX3RpdGxlIHNwYW4ge1xuICBjb2xvcjogIzU0MUYzRjsgfVxuXG4jc2VjdGlvbl81IC5zZWN0aW9uX3RpdGxlIHNwYW4gc3ZnIHtcbiAgd2lkdGg6IDI2cHg7IH1cblxuI3NlY3Rpb25fNSAuc2VjdGlvbl90aXRsZSBzcGFuIC50aWNrX2ZpbGwge1xuICBmaWxsOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLmNhbGxvdXRfYSAuY2lyY2xlLW51bWJlcixcbiNzZWN0aW9uXzUgLmNhbGxvdXRfYiAuY2lyY2xlLW51bWJlcixcbiNzZWN0aW9uXzUgLmNhbGxvdXRfYyAuY2lyY2xlLW51bWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg2LCAyMSwgMTIwLCAwLjgpOyB9XG5cbiNzZWN0aW9uXzUgLmNhbGxvdXQuY29tcGxldGVkIC5jaXJjbGUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNFQTU3OEY7IH1cblxuI3NlY3Rpb25fNSBoMiwgI3NlY3Rpb25fNSBoMywgI3NlY3Rpb25fNSBhIGgyLCAjc2VjdGlvbl81IGEgaDMge1xuICBjb2xvcjogIzU0MUYzRjsgfVxuXG4jc2VjdGlvbl81IGg0IHtcbiAgY29sb3I6ICNCQTE1Nzg7IH1cblxuI3NlY3Rpb25fNSAudHJhbnNwYXJlbnQgPiBwIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwcHggN3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuI3NlY3Rpb25fNSAuY2FsbG91dC5jb21wbGV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE1NzhGOyB9XG5cbiNzZWN0aW9uXzUgLmNhbGxvdXQuY29tcGxldGVkIGgzLCAjc2VjdGlvbl81IC5jYWxsb3V0LmNvbXBsZXRlZCBwIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fNSAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjI4JTIwMzUuMjglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzU0MUYzRiUyMiUyMGQlM0QlMjJNMzYuMjglMjAzNS4yOEwwJTIwMGgzNi4yOHYzNS4yOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnJ0bCNzZWN0aW9uXzUgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNi4zJTIwMzUuMyUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNTQxRjNGJTIyJTIwZCUzRCUyMk0zNS44LTAuNUwwLjUlMkMzNS44Vi0wLjVIMzUuOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuI3NlY3Rpb25fNSAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fNSB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl81IC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhMTU3ODsgfVxuXG4jc2VjdGlvbl81IC5vcmJpdC1zbGlkZSBoNCB7XG4gIGNvbG9yOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjhEQjk7IH1cblxuI3NlY3Rpb25fNSAub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMmE3YzsgfVxuXG4jc2VjdGlvbl81IC5vcmJpdC1jb250cm9scyBidXR0b24uZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTQxLCAxODUsIDAuMik7IH1cblxuI3NlY3Rpb25fNSBsYWJlbCwgLmFjY29yZGlvbi1pdGVtLnNlY3Rpb25fNSBsYWJlbCB7XG4gIGNvbG9yOiAjNTQxRjNGO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNzZWN0aW9uXzUucnRsIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3NlY3Rpb25fNSBmb3JtIHRkIGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jc2VjdGlvbl81LnJ0bCBmb3JtIHRkIGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3NlY3Rpb25fNSBmb3JtIHRkLnRleHQtY2VudGVyIGxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNzZWN0aW9uXzUgZm9ybSB0ZC50ZXh0LWNlbnRlciBpbnB1dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jc2VjdGlvbl81IGZvcm0gdGQueDNjb2wge1xuICB3aWR0aDogMzMlOyB9XG5cbiNzZWN0aW9uXzUgZm9ybSB0ZC54MmNvbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuI3NlY3Rpb25fNSBmb3JtIHRyLm5vYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4jc2VjdGlvbl81IGltZy5pY29uIHtcbiAgbWF4LXdpZHRoOiAyNTBweDsgfVxuXG4jc2VjdGlvbl81IHRkIGxhYmVsLCAjc2VjdGlvbl81IHRoIGxhYmVsLCAjc2VjdGlvbl81IHRkIGlucHV0LCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRkIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRoIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRkIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jc2VjdGlvbl81IC5wcm9kdWN0LWZsb3cgLmNvbHVtbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3NlY3Rpb25fNSAucHJvZHVjdC1mbG93IC5jb2x1bW5zOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTE1MCUpO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjUlMjAxNiUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzRkZDMkUxJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMGQlM0QlMjJNMTclMjAwbC0xLjQlMjAxLjRMMjEuMiUyMDdIMHYyaDIxLjJsLTUuNiUyMDUuNkwxNyUyMDE2bDgtOC04LTh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4jc2VjdGlvbl81LnJ0bCAucHJvZHVjdC1mbG93IC5jb2x1bW5zOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTE1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjUlMjAxNiUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzRkZDMkUxJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMGQlM0QlMjJNOCUyMDE2bDEuNC0xLjRMMy44JTIwOUgyNVY3SDMuOGw1LjYtNS42TDglMjAwJTIwMCUyMDhsOCUyMDh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbiNzZWN0aW9uXzUgLnByb2R1Y3QtZmxvdyBwIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbiNzZWN0aW9uXzUgLnByb2R1Y3QtZmxvdy5leHRyYS1wYWRkaW5nIC5jb2x1bW5zIGltZyB7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNzZWN0aW9uXzUgLnByb2R1Y3QtZmxvdyAuY29sdW1ucyAuaWNvbiB7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICNzZWN0aW9uXzUgLnByb2R1Y3QtZmxvdyAuY29sdW1ucy5sZWZ0LWRvd24tYXJyb3ctc21hbGw6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE4LjM4JTIwMTguMzglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM0ZGQzJFMSUyMiUyMGQlM0QlMjJNMTEuMzElMkMxOC4zOHYtMkgzLjM5bDE1LTE1TDE3JTJDMCUyQzIlMkMxNVY3LjA3SDBWMTguMzhaJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAjc2VjdGlvbl81LnJ0bCAucHJvZHVjdC1mbG93IC5jb2x1bW5zLmxlZnQtZG93bi1hcnJvdy1zbWFsbDphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxOC4zOCUyMDE4LjM4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNGRkMyRTElMjIlMjBkJTNEJTIyTTE4LjM4JTJDNy4wN2gtMlYxNUwxLjQxJTJDMCUyQzAlMkMxLjQxbDE1JTJDMTVINy4wN3YySDE4LjM4WiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH0gfVxuXG4jc2VjdGlvbl81IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLnRpbnRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4jc2VjdGlvbl81IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLm5vLW92ZXJmbG93IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qXG4gKiBTVVNUQUlOQUJJTElUWSBTTElERVJcbiAqL1xuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWd1cmUge1xuICBib3gtc2hhZG93OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWdjYXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwJTsgfVxuXG4uc3VzdGFpbmFiaWxpdHktc2xpZGVyIGZpZ3VyZSBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogNDglO1xuICBsZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cblxuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWd1cmUgaDQge1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIgLm9yYml0LXNsaWRlIGltZywgLnN1c3RhaW5hYmlsaXR5LXNsaWRlciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlIGltZyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIgLm9yYml0LXNsaWRlIGltZy5pbnNldF9pbWFnZSwgLnN1c3RhaW5hYmlsaXR5LXNsaWRlciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlIGltZy5pbnNldF9pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTklO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDcwJTsgfVxuXG4vKiAwIC0gNDQ5cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSBhbmQgKG1heC13aWR0aDogNDQ5cHgpIHtcbiAgLnN1c3RhaW5hYmlsaXR5LXNsaWRlci1jb2x1bW4ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc3VzdGFpbmFiaWxpdHktc2xpZGVyIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qIDQ1MHB4IC0gNTcwcHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NTBweCkgYW5kIChtYXgtd2lkdGg6IDU3MHB4KSB7XG4gIC5zdXN0YWluYWJpbGl0eS1zbGlkZXItY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgODAlO1xuICAgIG1heC13aWR0aDogODAlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1zbGlkZXIgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07IH0gfVxuXG4vKlxuICogU1VTVEFJTkFCSUxJVFkgQkFER0VTXG4gKi9cbi5zdXN0YWluYWJpbGl0eS1iYWRnZXMtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTsgfVxuICAuc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHktYmFkZ2UgLmltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi10b3A6IC0xMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwJTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRkY4REI5O1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDgwJSAtIDRweCk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHktYmFkZ2UgLmltYWdlIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1iYWRnZXMtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eS1iYWRnZSBwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNTQxRjNGO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHktYmFkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRTZFNkU2O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnN1c3RhaW5hYmlsaXR5LWJhZGdlcy1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5LWJhZGdlLmFjdGl2ZSAuaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHktYmFkZ2UuYWN0aXZlIHAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHktYmFkZ2UuYWN0aXZlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkMyRTE7XG4gIGJvcmRlci1jb2xvcjogI0ZGQzJFMTtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLmxhbmctbXNfbXkgLnN1c3RhaW5hYmlsaXR5LWJhZGdlcy1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5LWJhZGdlIHAge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLnN1c3RhaW5hYmlsaXR5LWJhZGdlcy1jb250YWluZXI6bm90KC5zdXN0YWluYWJpbGl0eS1sYWJlbC1iYWRnZXMtY29udGFpbmVyKSAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAuc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lcjpub3QoLnN1c3RhaW5hYmlsaXR5LWxhYmVsLWJhZGdlcy1jb250YWluZXIpIC5zdXN0YWluYWJpbGl0eS1iYWRnZS5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1pbi13aWR0aDogNTAlOyB9IH1cblxuLyogNzQwcHggLSAxMDIzcHggLSBNZWRpdW0gT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0Ni4yNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgLnN1c3RhaW5hYmlsaXR5LWJhZGdlcy1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5LWJhZGdlIHAge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gIC5sYW5nLW1zX215IC5zdXN0YWluYWJpbGl0eS1iYWRnZXMtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eS1iYWRnZSBwIHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cblxuLypcbiAqIFNVU1RBSU5BQklMSVRZIExBQkVMXG4gKi9cbiNzdXN0YWluYWJpbGl0eV9sYWJlbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zdXN0YWluYWJpbGl0eV9sYWJlbF9iZ19sb3dlci5zdmdcIiksIHVybChcIi4uL2ltZy9zdXN0YWluYWJpbGl0eV9sYWJlbF9iZ191cHBlci5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQsIHRvcCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUsIDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAzMiU7IH1cbiAgI3N1c3RhaW5hYmlsaXR5X2xhYmVsIC5zdXN0YWluYWJpbGl0eS1sYWJlbC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzsgfVxuICAjc3VzdGFpbmFiaWxpdHlfbGFiZWwgLnN1c3RhaW5hYmlsaXR5LXB1cnBvc2Utc3RhdGVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMyZTE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgbWluLWhlaWdodDogMTMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgI3N1c3RhaW5hYmlsaXR5X2xhYmVsIC5zdXN0YWluYWJpbGl0eS1wdXJwb3NlLXN0YXRlbWVudCBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDsgfVxuICAgICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHktYmFkZ2UgLmltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMjAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMCU7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyg2MCUgLSA0cHgpOyB9XG4gICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHktYmFkZ2U6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHktbGFiZWwtYmFkZ2VzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3N1c3RhaW5hYmlsaXR5X2xhYmVsIC5zdXN0YWluYWJpbGl0eS1sYWJlbC1iYWRnZXMtY29udGFpbmVyIC5wdXJwb3NlLXN0YXRlbWVudC1iYWRnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHktbGFiZWwtYmFkZ2VzLWNvbnRhaW5lciAucHJldmlvdXMtZXhlcmNpc2UtYmFkZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgI3N1c3RhaW5hYmlsaXR5X2xhYmVsIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgbWluLWhlaWdodDogMTUwcHg7IH0gfVxuXG4jc3VzdGFpbmFiaWxpdHlfbGFiZWwgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsLCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDEuNzVyZW0gMC42MjVyZW0gMC44NzVyZW0gMC42MjVyZW07XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAjc3VzdGFpbmFiaWxpdHlfbGFiZWwgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIGg0LCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMmUzODQ0O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAjc3VzdGFpbmFiaWxpdHlfbGFiZWwgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIHAsIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCBwIHtcbiAgICBjb2xvcjogIzJlMzg0NDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNzdXN0YWluYWJpbGl0eV9sYWJlbCAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwgLmJ1dHRvbiwgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCB7XG4gICAgbGVmdDogLTYlO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzEge1xuICAgIHRvcDogNCU7IH1cbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF8yIHtcbiAgICB0b3A6IDQlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMyB7XG4gICAgdG9wOiA3JTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzQge1xuICAgIHRvcDogMjAlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfNSB7XG4gICAgdG9wOiA0MiU7IH1cbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF82IHtcbiAgICB0b3A6IDYwJTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAubm8tb3ZlcmZsb3cge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnNjcm9sbC1zdHJpcCB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc2Nyb2xsLXN0cmlwLS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLCAwLCAwLCAwLjIpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc2Nyb2xsLXN0cmlwLS1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuMikpOyB9XG5cbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjsgfVxuXG4jc2VjdGlvbl81LnJ0bCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTYlICFpbXBvcnRhbnQ7IH1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF8yIHtcbiAgICB0b3A6IDEwJTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzMge1xuICAgIHRvcDogMjIlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfNCB7XG4gICAgdG9wOiA0NyU7IH1cbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF81IHtcbiAgICB0b3A6IDY1JTsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzYge1xuICAgIHRvcDogODElOyB9IH1cblxuLyogMCAtIDczOXB4IE9ubHkgc21hbGwtICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA0Ni4xODhlbSkge1xuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICAgIGxlZnQ6IDQlOyB9XG4gIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnNjcm9sbC1zdHJpcC0tbGVmdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc2Nyb2xsLXN0cmlwLS1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAjc2VjdGlvbl81LnJ0bCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDQlICFpbXBvcnRhbnQ7IH1cbiAgI3NlY3Rpb25fNS5ydGwgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF8xIHtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qIFN1c3RhaW5hYmlsaXR5IE1hcCAqL1xuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgPiAqLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCA+ICoge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgaDQsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IGg0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgaDQ6YWZ0ZXIsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IGg0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgaDQud2lkZXItbGluZTphZnRlciwgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgaDQud2lkZXItbGluZTphZnRlciB7XG4gICAgICB3aWR0aDogNjYuNyU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGksICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDUsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIGg1IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgbWluLWhlaWdodDogNjZweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDU6YWZ0ZXIsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIGg1OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDYsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIGg2IHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgICAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHAsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCB7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAgICAgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaSwgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpOmFmdGVyLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogLTM2cHg7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgICAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiwgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAgICAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb24gaDYsICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb24gaDYge1xuICAgICAgICAgICAgICBjb2xvcjogI0JBMTU3ODtcbiAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICAgICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiBwLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5pdGVtLWRlc2NyaXB0aW9uIHAge1xuICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAgICAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLnBvc2l0aXZlLWltcGFjdCwgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0I1RTk5RjtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAgICAgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0RDMjdCRTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4jc2VjdGlvbl81LnJ0bCAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaSwgI2J1c2luZXNzX3BsYW4ucnRsIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwOm5vdCguZGlzYWJsZWQpOmhvdmVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXA6bm90KC5kaXNhYmxlZCkuZHJhZ2dpbmcsXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuZHJhZ2dpbmc6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwOm5vdCguZGlzYWJsZWQpLmRyYWdnaW5nLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5kcmFnZ2luZzpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gIGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwI3N1c3RhaW5hYmlsaXR5X21hcF9zdGF0aWMsXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX2dlbmVyYXRlZCxcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3N0YXRpYyxcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX2dlbmVyYXRlZCB7XG4gIHdpZHRoOiAzMjAwcHg7IH1cblxuI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy1jb250YWluZXIsICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGhlaWdodDogNzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy1jb250YWluZXIgcCwgI2J1c2luZXNzX3BsYW4gLnpvb20tY29udHJvbHMtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbiNzZWN0aW9uXzUgLnpvb20tY29udHJvbHMuc2xpZGVyOmJlZm9yZSxcbiNzZWN0aW9uXzUgLnpvb20tY29udHJvbHMuc2xpZGVyOmFmdGVyLFxuI2J1c2luZXNzX3BsYW4gLnpvb20tY29udHJvbHMuc2xpZGVyOmJlZm9yZSxcbiNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLnNsaWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy5zbGlkZXIsXG4jYnVzaW5lc3NfcGxhbiAuem9vbS1jb250cm9scy5zbGlkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTQxLCAxODUsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy5zbGlkZXIgLnNsaWRlci1oYW5kbGUsXG4gICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLnNsaWRlciAuc2xpZGVyLWhhbmRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAjc2VjdGlvbl81IC56b29tLWNvbnRyb2xzLnNsaWRlciAuc2xpZGVyLWZpbGwsXG4gICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLnNsaWRlciAuc2xpZGVyLWZpbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy1jb250YWluZXIsICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAgICNzZWN0aW9uXzUgLnpvb20tY29udHJvbHMtY29udGFpbmVyIHAsICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLWNvbnRhaW5lciBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDUsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDUge1xuICBvcGFjaXR5OiAwLjE7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiwgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0LCAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0yIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTIgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb24sXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0LFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTIgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICBvcGFjaXR5OiAwLjE7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbjphZnRlciwgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0OmFmdGVyLCAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0yIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkOmFmdGVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTIgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb246YWZ0ZXIsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0OmFmdGVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTIgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQ6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiwgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0LCAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0zIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTMgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb24sXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0LFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTMgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICBvcGFjaXR5OiAwLjE7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbjphZnRlciwgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0OmFmdGVyLCAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0zIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkOmFmdGVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTMgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLml0ZW0tZGVzY3JpcHRpb246YWZ0ZXIsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMyAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0OmFmdGVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTMgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQ6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkucG9zaXRpdmUtaW1wYWN0LCAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC00IC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTQgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLnBvc2l0aXZlLWltcGFjdCxcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC00IC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkIHtcbiAgb3BhY2l0eTogMC4xOyB9XG5cbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTQgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLnBvc2l0aXZlLWltcGFjdDphZnRlciwgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuY2hhbGxlbmdlcy1mYWNlZDphZnRlcixcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC00IC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5wb3NpdGl2ZS1pbXBhY3Q6YWZ0ZXIsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuY2hhbGxlbmdlcy1mYWNlZDphZnRlciB7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC01IC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICBvcGFjaXR5OiAwLjE7IH1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuY2hhbGxlbmdlcy1mYWNlZDphZnRlcixcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC01IC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5jaGFsbGVuZ2VzLWZhY2VkOmFmdGVyIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5vZmZzZXQtbGVmdCxcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAub2Zmc2V0LWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjAlOyB9XG5cbi8qIDAgLSA1NTBweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5vZmZzZXQtbGVmdCxcbiAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5vZmZzZXQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTsgfSB9XG5cbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50LFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCBoNDphZnRlcixcbiAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IGg0OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSxcbiAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwI3N1c3RhaW5hYmlsaXR5X21hcF9zaW5nbGVfdHJlZSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgaDUsXG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIGg1IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1jb2xvcjogI0IwM0U5NjsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIGg2LFxuICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSBoNiB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaSxcbiAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwI3N1c3RhaW5hYmlsaXR5X21hcF9zaW5nbGVfdHJlZSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5pdGVtLWRlc2NyaXB0aW9uLFxuICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICBib3JkZXItY29sb3I6ICNCMDNFOTY7XG4gICAgICBtaW4taGVpZ2h0OiAxNTBweDsgfVxuICAgICAgI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwI3N1c3RhaW5hYmlsaXR5X21hcF9zaW5nbGVfdHJlZSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkgdWwgbGkuaXRlbS1kZXNjcmlwdGlvbiBoNixcbiAgICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5pdGVtLWRlc2NyaXB0aW9uIGg2IHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAjc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3NpbmdsZV90cmVlIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaS5wb3NpdGl2ZS1pbXBhY3QsXG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLnBvc2l0aXZlLWltcGFjdCB7XG4gICAgICBib3JkZXItY29sb3I6ICNCMDNFOTY7XG4gICAgICBtaW4taGVpZ2h0OiAxMTBweDsgfVxuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQsXG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQjAzRTk2O1xuICAgICAgbWluLWhlaWdodDogMTEwcHg7IH1cblxuLypcbiAqIENJUkNVTEFSIEVDT05PTVlcbiAqL1xuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNC4zNzVyZW07IH1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpOm5vdCguYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogM3B4OyB9XG5cbiNzZWN0aW9uXzUucnRsIHVsLmNpcmN1bGFyLWVjb25vbXkgbGk6bm90KC5iYWNrZ3JvdW5kKSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbiNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4jc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkub25lIHtcbiAgdG9wOiAyJTtcbiAgbGVmdDogNTYlO1xuICB3aWR0aDogMjA2cHg7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4jc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudHdvIHtcbiAgdG9wOiAxOSU7XG4gIGxlZnQ6IDg1JTtcbiAgd2lkdGg6IDEzNnB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnRocmVlIHtcbiAgdG9wOiA1NSU7XG4gIGxlZnQ6IDEwMiU7XG4gIHdpZHRoOiAxODZweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbiNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5mb3VyIHtcbiAgdG9wOiA3NSU7XG4gIGxlZnQ6IDgxJTtcbiAgd2lkdGg6IDE1NnB4O1xuICBoZWlnaHQ6IGF1dG87IH1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZpdmUge1xuICB0b3A6IDg0JTtcbiAgbGVmdDogMjElO1xuICB3aWR0aDogMTc2cHg7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4jc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuc2l4IHtcbiAgdG9wOiAzNSU7XG4gIGxlZnQ6IDMlO1xuICB3aWR0aDogMTI2cHg7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNzZWN0aW9uXzUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy8wNS1iZy1yaWdodC5zdmdcIikgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCwgdXJsKFwiLi4vaW1nLzA1LWJnLWxlZnQuc3ZnXCIpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87IH0gfVxuXG4vKiAwIC0gNDc0cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS42MjVlbSkge1xuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGk6bm90KC5iYWNrZ3JvdW5kKSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5vbmUge1xuICAgIHRvcDogMiU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudHdvIHtcbiAgICB0b3A6IDE5JTtcbiAgICBsZWZ0OiA3NSU7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS50aHJlZSB7XG4gICAgdG9wOiA2NCU7XG4gICAgbGVmdDogNzAlO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZvdXIge1xuICAgIHRvcDogODYlO1xuICAgIGxlZnQ6IDYxJTtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5maXZlIHtcbiAgICB0b3A6IDg0JTtcbiAgICBsZWZ0OiA0NSU7XG4gICAgd2lkdGg6IDEzNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5zaXgge1xuICAgIHRvcDogMzUlO1xuICAgIGxlZnQ6IDIxJTtcbiAgICB3aWR0aDogODZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfSB9XG5cbi8qIDQ3NXB4IC0gNzM5cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyOS42ODhlbSkgYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaTpub3QoLmJhY2tncm91bmQpIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkub25lIHtcbiAgICB0b3A6IDIlO1xuICAgIGxlZnQ6IDU2JTtcbiAgICB3aWR0aDogMTU2cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnR3byB7XG4gICAgdG9wOiAxOSU7XG4gICAgbGVmdDogODUlO1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudGhyZWUge1xuICAgIHRvcDogNTUlO1xuICAgIGxlZnQ6IDg0JTtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5mb3VyIHtcbiAgICB0b3A6IDc1JTtcbiAgICBsZWZ0OiA4MSU7XG4gICAgd2lkdGg6IDEyNnB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuZml2ZSB7XG4gICAgdG9wOiA4NCU7XG4gICAgbGVmdDogMjUlO1xuICAgIHdpZHRoOiAxNDJweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuc2l4IHtcbiAgICB0b3A6IDM1JTtcbiAgICBsZWZ0OiAxMSU7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH0gfVxuXG4vKiA3NDBweCAtIDEwMjNweCAtIE1lZGl1bSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ2LjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGk6bm90KC5iYWNrZ3JvdW5kKSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLm9uZSB7XG4gICAgdG9wOiAyJTtcbiAgICBsZWZ0OiA1NiU7XG4gICAgd2lkdGg6IDE1NnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS50d28ge1xuICAgIHRvcDogMTklO1xuICAgIGxlZnQ6IDg1JTtcbiAgICB3aWR0aDogOTZweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnRocmVlIHtcbiAgICB0b3A6IDU1JTtcbiAgICBsZWZ0OiAxMDIlO1xuICAgIHdpZHRoOiAxMjZweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZvdXIge1xuICAgIHRvcDogNzUlO1xuICAgIGxlZnQ6IDgxJTtcbiAgICB3aWR0aDogMTI2cHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5maXZlIHtcbiAgICB0b3A6IDg0JTtcbiAgICBsZWZ0OiAyMSU7XG4gICAgd2lkdGg6IDE0NnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5zaXgge1xuICAgIHRvcDogMzUlO1xuICAgIGxlZnQ6IDMlO1xuICAgIHdpZHRoOiA5NnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9IH1cblxuLypcbiAqIFRSVUUgT1IgRkFMU0VcbiAqL1xuI3NlY3Rpb25fNSAudHJ1ZS1vci1mYWxzZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgY29sb3I6ICNiYmI7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAjc2VjdGlvbl81IC50cnVlLW9yLWZhbHNlIGJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAycmVtIDAuMTVyZW07XG4gICAgYm9yZGVyOiA0cHggc29saWQgI0U2RTZFNjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgI3NlY3Rpb25fNSAudHJ1ZS1vci1mYWxzZSBidXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjOTk5O1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gICNzZWN0aW9uXzUgLnRydWUtb3ItZmFsc2UgYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjQkExNTc4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICNzZWN0aW9uXzUgLnRydWUtb3ItZmFsc2UgYnV0dG9uLmFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjQkExNTc4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICNzZWN0aW9uXzUgLnRydWUtb3ItZmFsc2UgYnV0dG9uLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgY29sb3I6ICNkZGQ7IH1cblxuLypcbiAqIFBPU0lUSVZFIC8gTkVHQVRJVkVcbiAqL1xuI3NlY3Rpb25fNSAucG9zaXRpdmUtbmVnYXRpdmUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5vcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtIDEuMXJlbSAxcmVtO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNFNkU2RTY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjc2VjdGlvbl81IC5wb3NpdGl2ZS1uZWdhdGl2ZSBzdHJvbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIHNwYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5vcHRpb246aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjMzMzO1xuICAgIGNvbG9yOiAjMzMzOyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5wb3NpdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjQjVFOTlGOyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5uZWdhdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjQkExNTc4OyB9XG4gICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5wb3NpdGl2ZS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI0I1RTk5RjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNzZWN0aW9uXzUgLnBvc2l0aXZlLW5lZ2F0aXZlIC5wb3NpdGl2ZS5hY3RpdmUgc3Ryb25nIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAjc2VjdGlvbl81IC5wb3NpdGl2ZS1uZWdhdGl2ZSAucG9zaXRpdmUuYWN0aXZlIHNwYW4ge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAjc2VjdGlvbl81IC5wb3NpdGl2ZS1uZWdhdGl2ZSAubmVnYXRpdmUuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNCQTE1Nzg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAjc2VjdGlvbl81IC5wb3NpdGl2ZS1uZWdhdGl2ZSAubmVnYXRpdmUuYWN0aXZlIHN0cm9uZyB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI3NlY3Rpb25fNSAucG9zaXRpdmUtbmVnYXRpdmUgLm5lZ2F0aXZlLmFjdGl2ZSBzcGFuIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFRSVUUgT1IgRkFMU0VcbiAqL1xuI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbHMsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuY29sdW1ucywgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmNvbHVtbnMge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIHAsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbHMgcDpub3QoLmdyaWQteDQtcGFuZWwtaGVhZGluZyksICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIHA6bm90KC5ncmlkLXg0LXBhbmVsLWhlYWRpbmcpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLWhlYWRpbmcgcCwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDQtcGFuZWwtaGVhZGluZyBwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuZ3JpZC14NC1wYW5lbC1oZWFkaW5nLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14NC1wYW5lbC1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzY2NjsgfVxuICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyBoNCwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgaDQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogODAlO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5ncmlkLXg0LXBhbmVsOmhvdmVyLCAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuZ3JpZC14MS1wYW5lbDpob3ZlciwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDQtcGFuZWw6aG92ZXIsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIC5ncmlkLXgxLXBhbmVsOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzMzMztcbiAgICBjb2xvcjogIzMzMzsgfVxuICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuZ3JpZC14NC1wYW5lbC0tdHlwZS1hLmFjdGl2ZSwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDQtcGFuZWwtLXR5cGUtYS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzU0MUYzRjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwODAuNTUlMjAxMDglMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk01Ni4xJTJDMzEuNjVjMC03LjM1LTYuNDUtMTItMTYuMi0xMi05LjYlMkMwLTE2Ljk1JTJDNC4yLTIxLjc1JTJDMTEuMUwwJTJDMjAuMUM4LjElMkM3LjglMkMyMi4yJTJDMCUyQzQyLjQ1JTJDMCUyQzY1JTJDMCUyQzgwLjU1JTJDMTAuMDUlMkM4MC41NSUyQzI3Ljc1YzAlMkMyNC0yNS4yJTJDMjYuNy0yNS4yJTJDNDIuNkgzMi43QzMyLjclMkM0OS4zNSUyQzU2LjElMkM0NC43JTJDNTYuMSUyQzMxLjY1Wk0yOS43JTJDOTQuMzVDMjkuNyUyQzg2LjclMkMzNS43JTJDODElMkM0NC4xJTJDODFzMTQuNCUyQzUuNyUyQzE0LjQlMkMxMy4zNVM1Mi41JTJDMTA4JTJDNDQuMSUyQzEwOCUyQzI5LjclMkMxMDEuODUlMkMyOS43JTJDOTQuMzVaJTIyJTIwZmlsbCUzRCUyMiUyM0I4NDQ3MCUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAgICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLS10eXBlLWEuYWN0aXZlIGg0LCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14NC1wYW5lbC0tdHlwZS1hLmFjdGl2ZSBoNCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLS10eXBlLWEuYWN0aXZlIHAsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLS10eXBlLWEuYWN0aXZlIHAge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbHMgLmdyaWQteDQtcGFuZWwtLXR5cGUtYi5hY3RpdmUsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLS10eXBlLWIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNCQTE1Nzg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDgwLjU1JTIwMTA4JTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNTYuMSUyQzMxLjY1YzAtNy4zNS02LjQ1LTEyLTE2LjItMTItOS42JTJDMC0xNi45NSUyQzQuMi0yMS43NSUyQzExLjFMMCUyQzIwLjFDOC4xJTJDNy44JTJDMjIuMiUyQzAlMkM0Mi40NSUyQzAlMkM2NSUyQzAlMkM4MC41NSUyQzEwLjA1JTJDODAuNTUlMkMyNy43NWMwJTJDMjQtMjUuMiUyQzI2LjctMjUuMiUyQzQyLjZIMzIuN0MzMi43JTJDNDkuMzUlMkM1Ni4xJTJDNDQuNyUyQzU2LjElMkMzMS42NVpNMjkuNyUyQzk0LjM1QzI5LjclMkM4Ni43JTJDMzUuNyUyQzgxJTJDNDQuMSUyQzgxczE0LjQlMkM1LjclMkMxNC40JTJDMTMuMzVTNTIuNSUyQzEwOCUyQzQ0LjElMkMxMDglMkMyOS43JTJDMTAxLjg1JTJDMjkuNyUyQzk0LjM1WiUyMiUyMGZpbGwlM0QlMjIlMjM3MzJCNTYlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cbiAgICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuZ3JpZC14NC1wYW5lbC0tdHlwZS1iLmFjdGl2ZSBoNCwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDQtcGFuZWwtLXR5cGUtYi5hY3RpdmUgaDQge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAjc2VjdGlvbl81IC5ncmlkLXg0LXBhbmVscyAuZ3JpZC14NC1wYW5lbC0tdHlwZS1iLmFjdGl2ZSBwLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14NC1wYW5lbC0tdHlwZS1iLmFjdGl2ZSBwIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5ncmlkLXg0LXBhbmVsLmFjdGl2ZSBwLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14NC1wYW5lbC5hY3RpdmUgcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbHMgLmdyaWQteDQtcGFuZWwuYWN0aXZlIGhyLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14NC1wYW5lbC5hY3RpdmUgaHIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWwsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIC5ncmlkLXgxLXBhbmVsIHtcbiAgcGFkZGluZzogMC44NXJlbSAwLjY1cmVtO1xuICBib3JkZXI6IDRweCBzb2xpZCAjRTZFNkU2O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwODAuNTUlMjAxMDglMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk01Ni4xJTJDMzEuNjVjMC03LjM1LTYuNDUtMTItMTYuMi0xMi05LjYlMkMwLTE2Ljk1JTJDNC4yLTIxLjc1JTJDMTEuMUwwJTJDMjAuMUM4LjElMkM3LjglMkMyMi4yJTJDMCUyQzQyLjQ1JTJDMCUyQzY1JTJDMCUyQzgwLjU1JTJDMTAuMDUlMkM4MC41NSUyQzI3Ljc1YzAlMkMyNC0yNS4yJTJDMjYuNy0yNS4yJTJDNDIuNkgzMi43QzMyLjclMkM0OS4zNSUyQzU2LjElMkM0NC43JTJDNTYuMSUyQzMxLjY1Wk0yOS43JTJDOTQuMzVDMjkuNyUyQzg2LjclMkMzNS43JTJDODElMkM0NC4xJTJDODFzMTQuNCUyQzUuNyUyQzE0LjQlMkMxMy4zNVM1Mi41JTJDMTA4JTJDNDQuMSUyQzEwOCUyQzI5LjclMkMxMDEuODUlMkMyOS43JTJDOTQuMzVaJTIyJTIwZmlsbCUzRCUyMiUyM0YyRjJGMiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMTBweCA4MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbCBociwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDEtcGFuZWwgaHIge1xuICAgIHdpZHRoOiAzNSU7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14MS1wYW5lbCBoNCB7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjtcbiAgb3BhY2l0eTogMDsgfVxuXG4jc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14MS1wYW5lbC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE1NzhGO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNTQxRjNGO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyAuZ3JpZC14MS1wYW5lbC5hY3RpdmUgaDQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgaDQge1xuICBjb2xvcjogIzU0MUYzRjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwuaXNzdWVzLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVsLS13aWRlLWNvbnRhaW5lciBsYWJlbC50YXNrcywgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwuaW1wYWN0cyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0ZXh0LWluZGVudDogMXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwuaXNzdWVzLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVsLS13aWRlLWNvbnRhaW5lciAuc3RhdGVtZW50X2lzc3VlIHtcbiAgY29sb3I6ICNFQTU3OEY7IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwudGFza3MsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIC5zdGF0ZW1lbnRfdGFzayB7XG4gIGNvbG9yOiAjQkExNTc4OyB9XG5cbiNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIGxhYmVsLmltcGFjdHMsICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIC5zdGF0ZW1lbnRfaW1wYWN0IHtcbiAgY29sb3I6ICNGRjhEQjk7IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgLmRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IC0zNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjRUNFRUY0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9kb3duLWNhcmV0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTE0cHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgc2VsZWN0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuXG4jc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVsLS13aWRlLWNvbnRhaW5lciAuZ3JpZC14MS1wYW5lbC0td2lkZSB7XG4gIHBhZGRpbmc6IDAuODVyZW0gMC42NXJlbTtcbiAgYm9yZGVyOiA0cHggc29saWQgI0ZGQzJFMTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIHRyYW5zaXRpb246IGJvcmRlciAwLjI1cywgYmFja2dyb3VuZC1jb2xvciAwLjI1czsgfVxuXG4jc2VjdGlvbl81LnJ0bCAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwuaXNzdWVzLCAjc2VjdGlvbl81LnJ0bCAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgbGFiZWwudGFza3MsICNzZWN0aW9uXzUucnRsIC5ncmlkLXgxLXBhbmVsLS13aWRlLWNvbnRhaW5lciBsYWJlbC5pbXBhY3RzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI3NlY3Rpb25fNS5ydGwgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIHNlbGVjdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLTEycHggY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07IH1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIgLmRyb3Bkb3duLWNvbnRhaW5lciAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIC5kcm9wZG93bi1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4jc2VjdGlvbl81IC5ncmlkLTN4LXBhbmVscyBoNCB7XG4gIGNvbG9yOiAjNTQxRjNGO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuI3NlY3Rpb25fNSAudGFza3Nfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExNTc4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xufSovXG4jc2VjdGlvbl81IC50YXNrc19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbTpub3QoLmFsbC1hcHBsaWVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkOmhvdmVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4jc2VjdGlvbl81IC50YXNrc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fNSAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLmltcGFjdHNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiNzZWN0aW9uXzUgLmltcGFjdHNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQge1xuICAgIG9wYWNpdHk6IDAuNzU7XG59Ki9cbiNzZWN0aW9uXzUgLmltcGFjdHNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW06bm90KC5hbGwtYXBwbGllZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzU0MUYzRjsgfVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkOmhvdmVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3NlY3Rpb25fNSAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fNSAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM1NDFGM0Y7IH1cblxuI3NlY3Rpb25fNSAuaXNzdWVzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyojc2VjdGlvbl81IC5pc3N1ZXNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQge1xuICAgIG9wYWNpdHk6IDAuNzU7XG59Ki9cbiNzZWN0aW9uXzUgLmlzc3Vlc19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbTpub3QoLmFsbC1hcHBsaWVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLmlzc3Vlc19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hbGwtYXBwbGllZDpob3ZlciB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuI3NlY3Rpb25fNSAuaXNzdWVzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE1NzhGO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl81IC5pc3N1ZXNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNTQxRjNGOyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX3Rhc2tfYWRkLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pbXBhY3RfYWRkLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pc3N1ZV9hZGQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC42MjVyZW0gMC44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCwgYm9yZGVyIDAuMjVzIGVhc2Utb3V0OyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX3Rhc2tfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pbXBhY3RfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pc3N1ZV9hZGQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICBjb2xvcjogIzU0MUYzRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuXG4jc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkIHtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4jc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZCwgI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExNTc4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl81IC5pc3N1ZXNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4jc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQ6aG92ZXIsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciwgI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkOmhvdmVyIHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX3Rhc2tfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjQkExNTc4OyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2ltcGFjdF9hZGQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNGRjhEQjk7IH1cblxuI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXNzdWVfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRUE1NzhGOyB9XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSwgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSAucHVycG9zZS1jaXJjbGUtY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtc2luZ2xlIC5wdXJwb3NlLWNpcmNsZS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xOyB9XG4gICAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtc2luZ2xlIC5wdXJwb3NlLWNpcmNsZS1jb250ZW50IHAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLmxvemVuZ2VzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLnRhc2tzX2FwcGxpZWQgbGksICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSAucHVycG9zZS1jaXJjbGUtY29udGVudCAuaW1wYWN0c19hcHBsaWVkIGxpLCAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLmlzc3Vlc19hcHBsaWVkIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLnRhc2tzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0sICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSAucHVycG9zZS1jaXJjbGUtY29udGVudCAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtLCAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLmlzc3Vlc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDcwJTsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLnRhc2tzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW06aG92ZXI6YWZ0ZXIsICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSAucHVycG9zZS1jaXJjbGUtY29udGVudCAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOmhvdmVyOmFmdGVyLCAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS1zaW5nbGUgLnB1cnBvc2UtY2lyY2xlLWNvbnRlbnQgLmlzc3Vlc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNFMjQ0NDQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbiNzZWN0aW9uXzUgcC50YXNrLWltcGFjdC1pc3N1ZXMtc2VsZWN0ZWQtY291bnQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuI3NlY3Rpb25fNSBoNC5idXNpbmVzcy1wdXJwb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDY3LjUlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMjMlO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHdvcmQtc3BhY2luZzogNWVtOyB9XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQudGFza3Mge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBoZWlnaHQ6IDM5JTsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50LnRhc2tzIGg0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMjAlKTsgfVxuXG4jc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50LmltcGFjdHMge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDU3LjUlOyB9XG4gICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQuaW1wYWN0cyBoNCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgyMDAlKTsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50LmltcGFjdHMgLmltcGFjdHNfYXBwbGllZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNCU7IH1cblxuI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC5pc3N1ZXMge1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogNTcuNSU7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC5pc3N1ZXMgaDQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMjAwJSk7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC5pc3N1ZXMgLmlzc3Vlc19hcHBsaWVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNCU7IH1cblxuI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCB7XG4gIHdpZHRoOiA1Ny41JTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuICAgICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgcCBzcGFuIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgaDQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50IC5sb3plbmdlcyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAudGFza3NfYXBwbGllZCBsaSwgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAuaW1wYWN0c19hcHBsaWVkIGxpLCAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50IC5pc3N1ZXNfYXBwbGllZCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbSwgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtLCAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50IC5pc3N1ZXNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNzAlOyB9XG4gICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgLnRhc2tzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uc2VsZWN0ZWQsICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgLmltcGFjdHNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbS5zZWxlY3RlZCwgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAuaXNzdWVzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7IH1cblxuI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLmhpZ2hsaWdodC1zZWxlY3RlZC1idXR0b25zIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudCAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpub3QoLnNlbGVjdGVkKSxcbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS5oaWdobGlnaHQtc2VsZWN0ZWQtYnV0dG9ucyAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgLmltcGFjdHNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpub3QoLnNlbGVjdGVkKSxcbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS5oaWdobGlnaHQtc2VsZWN0ZWQtYnV0dG9ucyAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQgLmlzc3Vlc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguc2VsZWN0ZWQpIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi8qIDAgLSA1NTBweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDEtcGFuZWwgaDQge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgI3NlY3Rpb25fNSBoNC5idXNpbmVzcy1wdXJwb3NlIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAjc2VjdGlvbl81IC5sb3plbmdlcy5saXN0X2FwcGxpZWQgbGkgYS5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC41NjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC50YXNrcyB7XG4gICAgaGVpZ2h0OiA0NCU7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC5pc3N1ZXMgLmlzc3Vlc19hcHBsaWVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMSU7IH1cbiAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC5pbXBhY3RzIC5pbXBhY3RzX2FwcGxpZWQge1xuICAgIHBhZGRpbmctbGVmdDogMzElOyB9IH1cblxuLyogNTUxcHggLSA3MzlweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU1MXB4KSBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI3NlY3Rpb25fNSBoNC5idXNpbmVzcy1wdXJwb3NlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG5cbi8qIFBST0dSRVNTIENJUkNMRVMgKi9cbnNlY3Rpb24udHJpZ2dlciB7XG4gIGJvcmRlci1jb2xvcjogcmVkOyB9XG5cbi5zd2F0Y2hfY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cblxuLypcbiAqIENPTE9VUiBERUZJTklUSU9OU1xuICovXG4vKlxuICogQ09MT1VSIFNXQVRDSCBDSVJDTEVTXG4gKi9cbi5zd2F0Y2hfY2lyY2xlLmJsdWUuYnV0dG9uX2NvbG91ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDE5NDQ7IH1cblxuLnN3YXRjaF9jaXJjbGUuYmx1ZS5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjc2QjsgfVxuXG4uc3dhdGNoX2NpcmNsZS5ibHVlLmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMzkzOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmJsdWUuYyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ2QTY7IH1cblxuLnN3YXRjaF9jaXJjbGUuYmx1ZS5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNUFCODsgfVxuXG4uc3dhdGNoX2NpcmNsZS5ibHVlLmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRDOEZGOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnJlZC5idXR0b25fY29sb3VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDIzOTsgfVxuXG4uc3dhdGNoX2NpcmNsZS5yZWQuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNjAwNEM7IH1cblxuLnN3YXRjaF9jaXJjbGUucmVkLmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTI0NDQ0OyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnJlZC5jIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzNjA0MzsgfVxuXG4uc3dhdGNoX2NpcmNsZS5yZWQuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNzdDNEQ7IH1cblxuLnN3YXRjaF9jaXJjbGUucmVkLmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDRUI2OyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmJ1dHRvbl9jb2xvdXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM0ODUyOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2MDQ0OyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFBRTQwOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjVDMDNGOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODRERDU1OyB9XG5cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVFOTlGOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnB1cnBsZS5idXR0b25fY29sb3VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwMEM1RTsgfVxuXG4uc3dhdGNoX2NpcmNsZS5wdXJwbGUuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzBCNzM7IH1cblxuLnN3YXRjaF9jaXJjbGUucHVycGxlLmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEIwMEJDOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnB1cnBsZS5jIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDsgfVxuXG4uc3dhdGNoX2NpcmNsZS5wdXJwbGUuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQzVERkY7IH1cblxuLnN3YXRjaF9jaXJjbGUucHVycGxlLmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNCMkZGOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnBpbmsuYnV0dG9uX2NvbG91ciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDBDNUU7IH1cblxuLnN3YXRjaF9jaXJjbGUucGluay5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjsgfVxuXG4uc3dhdGNoX2NpcmNsZS5waW5rLmIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExNTc4OyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnBpbmsuYyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7IH1cblxuLnN3YXRjaF9jaXJjbGUucGluay5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4uc3dhdGNoX2NpcmNsZS5waW5rLmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5OyB9XG5cbi5wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM4MHB4O1xuICBoZWlnaHQ6IDM4MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXM7IH1cblxuLnByb2dyZXNzIC5iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTsgfVxuXG4ucHJvZ3Jlc3MgLmJnIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnByb2dyZXNzLmJsdWUgLmJnIHtcbiAgdG9wOiAxOSU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE2JTtcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi5wcm9ncmVzcy5yZWQgLmJnIHtcbiAgdG9wOiAyMyU7XG4gIGxlZnQ6IDE3JTtcbiAgcmlnaHQ6IDEyJTtcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi5wcm9ncmVzcy5ncmVlbiAuYmcge1xuICB0b3A6IDE4LjUlO1xuICBsZWZ0OiAxOSU7XG4gIHJpZ2h0OiAxOCU7XG4gIGJvdHRvbTogYXV0bzsgfVxuXG4ucHJvZ3Jlc3MucHVycGxlIC5iZyB7XG4gIHRvcDogMTclO1xuICBsZWZ0OiAxNyU7XG4gIHJpZ2h0OiAxNyU7XG4gIGJvdHRvbTogYXV0bzsgfVxuXG4ucHJvZ3Jlc3MuZ3JleSAuYmcge1xuICB0b3A6IDE0JTtcbiAgbGVmdDogMTMlO1xuICByaWdodDogMTMlO1xuICBib3R0b206IGF1dG87IH1cblxuLnByb2dyZXNzLnBpbmsgLmJnIHtcbiAgdG9wOiAxNCU7XG4gIGxlZnQ6IDEzJTtcbiAgcmlnaHQ6IDEzJTtcbiAgYm90dG9tOiBhdXRvOyB9XG5cbi5wcm9ncmVzcyBzdmcucHJvZ3Jlc3NfX291dGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB3aWR0aDogMzgwcHg7XG4gIGhlaWdodDogMzgwcHg7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNXMsIGhlaWdodCAwLjVzOyB9XG5cbi5wcm9ncmVzcyAuc3RlcF9udW1iZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjclO1xuICBsZWZ0OiA0MCU7XG4gIHJpZ2h0OiA0MCU7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnByb2dyZXNzIC5zdGVwX251bWJlciBzcGFuIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXMsIGZvbnQtc2l6ZSAwLjVzLCBsaW5lLWhlaWdodCAwLjVzOyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5zdGVwX251bWJlciBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjc2QjsgfVxuXG4ucHJvZ3Jlc3MucmVkIC5zdGVwX251bWJlciBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDA0QzsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLnN0ZXBfbnVtYmVyIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2MDQ0OyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUgLnN0ZXBfbnVtYmVyIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwQjczOyB9XG5cbi5wcm9ncmVzcy5ncmV5IC5zdGVwX251bWJlciBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzUzZjsgfVxuXG4ucHJvZ3Jlc3MucGluayAuc3RlcF9udW1iZXIgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7IH1cblxuLnByb2dyZXNzIC5zdGVwX3RleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiBjYWxjKDI4JSArIDc4cHgpO1xuICB6LWluZGV4OiA0O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjVzLCBmb250LXNpemUgMC41czsgfVxuXG4ucHJvZ3Jlc3MgLnN0ZXBfdGV4dC5kYXJrIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnByb2dyZXNzIC5idXR0b25fbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1OCU7XG4gIGxlZnQ6IDE5JTtcbiAgcmlnaHQ6IDE5JTtcbiAgYm90dG9tOiBhdXRvO1xuICB6LWluZGV4OiA0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuNXM7IH1cblxuLnByb2dyZXNzIC5idXR0b25fbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51LmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUuZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUsXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51LmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IGNhbGMoMTAwJSArIDE1cHgpO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5wcm9ncmVzcyAuZHJvcGRvd24ubWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9ncmVzcyAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAxLjM3NXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXMsIGZvbnQtc2l6ZSAwLjVzOyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA0MTk0NDsgfVxuXG4ucHJvZ3Jlc3MucmVkIC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MDIzOTsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmRyb3Bkb3duLm1lbnUgYS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM0ODUyOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUgLmRyb3Bkb3duLm1lbnUgYS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAwQzVFOyB9XG5cbi5wcm9ncmVzcy5ncmV5IC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkMzUzZjsgfVxuXG4ucHJvZ3Jlc3MucGluayAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7IH1cblxuLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qIHYgVE9QIEFSUk9XIE9OIFNVQk1FTlUgKi9cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHtcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gIGJvcmRlci13aWR0aDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG5cbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLFxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwNUFCODsgfVxuXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIsXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0Y3N0M0RDsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLFxuLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNjVDMDNGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlcixcbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjQ0M1REZGOyB9XG5cbi5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLFxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MucGluay5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGOERCOTsgfVxuXG4vKiBeIFRPUCBBUlJPVyBPTiBTVUJNRU5VICovXG4vKiB2IExFVFRFUiBET1QgT04gU1VCTUVOVSBJVEVNUyAqL1xuLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS41cmVtIDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuXG4ucnRsIC5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtIDAuNjI1cmVtIDEuNXJlbTsgfVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuZGlzYWJsZWQgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5kaXNhYmxlZDpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjQ7IH1cblxuLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmRpc2FibGVkIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRDOEZGOyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM3NEM4RkY7IH1cblxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDVBQjg7IH1cblxuLnByb2dyZXNzLnJlZCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0VCNjsgfVxuXG4ucHJvZ3Jlc3MucmVkIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkNFQjY7IH1cblxuLnByb2dyZXNzLnJlZC5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0Y3N0M0RDsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNUU5OUY7IH1cblxuLnByb2dyZXNzLmdyZWVuIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNCNUU5OUY7IH1cblxuLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjNjVDMDNGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQ0IyRkY7IH1cblxuLnByb2dyZXNzLnB1cnBsZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkNCMkZGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNDQzVERkY7IH1cblxuLnByb2dyZXNzLmdyZXkgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RhZGJkZDsgfVxuXG4ucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4ucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkY4REI5OyB9XG5cbi5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucGluay5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkY4REI5OyB9XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHNwYW4ge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5ydGwgLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NkE2OyB9XG5cbi5wcm9ncmVzcy5yZWQgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YzNjA0MzsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxQUU0MDsgfVxuXG4ucHJvZ3Jlc3MucHVycGxlIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7IH1cblxuLnByb2dyZXNzLnBpbmsgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjsgfVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzNi4yOCUyMDM1LjI4JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM4YThhOGElMjIlMjBkJTNEJTIyTTM2LjI4JTIwMzUuMjhMMCUyMDBoMzYuMjh2MzUuMjh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTEwJTtcbiAgd2lkdGg6IDQzcHg7XG4gIGhlaWdodDogNDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDVweCAwIDA7XG4gIGNvbG9yOiAjZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnByb2dyZXNzLmJsdWUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjI4JTIwMzUuMjglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzA0MTk0NCUyMiUyMGQlM0QlMjJNMzYuMjglMjAzNS4yOEwwJTIwMGgzNi4yOHYzNS4yOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnByb2dyZXNzLnJlZCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNTcwMjM5JTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjI4JTIwMzUuMjglMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzEzNDg1MiUyMiUyMGQlM0QlMjJNMzYuMjglMjAzNS4yOEwwJTIwMGgzNi4yOHYzNS4yOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnByb2dyZXNzLnB1cnBsZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzMzAwQzVFJTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMjglMjAzNS4yOCUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzNTQxRjNGJTIyJTIwZCUzRCUyMk0zNi4yOCUyMDM1LjI4TDAlMjAwaDM2LjI4djM1LjI4eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMy40NCUyMDExLjIzJTIyJTNFJTNDcG9seWdvbiUyMHBvaW50cyUzRCUyMjQuMjglMjA3LjA5JTIwMi4wNyUyMDQuODklMjAwJTIwNi45NiUyMDQuMjglMjAxMS4yMyUyMDEzLjQ0JTIwMi4wNyUyMDExLjM3JTIwMCUyMDQuMjglMjA3LjA5JTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjkzNzVyZW0gMC45Mzc1cmVtO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICByaWdodDogNXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDVweCAwIDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnJ0bCAucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM4YThhOGElMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgdG9wOiAwO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCAwOyB9XG5cbi5ydGwgLnByb2dyZXNzLmJsdWUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjMwNDE5NDQlMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucnRsIC5wcm9ncmVzcy5yZWQgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM1NzAyMzklMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucnRsIC5wcm9ncmVzcy5ncmVlbiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMyUyMDM1LjMlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzEzNDg1MiUyMiUyMGQlM0QlMjJNMzUuOC0wLjVMMC41JTJDMzUuOFYtMC41SDM1Ljh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5ydGwgLnByb2dyZXNzLnB1cnBsZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzYuMyUyMDM1LjMlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyMzMwMEM1RSUyMiUyMGQlM0QlMjJNMzUuOC0wLjVMMC41JTJDMzUuOFYtMC41SDM1Ljh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5ydGwgLnByb2dyZXNzLnBpbmsgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDM2LjMlMjAzNS4zJTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjM1NDFGM0YlMjIlMjBkJTNEJTIyTTM1LjgtMC41TDAuNSUyQzM1LjhWLTAuNUgzNS44eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ucnRsIC5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7IH1cblxuLnByb2dyZXNzLmdyZXkgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDEuMjVyZW07IH1cblxuLnByb2dyZXNzLmdyZXkgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZ3Jlc3MuZ3JleSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGJkZDsgfVxuXG4vKiBeIExFVFRFUiBET1QgT04gU1VCTUVOVSBJVEVNUyAqL1xuLyogREVGQVVMVFMgKi9cbi5wcm9ncmVzcy5wcm9ncmVzc18wIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLnByb2dyZXNzXzAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDMpIGEge1xuICAvKiBubyBjaGFuZ2UgKi8gfVxuXG4ucHJvZ3Jlc3MucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ucHJvZ3Jlc3MucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ucHJvZ3Jlc3MucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDMpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBCTFVFICovXG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVBQjg7IH1cblxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1QUI4OyB9XG5cbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVBQjg7IH1cblxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMykgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVBQjg7IH1cblxuLyogUkVEICovXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgzKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4vKiBHUkVFTiAqL1xuLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1QzAzRjsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjVDMDNGOyB9XG5cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1QzAzRjsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgzKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1QzAzRjsgfVxuXG4vKiBQVVJQTEUgKi9cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDMpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbi8qIFBJTksgKi9cbi5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjhEQjk7IH1cblxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgzKSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4ucHJvZ3Jlc3NfX2xpbmUge1xuICBzdHJva2U6ICNFMUUxRTE7XG4gIHN0cm9rZS13aWR0aDogNztcbiAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMTcuNTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBmaWxsOiBub25lOyB9XG5cbi5wcm9ncmVzc19faW5kaWNhdG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDtcbiAgc3Ryb2tlOiAjRTFFMUUxO1xuICBzdHJva2Utd2lkdGg6IDk7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgZmlsbDogbm9uZTtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1maWxsIDJzIHJldmVyc2U7IH1cblxuLnByb2dyZXNzLmJsdWUgLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICBzdHJva2U6ICM3NEM4RkY7IH1cblxuLnByb2dyZXNzLnJlZCAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gIHN0cm9rZTogI0ZGQ0VCNjsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICBzdHJva2U6ICNCNUU5OUY7IH1cblxuLnByb2dyZXNzLnB1cnBsZSAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gIHN0cm9rZTogI0ZDQjJGRjsgfVxuXG4ucHJvZ3Jlc3MucGluayAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gIHN0cm9rZTogI0ZGOERCOTsgfVxuXG5zZWN0aW9uLnRyaWdnZXIgLnByb2dyZXNzXzMzIC5wcm9ncmVzc19faW5kaWNhdG9yIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1maWxsLTMzIDNzIGVhc2Utb3V0IDEuNXMgZm9yd2FyZHM7IH1cblxuc2VjdGlvbi50cmlnZ2VyIC5wcm9ncmVzc181MCAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtZmlsbC01MCAzcyBlYXNlLW91dCAxLjVzIGZvcndhcmRzOyB9XG5cbnNlY3Rpb24udHJpZ2dlciAucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICBhbmltYXRpb246IHByb2dyZXNzLWZpbGwtNjYgM3MgZWFzZS1vdXQgMS41cyBmb3J3YXJkczsgfVxuXG5zZWN0aW9uLnRyaWdnZXIgLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtZmlsbC0xMDAgM3MgZWFzZS1vdXQgMS41cyBmb3J3YXJkczsgfVxuXG4ucHJvZ3Jlc3NfX2RvdCB7XG4gIGZpbGw6ICNmZmY7XG4gIHN0cm9rZTogI0UxRTFFMTtcbiAgc3Ryb2tlLXdpZHRoOiAyOyB9XG5cbi5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdDIsIC5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdF90aWNrMiB7XG4gIC8qY3g6IDEyO1xuICAgIGN5OiAxMzA7Ki8gfVxuXG4ucHJvZ3Jlc3NfX2RvdF90d28gLnByb2dyZXNzX19kb3QzXzJ4LCAucHJvZ3Jlc3NfX2RvdF90d28gLnByb2dyZXNzX19kb3RfdGljazNfMngsIC5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdDJfM3gsIC5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdF90aWNrMl8zeCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2dyZXNzX19kb3RfdGhyZWUgLnByb2dyZXNzX19kb3QyXzJ4LCAucHJvZ3Jlc3NfX2RvdF90aHJlZSAucHJvZ3Jlc3NfX2RvdF90aWNrMl8yeCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2dyZXNzX19kb3RfdHdvIC5wcm9ncmVzc19fZG90MywgLnByb2dyZXNzX19kb3RfdHdvIC5wcm9ncmVzc19fZG90X3RpY2szIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzc19fZG90M19oaWdoIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTaG93IC8gSGlkZSAyeC8zeCBkb3QgbGF5b3V0cyAqL1xuLnByb2dyZXNzX19kb3RfdHdvIC5kb3RzXzJ4LCAucHJvZ3Jlc3NfX2RvdF90aHJlZSAuZG90c18zeCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9ncmVzc19fZG90X3R3byAuZG90c18zeCwgLnByb2dyZXNzX19kb3RfdGhyZWUgLmRvdHNfMngge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFByb2dyZXNzIGRvdCBzdHlsaW5nIGFzIHVzZXIgcHJvZ3Jlc3NlcyB0aHJvdWdoIGV4Y2VyY2lzZXMgKi9cbi5wcm9ncmVzcy5wcm9ncmVzc18zMyAucHJvZ3Jlc3NfX2RvdDEsIC5wcm9ncmVzcy5wcm9ncmVzc181MCAucHJvZ3Jlc3NfX2RvdDEsIC5wcm9ncmVzcy5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDEsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QxLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MiwgLnByb2dyZXNzLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDMge1xuICBmaWxsOiAjRTFFMUUxO1xuICBzdHJva2U6ICNFMUUxRTE7XG4gIHN0cm9rZS13aWR0aDogMjsgfVxuXG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18zMyAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QxX2hpZ2gsXG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QzX2hpZ2gge1xuICBmaWxsOiAjMDAzMzkzO1xuICBzdHJva2U6ICMwMDMzOTM7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMzMgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNTAgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MV9oaWdoLFxuLnByb2dyZXNzLnJlZC5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90M19oaWdoIHtcbiAgZmlsbDogI0UyNDQ0NDtcbiAgc3Ryb2tlOiAjRTI0NDQ0O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMzMgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc181MCAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MV9oaWdoLFxuLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90M19oaWdoIHtcbiAgZmlsbDogIzUxQUU0MDtcbiAgc3Ryb2tlOiAjNTFBRTQwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzMzIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDFfaGlnaCxcbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDNfaGlnaCB7XG4gIGZpbGw6ICM4QjAwQkM7XG4gIHN0cm9rZTogIzhCMDBCQztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMzMgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucGluay5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MV9oaWdoLFxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90M19oaWdoIHtcbiAgZmlsbDogI0JBMTU3ODtcbiAgc3Ryb2tlOiAjQkExNTc4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBQUk9HUkVTUyBET1QgVElDS1MgLSBUSUNLUyBDQU4nVCBCRSBBRERFRCBTSU1QTFkgQVMgQ1NTIEJBQ0tHUk9VTkRTLCBTTyBFWFRSQSBTVkcgRUxFTUVOVCBVU0VEIFRIQVQgSVMgU0hPV04gLyBISURERU4gQVMgTkVFREVEICovXG4ucHJvZ3Jlc3NfX2RvdF90aWNrMSwgLnByb2dyZXNzX19kb3RfdGljazIsIC5wcm9ncmVzc19fZG90X3RpY2szIHtcbiAgc3Ryb2tlLXdpZHRoOiAwOyB9XG5cbi5jb25mZXR0aS5wYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB6LWluZGV4OiAwOyB9XG5cbi5jb25mZXR0aS5jcm91bmQge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4uY29uZmV0dGkuY3RyaWFuZ2xlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5jb25mZXR0aS5jdHJpYW5nbGU6YWZ0ZXIge1xuICBoZWlnaHQ6IDE0MCU7XG4gIHdpZHRoOiAxNDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwNSU7XG4gIHRvcDogLTIwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5jc3F1YXJlLnRpbnQxLCAucHJvZ3Jlc3MuYmx1ZSAuY3JvdW5kLnRpbnQxLCAucHJvZ3Jlc3MuYmx1ZSAuY3RyaWFuZ2xlLnRpbnQxOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjc2QjsgfVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuY3NxdWFyZS50aW50MiwgLnByb2dyZXNzLmJsdWUgLmNyb3VuZC50aW50MiwgLnByb2dyZXNzLmJsdWUgLmN0cmlhbmdsZS50aW50MjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDMzOTM7IH1cblxuLnByb2dyZXNzLmJsdWUgLmNzcXVhcmUudGludDMsIC5wcm9ncmVzcy5ibHVlIC5jcm91bmQudGludDMsIC5wcm9ncmVzcy5ibHVlIC5jdHJpYW5nbGUudGludDM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NkE2OyB9XG5cbi5wcm9ncmVzcy5ibHVlIC5jc3F1YXJlLnRpbnQ0LCAucHJvZ3Jlc3MuYmx1ZSAuY3JvdW5kLnRpbnQ0LCAucHJvZ3Jlc3MuYmx1ZSAuY3RyaWFuZ2xlLnRpbnQ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNUFCODsgfVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuY3NxdWFyZS50aW50NSwgLnByb2dyZXNzLmJsdWUgLmNyb3VuZC50aW50NSwgLnByb2dyZXNzLmJsdWUgLmN0cmlhbmdsZS50aW50NTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NEM4RkY7IH1cblxuLnByb2dyZXNzLnJlZCAuY3NxdWFyZS50aW50MSwgLnByb2dyZXNzLnJlZCAuY3JvdW5kLnRpbnQxLCAucHJvZ3Jlc3MucmVkIC5jdHJpYW5nbGUudGludDE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwMDRDOyB9XG5cbi5wcm9ncmVzcy5yZWQgLmNzcXVhcmUudGludDIsIC5wcm9ncmVzcy5yZWQgLmNyb3VuZC50aW50MiwgLnByb2dyZXNzLnJlZCAuY3RyaWFuZ2xlLnRpbnQyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UyNDQ0NDsgfVxuXG4ucHJvZ3Jlc3MucmVkIC5jc3F1YXJlLnRpbnQzLCAucHJvZ3Jlc3MucmVkIC5jcm91bmQudGludDMsIC5wcm9ncmVzcy5yZWQgLmN0cmlhbmdsZS50aW50MzphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMzYwNDM7IH1cblxuLnByb2dyZXNzLnJlZCAuY3NxdWFyZS50aW50NCwgLnByb2dyZXNzLnJlZCAuY3JvdW5kLnRpbnQ0LCAucHJvZ3Jlc3MucmVkIC5jdHJpYW5nbGUudGludDQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjc3QzREOyB9XG5cbi5wcm9ncmVzcy5yZWQgLmNzcXVhcmUudGludDUsIC5wcm9ncmVzcy5yZWQgLmNyb3VuZC50aW50NSwgLnByb2dyZXNzLnJlZCAuY3RyaWFuZ2xlLnRpbnQ1OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0VCNjsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmNzcXVhcmUudGludDEsIC5wcm9ncmVzcy5ncmVlbiAuY3JvdW5kLnRpbnQxLCAucHJvZ3Jlc3MuZ3JlZW4gLmN0cmlhbmdsZS50aW50MTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTYwNDQ7IH1cblxuLnByb2dyZXNzLmdyZWVuIC5jc3F1YXJlLnRpbnQyLCAucHJvZ3Jlc3MuZ3JlZW4gLmNyb3VuZC50aW50MiwgLnByb2dyZXNzLmdyZWVuIC5jdHJpYW5nbGUudGludDI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTFBRTQwOyB9XG5cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDMsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQzOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1QzAzRjsgfVxuXG4ucHJvZ3Jlc3MuZ3JlZW4gLmNzcXVhcmUudGludDQsIC5wcm9ncmVzcy5ncmVlbiAuY3JvdW5kLnRpbnQ0LCAucHJvZ3Jlc3MuZ3JlZW4gLmN0cmlhbmdsZS50aW50NDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4NERENTU7IH1cblxuLnByb2dyZXNzLmdyZWVuIC5jc3F1YXJlLnRpbnQ1LCAucHJvZ3Jlc3MuZ3JlZW4gLmNyb3VuZC50aW50NSwgLnByb2dyZXNzLmdyZWVuIC5jdHJpYW5nbGUudGludDU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVFOTlGOyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUgLmNzcXVhcmUudGludDEsIC5wcm9ncmVzcy5wdXJwbGUgLmNyb3VuZC50aW50MSwgLnByb2dyZXNzLnB1cnBsZSAuY3RyaWFuZ2xlLnRpbnQxOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU3MEI3MzsgfVxuXG4ucHJvZ3Jlc3MucHVycGxlIC5jc3F1YXJlLnRpbnQyLCAucHJvZ3Jlc3MucHVycGxlIC5jcm91bmQudGludDIsIC5wcm9ncmVzcy5wdXJwbGUgLmN0cmlhbmdsZS50aW50MjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4QjAwQkM7IH1cblxuLnByb2dyZXNzLnB1cnBsZSAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLnB1cnBsZSAuY3JvdW5kLnRpbnQzLCAucHJvZ3Jlc3MucHVycGxlIC5jdHJpYW5nbGUudGludDM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTcxQUU0OyB9XG5cbi5wcm9ncmVzcy5wdXJwbGUgLmNzcXVhcmUudGludDQsIC5wcm9ncmVzcy5wdXJwbGUgLmNyb3VuZC50aW50NCwgLnByb2dyZXNzLnB1cnBsZSAuY3RyaWFuZ2xlLnRpbnQ0OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDNURGRjsgfVxuXG4ucHJvZ3Jlc3MucHVycGxlIC5jc3F1YXJlLnRpbnQ1LCAucHJvZ3Jlc3MucHVycGxlIC5jcm91bmQudGludDUsIC5wcm9ncmVzcy5wdXJwbGUgLmN0cmlhbmdsZS50aW50NTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQ0IyRkY7IH1cblxuLnByb2dyZXNzLnBpbmsgLmNzcXVhcmUudGludDEsIC5wcm9ncmVzcy5waW5rIC5jcm91bmQudGludDEsIC5wcm9ncmVzcy5waW5rIC5jdHJpYW5nbGUudGludDE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGOyB9XG5cbi5wcm9ncmVzcy5waW5rIC5jc3F1YXJlLnRpbnQyLCAucHJvZ3Jlc3MucGluayAuY3JvdW5kLnRpbnQyLCAucHJvZ3Jlc3MucGluayAuY3RyaWFuZ2xlLnRpbnQyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODsgfVxuXG4ucHJvZ3Jlc3MucGluayAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLnBpbmsgLmNyb3VuZC50aW50MywgLnByb2dyZXNzLnBpbmsgLmN0cmlhbmdsZS50aW50MzphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7IH1cblxuLnByb2dyZXNzLnBpbmsgLmNzcXVhcmUudGludDQsIC5wcm9ncmVzcy5waW5rIC5jcm91bmQudGludDQsIC5wcm9ncmVzcy5waW5rIC5jdHJpYW5nbGUudGludDQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5OyB9XG5cbi5wcm9ncmVzcy5waW5rIC5jc3F1YXJlLnRpbnQ1LCAucHJvZ3Jlc3MucGluayAuY3JvdW5kLnRpbnQ1LCAucHJvZ3Jlc3MucGluayAuY3RyaWFuZ2xlLnRpbnQ1OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWZpbGwtMjUge1xuICBmcm9tIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwLCA3NDA7IH1cbiAgdG8ge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDE4NSwgNzQwOyB9IH1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsLTMzIHtcbiAgZnJvbSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMCwgNzQwOyB9XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAyODAsIDc0MDsgfSB9XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbC01MCB7XG4gIGZyb20ge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxuICB0byB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMzcwLCA3NDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWZpbGwtNjYge1xuICBmcm9tIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwNiwgNzQwOyB9XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA0NjIsIDc0MDsgfSB9XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbC03NSB7XG4gIGZyb20ge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxuICB0byB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogNTU1LCA3NDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWZpbGwtMTAwIHtcbiAgZnJvbSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMCwgNzQwOyB9XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA3NDAsIDc0MDsgfSB9XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbCB7XG4gIHRvIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwLCA3NDA7IH0gfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gIC5wcm9ncmVzcyB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMjgwcHg7IH1cbiAgLnByb2dyZXNzIHN2Zy5wcm9ncmVzc19fb3V0ZXIge1xuICAgIHdpZHRoOiAyODBweDtcbiAgICBoZWlnaHQ6IDI4MHB4OyB9XG4gIC5wcm9ncmVzcyAuc3RlcF9udW1iZXIgc3BhbiB7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDsgfVxuICAucHJvZ3Jlc3MgLnN0ZXBfdGV4dCB7XG4gICAgYm90dG9tOiBjYWxjKDIwJSArIDc4cHgpO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5wcm9ncmVzcyAuYnV0dG9uX21lbnUge1xuICAgIHRvcDogNTglOyB9XG4gIC5wcm9ncmVzcyAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cblxuLyogXG4gKiBDQUxFTkRBUlxuICovXG4jY2FsZW5kYXJfbW9udGhzX3NvdXJjZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2NhbGVuZGFyX3N0YXJ0X21vbnRoLCAjY2FsZW5kYXJfZW50cnlfZm9ybSBzZWxlY3Qge1xuICBoZWlnaHQ6IDMuMzc1cmVtO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gIGJvcmRlci1jb2xvcjogI0U0RThGMjtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjNjY2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZG93bi1jYXJldC5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xMHB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7IH1cblxuLnJ0bCAjY2FsZW5kYXJfc3RhcnRfbW9udGgsIC5ydGwgI2NhbGVuZGFyX2VudHJ5X2Zvcm0gc2VsZWN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxMHB4IGNlbnRlcjsgfVxuXG4uY2FsZW5kYXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhbGVuZGFyIGgzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucnRsIC5jYWxlbmRhciBoMyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jYWxlbmRhciAuY29sdW1uLCAuY2FsZW5kYXIgLmNvbHVtbnMge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jYWxlbmRhciA+IGxpIHtcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2FsZW5kYXIgPiBsaTpub3QoLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0KTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIHotaW5kZXg6IDA7IH1cblxuLmNhbGVuZGFyIHVsLm1lbnUubmVzdGVkIHtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSB7XG4gIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhbGVuZGFyOm5vdCgucmVhZG9ubHkpIC5jYWxlbmRhcl9lbnRyeSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzIwNjNENjsgfVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaGkge1xuICBiYWNrZ3JvdW5kOiAjMDQyMDY4OyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzEuaGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg0YWExOyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzIuaGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjQyMzFlOyB9XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmNhbGVuZGFyLmFjdGl2aXR5X3R5cGVzIC5jYWxlbmRhcl9lbnRyeSBhOmhvdmVyLCAuY2FsZW5kYXIucmVhZG9ubHkgLmNhbGVuZGFyX2VudHJ5IGE6aG92ZXIge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmNhbGVuZGFyOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLmNhbGVuZGFyX2VudHJ5IGEuY29zdCxcbiNzZWN0aW9uXzIgLnNlY3Rpb25fMmIgLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhLmNvc3Qge1xuICBiYWNrZ3JvdW5kOiAjRUI3QzdDO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY2FsZW5kYXI6bm90KC5hZGRfZWRpdF9hY3Rpdml0aWVzKSAuY2FsZW5kYXJfZW50cnkgYS5oaS5jb3N0LFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaGkuY29zdCB7XG4gIGJhY2tncm91bmQ6ICNlOTZjNmM7IH1cblxuLmNhbGVuZGFyOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLmNhbGVuZGFyX2VudHJ5IGEuaW5jb21lLFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaW5jb21lIHtcbiAgYmFja2dyb3VuZDogI0E3RDZBMztcbiAgY29sb3I6ICMwMDA7IH1cblxuLmNhbGVuZGFyOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLmNhbGVuZGFyX2VudHJ5IGEuaGkuaW5jb21lLFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaGkuaW5jb21lIHtcbiAgYmFja2dyb3VuZDogIzliZDA5NjsgfVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX3N0YXJ0IGEge1xuICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDRweCk7IH1cblxuLnJ0bCAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX3N0YXJ0IGEge1xuICBib3JkZXItcmFkaXVzOiAwIDEwMHB4IDEwMHB4IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX2NlbnRyZSBhIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeS5tb250aF9lbmQgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTsgfVxuXG4ucnRsIC5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkubW9udGhfZW5kIGEge1xuICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG5saS5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCB7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSg1MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICB6LWluZGV4OiAxOyB9XG5cbi5jYWxlbmRhci5hY3Rpdml0eV90eXBlcyBsaS5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxubGkuY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQubm9fZW50cmllcyB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAwOyB9XG5cbi5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCBhLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDEuMjVlbSAxZW0gMS4yNWVtIDIuMmVtOyB9XG5cbi5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcrJztcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbiAgY29sb3I6ICMyMDYzRDY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMTJweDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5ydGwgLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEycHg7IH1cblxuI3NlY3Rpb25fMSAuY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICBjb2xvcjogIzIwNjNENjsgfVxuXG4jc2VjdGlvbl8yIC5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gIGNvbG9yOiAjREUzRjNBOyB9XG5cbiNzZWN0aW9uXzEgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuXG4jc2VjdGlvbl8yIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMSAjY2FsZW5kYXJfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICBjb2xvcjogIzA0MTk0NDsgfVxuXG4jc2VjdGlvbl8yICNjYWxlbmRhcl9hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gIGNvbG9yOiAjNTcwMjM5OyB9XG5cbiNjYWxlbmRhcl9hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuYWRkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2NhbGVuZGFyX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5lZGl0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jc2VjdGlvbl8xIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiNzZWN0aW9uXzIgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI2NhbGVuZGFyX2VudHJ5X2Zvcm0gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogIzIwNjNENjtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5jYWxlbmRhcl90ZXh0X2Jsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZThmMjtcbiAgaGVpZ2h0OiAyNjBweDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5jYWxlbmRhcl90ZXh0X2Jsb2NrIHAge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgcCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDQxOTQ0OyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5idXR0b24uaW5jb21lIHtcbiAgYmFja2dyb3VuZDogI0E3RDZBMztcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLnJ0bCAjY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmluY29tZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmluY29tZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4ZWNhODk7IH1cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgLmJ1dHRvbi5jb3N0IHtcbiAgYmFja2dyb3VuZDogI0VCN0M3QztcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4ucnRsICNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5idXR0b24uY29zdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmNvc3Q6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTY1ZDVkOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1jb250YWluZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIGNvbnRlbnQ6ICcnO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1uZXh0LmRvX25vdF9wcm9jZWVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1uZXh0LmRvX25vdF9wcm9jZWVkOmhvdmVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtc2xpZGUge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQgLmJsb2NrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5pbmNvbWUgLmJsb2NrIHtcbiAgYmFja2dyb3VuZDogI0E3RDZBMzsgfVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQuY29zdCAuYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjRUI3QzdDOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dCBoNCB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5hY3Rpdml0eS10eXBlLWJ1dHRvbnMge1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBib3JkZXI6IDA7IH1cblxuLyojY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYWN0aXZpdHktdHlwZS1idXR0b25zOjpiZWZvcmUsICNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5hY3Rpdml0eS10eXBlLWJ1dHRvbnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lO1xufSovXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYWN0aXZpdHktdHlwZS1idXR0b25zLXNvdXJjZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQ2FsZW5kYXIgYnV0dG9uIHN0eWxlcyAqL1xuLyouYnV0dG9uLmNhbGVuZGFyX2RvbmUsIC5idXR0b24uZXhwYW5kZWQuY2FsZW5kYXJfZG9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0qL1xuLyogXG4gKiBUQVNLU1xuICovXG4udGFza3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnRhc2tzIGgzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGFza3MgLmNvbHVtbiwgLnRhc2tzIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDsgfVxuXG4udGFza3MgLnRhc2tzX2VudHJ5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGFza3MgLnRhc2tzX2VudHJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qLnRhc2tzIC50YXNrc19lbnRyeSAudGFzay1lbnRyeS1lZGl0LXRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z1BlbmNpbEljb24oICMyZDM1M2YgKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA5cHggY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcblx0Y29sb3I6ICMyZDM1M2Y7XG5cdGJvcmRlcjogMnB4IHNvbGlkICMyZDM1M2Y7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1IDEwIDMwKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwcHggNHB4IDEwcHggcmdiYSgwLDAsMCwwLjMpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrcyAudGFza3NfZW50cnkgLnRhc2stZW50cnktZWRpdC10b29sdGlwOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAxMHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG5cdGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogIzJkMzUzZjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0yMHB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn0qL1xuLnRhc2tzIC50YXNrc19lbnRyeSBhLCAudGFza3NfY2F0ZWdvcnlfbGlzdCB1bCBsaSB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzOyB9XG5cbi50YXNrcyAudGFza3NfZW50cnkgYTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi50YXNrcyAudGFza3NfZW50cnkgYS5zZWN0aW9uXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG5cbi50YXNrcyAudGFza3NfZW50cnkgYS5zZWN0aW9uXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbi50YXNrcyAudGFza3NfZW50cnkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnRhc2tzLmFjdGl2aXR5X3R5cGVzIC50YXNrc19lbnRyeSBhOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi50YXNrczpub3QoLmFkZF9lZGl0X2FjdGl2aXRpZXMpIC50YXNrc19lbnRyeSBhLmNvc3QsXG4jc2VjdGlvbl8yIC5zZWN0aW9uXzJiIC50YXNrcyAudGFza3NfZW50cnkgYS5jb3N0IHtcbiAgYmFja2dyb3VuZDogI0VCN0M3QztcbiAgY29sb3I6ICMwMDA7IH1cblxuLnRhc2tzOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLnRhc2tzX2VudHJ5IGEuaGkuY29zdCxcbiNzZWN0aW9uXzIgLnNlY3Rpb25fMmIgLnRhc2tzX2VudHJ5IGEuaGkuY29zdCB7XG4gIGJhY2tncm91bmQ6ICNlOTZjNmM7IH1cblxuLnRhc2tzOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLnRhc2tzX2VudHJ5IGEuaW5jb21lLFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAudGFza3MgLnRhc2tzX2VudHJ5IGEuaW5jb21lIHtcbiAgYmFja2dyb3VuZDogI0E3RDZBMztcbiAgY29sb3I6ICMwMDA7IH1cblxuLnRhc2tzOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLnRhc2tzX2VudHJ5IGEuaGkuaW5jb21lLFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAudGFza3MgLnRhc2tzX2VudHJ5IGEuaGkuaW5jb21lIHtcbiAgYmFja2dyb3VuZDogIzliZDA5NjsgfVxuXG4udGFza3MuYWN0aXZpdHlfdHlwZXMgbGkudGFza3NfZW50cnlfYWRkX2VkaXQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmxpLnRhc2tzX2VudHJ5X2FkZF9lZGl0Lm5vX2VudHJpZXMge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMDsgfVxuXG4udGFza3NfZW50cnlfYWRkX2VkaXQgYSB7XG4gIHdpZHRoOiAxMDRweDtcbiAgaGVpZ2h0OiAxMDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjtcbiAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXM7IH1cblxuLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDVweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7IH1cblxuLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgbWFyZ2luOiAxMnB4IGF1dG8gNXB4IGF1dG87XG4gIGNvbnRlbnQ6ICcrJztcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuI3NlY3Rpb25fMSAudGFza3NfZW50cnlfYWRkX2VkaXQgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7IH1cblxuI3NlY3Rpb25fMSAudGFza3NfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICBjb2xvcjogIzIwNjNENjsgfVxuXG4jc2VjdGlvbl8yIC50YXNrc19lbnRyeV9hZGRfZWRpdCBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbiNzZWN0aW9uXzIgLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG5cbiNzZWN0aW9uXzIgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jc2VjdGlvbl8xICN0YXNrc19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gIGNvbG9yOiAjMDQxOTQ0OyB9XG5cbiNzZWN0aW9uXzIgI3Rhc2tzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIHtcbiAgY29sb3I6ICM1NzAyMzk7IH1cblxuI3Rhc2tzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5hZGQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jdGFza3NfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMgLmVkaXQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3NlY3Rpb25fMiAuYnV0dG9uLmRlbGV0ZSB7XG4gIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDsgfVxuXG4jc2VjdGlvbl8zIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiNzZWN0aW9uXzQgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3RvZG9zIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiN0YXNrc19lbnRyeV9mb3JtIC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrX3RleHRfYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlYWUwO1xuICBtaW4taGVpZ2h0OiAzMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxcmVtIDFyZW0gMXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrX3RleHRfYmxvY2sgcCwgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza190ZXh0X2Jsb2NrIG9sIGxpIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgcCwgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza190ZXh0X2Jsb2NrIG9sIGxpIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwNDE5NDQ7IH1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza190ZXh0X2Jsb2NrIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LWNvbnRhaW5lcjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgY29udGVudDogJyc7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtbmV4dC5kb19ub3RfcHJvY2VlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1uZXh0LmRvX25vdF9wcm9jZWVkOmhvdmVyIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0IC5ibG9jayB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIGg0IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dCBoNCB7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5pZGVhIC5ibG9jayB7XG4gIGJhY2tncm91bmQ6ICNFRDc1NDM7IH1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQucHJvZHVjdGlvbiAuYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjREUzRjNBOyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0Lm1hcmtldGluZyAuYmxvY2sge1xuICBiYWNrZ3JvdW5kOiAjQUMwMjQ0OyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0Lm1hbmFnZW1lbnQgLmJsb2NrIHtcbiAgYmFja2dyb3VuZDogIzU3MDIzOTsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5pZGVhIGg0LCAjdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5wcm9kdWN0aW9uIGg0LCAjdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5tYXJrZXRpbmcgaDQsICN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0Lm1hbmFnZW1lbnQgaDQge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgYm9yZGVyOiAwOyB9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbiNzZWN0aW9uXzIgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza3MtdHlwZXMtYnV0dG9ucyAuYnV0dG9uLmlkZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUQ3NTQzOyB9XG5cbiNzZWN0aW9uXzIgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza3MtdHlwZXMtYnV0dG9ucyAuYnV0dG9uLnByb2R1Y3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNzZWN0aW9uXzIgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza3MtdHlwZXMtYnV0dG9ucyAuYnV0dG9uLm1hcmtldGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBQzAyNDQ7IH1cblxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24ubWFuYWdlbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7IH1cblxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24uaWRlYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkZTUwMTU7IH1cblxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24ucHJvZHVjdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNjMDI1MjA7IH1cblxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24ubWFya2V0aW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzhhMDIzNjsgfVxuXG4jc2VjdGlvbl8yICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbi5tYW5hZ2VtZW50OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ2MDIyZTsgfVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zLXNvdXJjZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhc2tzX2NhdGVnb3J5X2xpc3QgPiBsaSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRhc2tzX2NhdGVnb3J5X2xpc3QgdWwubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cblxuLnJ0bCAudGFza3NfY2F0ZWdvcnlfbGlzdCB1bC5tZW51Lm5lc3RlZCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4udGFza3NfY2F0ZWdvcnlfbGlzdCB1bCBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50YXNrc19jYXRlZ29yeV9saXN0IGxpLmNhdGVnb3J5IHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4udGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5pZGVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VENzU0MzsgfVxuXG4udGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5wcm9kdWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4udGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5tYXJrZXRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUMwMjQ0OyB9XG5cbi50YXNrc19jYXRlZ29yeV9saXN0IGxpLm1hbmFnZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwMjM5OyB9XG5cbi8qIFxuICogU0VDVElPTiA1IExJU1RTXG4gKi9cbi5saXN0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubGlzdHMgaDMge1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5saXN0cyAuY29sdW1uLCAubGlzdHMgLmNvbHVtbnMge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5saXN0cyAubGlzdC1oZWFkaW5ncyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAubGlzdHMgLmxpc3QtaGVhZGluZ3MgcCB7XG4gICAgY29sb3I6ICM1NDFGM0Y7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubGlzdHMgLmxpc3RzX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5saXN0cyAubGlzdHNfZW50cnkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0cyAubGlzdHNfZW50cnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxpc3RzIC5saXN0c19lbnRyeSBhIC5yb3cgZGl2IHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubGlzdHMgLmxpc3RzX2VudHJ5IGEgLnJvdyBkaXY6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmxpc3RzIC5saXN0c19lbnRyeSBhIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXM7IH1cblxuLmxpc3RzIC5saXN0c19lbnRyeSBhOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLmxpc3RzIC5saXN0c19lbnRyeSBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5saS5saXN0c19lbnRyeV9hZGRfZWRpdC5ub19lbnRyaWVzIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDA7IH1cblxuLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGEge1xuICB3aWR0aDogMTA0cHg7XG4gIGhlaWdodDogMTA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gIGJvcmRlci1yYWRpdXM6IDE1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzOyB9XG5cbi5sYW5nLW1zX215IC5saXN0c19lbnRyeV9hZGRfZWRpdCBhIHtcbiAgd2lkdGg6IDEyNnB4O1xuICBoZWlnaHQ6IDEyNnB4OyB9XG5cbi5saXN0c19lbnRyeV9hZGRfZWRpdCBhOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG5cbi5saXN0c19lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gIG1hcmdpbjogMTJweCBhdXRvIDVweCBhdXRvO1xuICBjb250ZW50OiAnKyc7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5sYW5nLW1zX215IC5saXN0c19lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gIG1hcmdpbjogMTJweCBhdXRvIDEwcHggYXV0bzsgfVxuXG4jc2VjdGlvbl81IC5saXN0c19lbnRyeV9hZGRfZWRpdCBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbiNzZWN0aW9uXzUgLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgY29sb3I6ICNCQTE1Nzg7IH1cblxuI3NlY3Rpb25fNSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNsaXN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gIGNvbG9yOiAjNTcwMjM5OyB9XG5cbiNsaXN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuYWRkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2xpc3RzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5lZGl0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jbGlzdHNfZW50cnlfZm9ybSAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjQkExNTc4O1xuICBtYXJnaW46IGF1dG87IH1cblxuLmxpc3RzX2NhdGVnb3J5X2xpc3QgPiBsaSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogMCAtIDczOXB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkgYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gIC5saXN0cyAubGlzdHNfZW50cnkgYSAucm93IGRpdi5maWVsZC0xOmJlZm9yZSwgLmxpc3RzIC5saXN0c19lbnRyeSBhIC5yb3cgZGl2LmZpZWxkLTI6YmVmb3JlLCAubGlzdHMgLmxpc3RzX2VudHJ5IGEgLnJvdyBkaXYuZmllbGQtMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCkgXCI6IFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNTQxRjNGO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgLmxpc3RzIC5saXN0c19lbnRyeSBhIC5yb3cgZGl2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTsgfVxuICAubGlzdHMgLmxpc3RzX2VudHJ5IGEgLnJvdyBkaXY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40cmVtOyB9IH1cblxuLyogXG4gKiBUT0RPU1xuICovXG4udG9kb3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnRvZG9zIGgzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udG9kb3MgLmNvbHVtbiwgLnRvZG9zIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDsgfVxuXG4udG9kb3MgLmxvYWRpbmcge1xuICB3aWR0aDogNS42MjVyZW07XG4gIGhlaWdodDogNS42MjVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi50b2RvcyAubG9hZGluZyBwIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC02MCUpO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDE7IH1cblxuLnRvZG9zIC5sb2FkaW5nIC5yaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNS42MjVyZW07XG4gIGhlaWdodDogNS42MjVyZW07XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB6LWluZGV4OiAwOyB9XG5cbi50b2RvcyAubG9hZGluZyAucmluZzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUuNjI1cmVtO1xuICBoZWlnaHQ6IDUuNjI1cmVtO1xuICBtYXJnaW46IDFweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDhweCBzb2xpZCBjYWRldGJsdWU7XG4gIGJvcmRlci1jb2xvcjogY2FkZXRibHVlIHRyYW5zcGFyZW50IGNhZGV0Ymx1ZSB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOiByaW5nIDEuMnMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGEge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMS4yNXJlbSAzLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41czsgfVxuXG4ucnRsIC50b2RvcyAudG9kb3NfZW50cnkgYSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMy41cmVtIDEuMjVyZW0gMS4yNXJlbTsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGEuc2VjdGlvbl8xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGEuc2VjdGlvbl8yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgYnV0dG9uLnN0YXR1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxM3B4O1xuICBsZWZ0OiAxMnB4O1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweDsgfVxuXG4ucnRsIC50b2RvcyAudG9kb3NfZW50cnkgYnV0dG9uLnN0YXR1cyB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMnB4OyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgYnV0dG9uLnN0YXR1czpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xhcmdlLXRpY2suc3ZnXCIpO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGJ1dHRvbi5zdGF0dXMuY29tcGxldGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xhcmdlLXdoaXRlLXRpY2suc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IHtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDIuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7IH1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDZweDtcbiAgd2lkdGg6IDlweDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUsXG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLypPdXRlci1ib3gqL1xuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIHRvcDogM3B4OyB9XG5cbi8qQ2hlY2ttYXJrKi9cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gIGxlZnQ6IDRweDtcbiAgdG9wOiA3cHg7IH1cblxuLypIaWRlIHRoZSBjaGVja21hcmsgYnkgZGVmYXVsdCovXG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lOyB9XG5cbi8qVW5oaWRlIHRoZSBjaGVja21hcmsgb24gdGhlIGNoZWNrZWQgc3RhdGUqL1xuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi8qQWRkaW5nIGZvY3VzIHN0eWxlcyBvbiB0aGUgb3V0ZXItYm94IG9mIHRoZSBmYWtlIGNoZWNrYm94Ki9cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICBvdXRsaW5lOiAjM2I5OWZjIGF1dG8gNXB4OyB9XG5cbi5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4qL1xuLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQgc3BhbiB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuI3NlY3Rpb25fMSAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNCwgNTcsIDE2NSwgMC44KTsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA0MzlhNTsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IC5wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIC5wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkNTljMTsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzcsIDExNywgNjcsIDAuOCk7IH1cblxuI3NlY3Rpb25fMiAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDc1NDM7IH1cblxuI3NlY3Rpb25fMiAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMiAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciAucGx1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkODJhMjQ7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTgsIDE4MiwgODMsIDAuOCk7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MmI2NTM7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTZDNkE7IH1cblxuI3NlY3Rpb25fMyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciAucGx1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzYxNWY7IH1cblxuI3NlY3Rpb25fNCAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc2LCA0OSwgMjMxLCAwLjgpOyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjAzMWU3OyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQgLnBsdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG5cbiNzZWN0aW9uXzQgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzEzYWZmOyB9XG5cbiNzZWN0aW9uXzUgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNTc4OyB9XG5cbiNzZWN0aW9uXzUgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NiwgMjEsIDEyMCwgMC44KTsgfVxuXG4jc2VjdGlvbl81IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IC5wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOERCOTsgfVxuXG4jc2VjdGlvbl81IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIC5wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjVhMTsgfVxuXG4jc2VjdGlvbl81IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IGg0IHtcbiAgY29sb3I6ICNmZmY7IH1cblxuI3RvZG9zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjgpOyB9XG5cbiN0b2RvcyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cblxuI3RvZG9zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IC5wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuXG4jdG9kb3MgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlOyB9XG5cbiNzZWN0aW9uXzEgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jc2VjdGlvbl8yIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMyBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNzZWN0aW9uXzQgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jc2VjdGlvbl81IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3RvZG9zIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMSAjdG9kb3NfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICBjb2xvcjogIzA0MTk0NDsgfVxuXG4jc2VjdGlvbl8yICN0b2Rvc19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gIGNvbG9yOiAjNTcwMjM5OyB9XG5cbiN0b2Rvc19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuYWRkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3RvZG9zX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5lZGl0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jc2VjdGlvbl8xIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiNzZWN0aW9uXzIgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3NlY3Rpb25fMyAuYnV0dG9uLmRlbGV0ZSB7XG4gIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDsgfVxuXG4jc2VjdGlvbl80IC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3RvZG9zIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiN0b2Rvc19lbnRyeV9mb3JtIC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4udG9kb19saXN0IGxpIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cblxuLyogXG4gKiBQUk9EVUNUU1xuICovXG4ucHJvZHVjdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByb2R1Y3RzIGgzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucHJvZHVjdHMgLmNvbHVtbiwgLnByb2R1Y3RzIC5jb2x1bW5zIHtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7IH1cblxuLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4jc2VjdGlvbl8xIC5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYSB7XG4gIGNvbG9yOiAjMjA2M0Q2OyB9XG5cbiNzZWN0aW9uXzIgLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhIHtcbiAgY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fMyAucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEge1xuICBjb2xvcjogIzUwQUQ0NzsgfVxuXG4jc2VjdGlvbl80IC5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYSB7XG4gIGNvbG9yOiAjNTBBRDQ3OyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5hZGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAzcHggZGFzaGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5zZWN0aW9uXzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5zZWN0aW9uXzIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTcxQUU0OyB9XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI3NlY3Rpb25fMSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNzZWN0aW9uXzIgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jc2VjdGlvbl8zIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cblxuI3NlY3Rpb25fNCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNwcm9kdWN0cyBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG5cbiNzZWN0aW9uXzEgI3Byb2R1Y3RzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIHtcbiAgY29sb3I6ICMwNDE5NDQ7IH1cblxuI3NlY3Rpb25fMiAjcHJvZHVjdHNfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICBjb2xvcjogIzU3MDIzOTsgfVxuXG4jcHJvZHVjdHNfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMgLmFkZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNwcm9kdWN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuZWRpdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3NlY3Rpb25fMSAuYnV0dG9uLmRlbGV0ZSB7XG4gIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDsgfVxuXG4jc2VjdGlvbl8yIC5idXR0b24uZGVsZXRlIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50OyB9XG5cbiNzZWN0aW9uXzMgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3NlY3Rpb25fNCAuYnV0dG9uLmRlbGV0ZSB7XG4gIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDsgfVxuXG4jcHJvZHVjdHMgLmJ1dHRvbi5kZWxldGUge1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7IH1cblxuI3Byb2R1Y3RzX2VudHJ5X2Zvcm0gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogIzIwNjNENjtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5wcm9kdWN0cyBsaSB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5wcm9kdWN0X3BhZ2UgLmRlc2NyaXB0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucHJvZHVjdF9wYWdlIC5kZXNjcmlwdGlvbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdF9wYWdlIGxhYmVsLCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgbGFiZWwge1xuICBjb2xvcjogIzEzNDg1MjsgfVxuXG4jc2VjdGlvbl8xIC5wcm9kdWN0X3BhZ2UgaDQsICNzZWN0aW9uXzEgLnByb2R1Y3RfbWFya2V0c19wYWdlIGg0IHtcbiAgY29sb3I6ICMwNDE5NDQ7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuI3NlY3Rpb25fMiAucHJvZHVjdF9wYWdlIGg0LCAjc2VjdGlvbl8yIC5wcm9kdWN0X21hcmtldHNfcGFnZSBoNCB7XG4gIGNvbG9yOiAjNTcwMjM5O1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbiNzZWN0aW9uXzMgLnByb2R1Y3RfcGFnZSBoNCwgI3NlY3Rpb25fMyAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgaDQge1xuICBjb2xvcjogIzUwQUQ0NztcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4jc2VjdGlvbl80IC5wcm9kdWN0X3BhZ2UgaDQsICNzZWN0aW9uXzQgLnByb2R1Y3RfbWFya2V0c19wYWdlIGg0IHtcbiAgY29sb3I6ICMzMDBDNUU7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYSB7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbSAxLjI1cmVtIDMuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC4yNXM7IH1cblxuLnJ0bCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhIHtcbiAgcGFkZGluZzogMS4yNXJlbSAzLjVyZW0gMS4yNXJlbSAxLjI1cmVtOyB9XG5cbi5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhLmNoZWNrZWQsIC5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGEuY2hlY2tlZDpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3OyB9XG5cbi5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEzcHg7XG4gIGxlZnQ6IDEycHg7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICB0ZXh0LWluZGVudDogLTUwMDBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7IH1cblxuLnJ0bCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhOmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEycHg7IH1cblxuLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYS5jaGVja2VkOmFmdGVyLCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xhcmdlLWdyZWVuLXRpY2suc3ZnXCIpO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4vKlxuICogTEFOR1VBR0UgU0VMRUNUT1JcbiAqL1xuLmxhbmd1YWdlLW1lbnUtaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDEuODc1cmVtIDAuMjVyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM1M2Y7XG4gIGNvbG9yOiAjMmQzNTNmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTEuOTYlMjAxMS45NiUyMiUzRSUzQ3BvbHlsaW5lJTIwcG9pbnRzJTNEJTIyMTEuMzclMjAzLjQ1JTIwNS45OCUyMDguNTElMjAwLjU5JTIwMy40NSUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyJTIzMmQzNTNmJTIyJTIwc3Ryb2tlLW1pdGVybGltaXQlM0QlMjIxMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIuNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMTFweDsgfVxuXG4ubGFuZ3VhZ2UtbWVudS1pY29uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiNsYW5ndWFnZV9tZW51IGgxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM3Mzc5N2Y7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2xhbmd1YWdlX21lbnUgaDEgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgY29sb3I6ICMyZDM1M2Y7IH1cblxuI2xhbmd1YWdlX21lbnUgaDIge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIuMjVyZW07IH1cblxuI2xhbmd1YWdlX21lbnUgaDIgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucm93LmNsb3NlLWJ1dHRvbi1yb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIHVsLnJhZGlvYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgdWwucmFkaW9idXR0b25zIGxpIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbSAzLjVyZW07XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyNDUsIDI1MSwgMC4zKTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBjb2xvcjogIzczNzk3ZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1czsgfVxuXG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7IH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzVjNjI2YSAhaW1wb3J0YW50O1xuICAvKmZvbnQtd2VpZ2h0OiA3MDA7XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjUpOyovIH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxOXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNjIuNDM3NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyMiwgMzEsIDQyLCAwLjEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsOmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBsYWJlbDpsYXN0LW9mLXR5cGUge1xuICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGNvbG9yOiAjNWM2MjZhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLWxlZnQ6IDQuMDYyNXJlbTsgfVxuXG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMy40NCUyMDExLjIzJTIyJTNFJTNDcG9seWdvbiUyMHBvaW50cyUzRCUyMjQuMjglMjA3LjA5JTIwMi4wNyUyMDQuODklMjAwJTIwNi45NiUyMDQuMjglMjAxMS4yMyUyMDEzLjQ0JTIwMi4wNyUyMDExLjM3JTIwMCUyMDQuMjglMjA3LjA5JTIyJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjE4NzVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBsZWZ0OiAxMXB4OyB9XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBsYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgbGFiZWw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgI2xhbmd1YWdlX21lbnUgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5sYW5ndWFnZV9zZWxlY3RvciB1bC5yYWRpb2J1dHRvbnMgbGkge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07IH1cbiAgLmxhbmd1YWdlX3NlbGVjdG9yIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC41cmVtIDMuNXJlbTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5sYW5ndWFnZV9zZWxlY3RvciB1bC5yYWRpb2J1dHRvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLyogXG4gKiBUUklBTkdMRVMgLyBDSVJDTEVTIExJU1QgRUxFTUVOVFNcbiAqL1xuLnNvdXJjZV9saXN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1LCA1NSwgMTQ3LCAwLjkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5yZXNldCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMTBweDtcbiAgcmlnaHQ6IDIlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC4yNXM7IH1cblxuLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQudHJpYW5nbGVfYWRkIHtcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDE0M3B4OyB9XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkLmNpcmNsZV9hZGQge1xuICB3aWR0aDogMTE0cHg7XG4gIGhlaWdodDogMTE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gIGJvcmRlci1yYWRpdXM6IDE1MHB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cywgaGVpZ2h0IDAuMjVzLCBtYXJnaW4tYm90dG9tIDAuMjVzOyB9XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkLmNpcmNsZV9hZGQ6aG92ZXIge1xuICB3aWR0aDogMTI0cHg7XG4gIGhlaWdodDogMTI0cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7IH1cblxuLmxhbmctaHkgLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQuY2lyY2xlX2FkZCB7XG4gIHdpZHRoOiAxMjZweDtcbiAgaGVpZ2h0OiAxMjZweDsgfVxuXG4ubGFuZy1oeSAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC5jaXJjbGVfYWRkOmhvdmVyIHtcbiAgd2lkdGg6IDEzMHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtM3B4OyB9XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbTsgfVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZDpiZWZvcmUge1xuICBjb250ZW50OiAnKyc7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDM2cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDM2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkLnRyaWFuZ2xlX2FkZDpiZWZvcmUge1xuICBtYXJnaW46IDM4cHggYXV0byA4cHggYXV0bzsgfVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC5jaXJjbGVfYWRkOmJlZm9yZSB7XG4gIG1hcmdpbjogMjVweCBhdXRvIDJweCBhdXRvOyB9XG5cbiNzZWN0aW9uXzEgLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQudHJpYW5nbGVfYWRkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3RyaWFuZ2xlLWJsdWUuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDk1JTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4yNXM7IH1cblxuI3NlY3Rpb25fMSAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC50cmlhbmdsZV9hZGQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cblxuI3NlY3Rpb25fMSAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZDpiZWZvcmUge1xuICBjb2xvcjogIzIwNjNENjsgfVxuXG4udHJpYW5nbGVzLCAuY2lyY2xlcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udHJpYW5nbGVzIGxpLCAuY2lyY2xlcyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgcGFkZGluZzogNXB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4udHJpYW5nbGVzIGxpIGRpdiwgLmNpcmNsZXMgbGkgZGl2IHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xLCAwLjI1LCAwLjEsIDAuMjUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4udHJpYW5nbGVzIGxpIGEsIC5jaXJjbGVzIGxpIGEge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDBweCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4udHJpYW5nbGVzIGxpIGRpdi5wb3BwZWQsIC5jaXJjbGVzIGxpIGRpdi5wb3BwZWQge1xuICBhbmltYXRpb246IHBvcHBlZCAwLjM1cyBlYXNlLW91dCAxOyB9XG5cbi50cmlhbmdsZXMgbGkgZGl2LnBvcHBlZCBhLCAuY2lyY2xlcyBsaSBkaXYucG9wcGVkIGEge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4udHJpYW5nbGVzIGxpIGRpdi5wb3BwZWQ6aG92ZXIgYSwgLmNpcmNsZXMgbGkgZGl2LnBvcHBlZDpob3ZlciBhIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbkBrZXlmcmFtZXMgcG9wcGVkIHtcbiAgMCUgeyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH0gfVxuXG4udHJpYW5nbGVzIGxpIGRpdjpub3QoLnBvcHBlZCkuYW5pbV8xLCAuY2lyY2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpLmFuaW1fMSB7XG4gIGFuaW1hdGlvbjogYW5pbV8xIDEuMTVzIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi50cmlhbmdsZXMgbGkgZGl2Om5vdCgucG9wcGVkKS5hbmltXzIsIC5jaXJjbGVzIGxpIGRpdjpub3QoLnBvcHBlZCkuYW5pbV8yIHtcbiAgYW5pbWF0aW9uOiBhbmltXzIgMS4yNXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuQGtleWZyYW1lcyBhbmltXzEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgdHJhbnNsYXRlWSgtMXB4KSBzY2FsZSgwLjk5KTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSB0cmFuc2xhdGVZKDFweCkgc2NhbGUoMS4wMSk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSB0cmFuc2xhdGVZKC0xcHgpIHNjYWxlKDAuOTkpOyB9IH1cblxuQGtleWZyYW1lcyBhbmltXzIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHRyYW5zbGF0ZVkoMXB4KSBzY2FsZSgwLjk5KTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgdHJhbnNsYXRlWSgtMXB4KSBzY2FsZSgxLjAxKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgdHJhbnNsYXRlWSgxcHgpIHNjYWxlKDAuOTkpOyB9IH1cblxuLypAa2V5ZnJhbWVzIGppZ2dsZV9hIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDFkZWcpOyB9XG4gICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDFkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgamlnZ2xlX2Ige1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOyB9XG4gICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxLjFkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMWRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyBqaWdnbGVfYyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMS4yZGVnKTsgfVxuICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMS4yZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEuMmRlZyk7IH1cbn1cblxuQGtleWZyYW1lcyBqaWdnbGVfZCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMS4zZGVnKTsgfVxuICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMS4xZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEuM2RlZyk7IH1cbn0qL1xuLnRyaWFuZ2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpOmhvdmVyLCAuY2lyY2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpOmhvdmVyIHtcbiAgYW5pbWF0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpICFpbXBvcnRhbnQ7IH1cblxuLnRyaWFuZ2xlcyBsaSBhIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3RyaWFuZ2xlLnN2Z1wiKSAwIDAgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDkwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4udHJpYW5nbGVzIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwyNzE1JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogI0UyNDQ0NDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi5jaXJjbGVzIGxpIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDk1cHg7XG4gIGhlaWdodDogOTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmxhbmctaHkgLmNpcmNsZXMgbGkgYSB7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDsgfVxuXG4uY2lyY2xlcyBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjcxNSc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6ICNFMjQ0NDQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ2LjE4OGVtKSB7XG4gIC50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAucmVzZXQge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4vKiBcbiAqIExPWkVOR0VTIExJU1QgRUxFTUVOVFNcbiAqL1xuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC43NXJlbSAzLjMxMjVyZW0gMC43NXJlbSAwO1xuICBtaW4taGVpZ2h0OiA0LjI1cmVtOyB9XG5cbi5ydGwgLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIHtcbiAgcGFkZGluZzogMC43NXJlbSAwIDAuNzVyZW0gMy4zMTI1cmVtOyB9XG5cbi5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bC5uby1zaGFkb3cge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5sb3plbmdlc19zZWxlY3RlZF93b3Jkcy5ub19pbnRlcmFjdGlvbiB1bCB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMCAwLjc1cmVtIDA7IH1cblxuLmxvemVuZ2VfaXRlbV9jb3VudCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1RTk5RjtcbiAgY29sb3I6ICMxMzQ4NTI7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC43NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNnB4O1xuICByaWdodDogMTBweDsgfVxuXG4ucnRsIC5sb3plbmdlX2l0ZW1fY291bnQge1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMubm9faW50ZXJhY3Rpb24gLmxvemVuZ2VfaXRlbV9jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxvemVuZ2VzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5sb3plbmdlcyBsaSwgLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIGxpLCB1bC5zZWxlY3RlZF93b3Jkc19saXN0IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAuNjI1cmVtO1xuICBwYWRkaW5nOiA1cHg7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5sb3plbmdlcyBsaSwgLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIGxpLCB1bC5zZWxlY3RlZF93b3Jkc19saXN0IGxpIHtcbiAgbWFyZ2luOiAwLjMxMjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5sb3plbmdlcyBsaSBhLCAubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwgbGkgYSwgdWwuc2VsZWN0ZWRfd29yZHNfbGlzdCBsaSB7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5sb3plbmdlcyBsaSBhLmJ1dHRvbiwgLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIGxpIGEuYnV0dG9uLCB1bC5zZWxlY3RlZF93b3Jkc19saXN0IGxpIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGNvbG9yOiAjMTE2MDQ0O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bCBsaSBhLmJ1dHRvbiwgdWwuc2VsZWN0ZWRfd29yZHNfbGlzdCBsaSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NWMwM2Y7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4OyB9XG5cbi5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bCBsaSBhLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NmEzMzY7IH1cblxuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzLm5vX2ludGVyYWN0aW9uIHVsIGxpIGEuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1YzAzZjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bCBsaSBhLmJ1dHRvbjpob3ZlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDI3MTUnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjRTI0NDQ0O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMubm9faW50ZXJhY3Rpb24gdWwgbGkgYS5idXR0b246aG92ZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5sb3plbmdlcyBsaSBhLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5sb3plbmdlX2FkZC5ob2xsb3cge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAyLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG5cbi5sb3plbmdlX2FkZC5ob2xsb3c6Zm9jdXMsIC5sb3plbmdlX2FkZC5ob2xsb3c6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMTE2MDQ0OyB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLyoudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLnJlc2V0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9Ki8gfVxuXG4vKiBcbiAqIFBST0RVQ1QgUkFORE9NSVNFUlxuICovXG4ucHJvZHVjdF9yYW5kb21pc2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKmJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3JhbmRvbWlzZXItYmcuc3ZnJykgMCAwIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7Ki9cbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIHBhZGRpbmc6IDA7XG4gIC8qb3ZlcmZsb3c6IGhpZGRlbjsqLyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDclO1xuICBib3R0b206IDIwJTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDdweCByZ2JhKDEwLCAxMCwgMTAsIDAuOSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHdpZHRoOiAyOS4zMzMzJTtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3Q6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMjUlO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMDUsIDIwNSwgMjA1LCAwLjkpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICB6LWluZGV4OiAxMDsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMjUlO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjA1LCAyMDUsIDIwNSwgMC45KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIHVsLmFuaW1hdGVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIHVsIGxpIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNTcwMjM5O1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgLypib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyLm1hdGVyaWFscyB1bCBsaSB7XG4gIGNvbG9yOiAjQkExNTc4OyB9XG5cbi8qIDAgLSA0NDlweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIGFuZCAobWF4LXdpZHRoOiA0NDlweCkge1xuICAucHJvZHVjdF9yYW5kb21pc2VyIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciB1bCBsaS5xdWVzdGlvbl9tYXJrIHtcbiAgY29sb3I6ICM1NzAyMzk7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIG9wYWNpdHk6IDE7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciB1bCBsaS5kZWZhdWx0IHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIHVsIGxpIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LnBsYWNlLCAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90Lm9uZSB7XG4gIGxlZnQ6IDQlOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyLCAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LnR3byB7XG4gIGxlZnQ6IDM1LjMzMzMzJTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaSB7XG4gIHdpZHRoOiA2NnB4O1xuICBoZWlnaHQ6IDY2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBsaW5lLWhlaWdodDogNjZweDtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMnB4IGF1dG87IH1cblxuLyoubGFuZy1oeSAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaSB7XG4gICAgd2lkdGg6IDEwNnB4O1xuICAgIGhlaWdodDogMTA2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwNnB4O1xufSovXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5xdWVzdGlvbl9tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgY29sb3I6ICM1NzAyMzk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkucmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I0MTU0OTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5yZWQgc3BhbiB7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMzMzLCAtMXB4IC0xcHggMXB4ICMzMzM7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkueWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkYzAxYztcbiAgY29sb3I6ICMzMzM7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkueWVsbG93IHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggI2ZmZiwgLTFweCAtMXB4IDFweCAjZmZmOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnBpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4NWJkO1xuICBjb2xvcjogIzMzMzsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5waW5rIHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggI2ZmZiwgLTFweCAtMXB4IDFweCAjZmZmOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwYWQ0NzsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5ncmVlbiBzcGFuIHtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzMsIC0xcHggLTFweCAxcHggIzMzMzsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlNDU0ZTsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5ncmV5IHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzMzMywgLTFweCAtMXB4IDFweCAjMzMzOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLm9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDc1NDM7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkub3JhbmdlIHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzMzMywgLTFweCAtMXB4IDFweCAjMzMzOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLmFxdWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdiYWUzO1xuICBjb2xvcjogIzMzMzsgfVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5hcXVhIHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggI2ZmZiwgLTFweCAtMXB4IDFweCAjZmZmOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnB1cnBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MjBkOTc7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkucHVycGxlIHNwYW4ge1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzMzMywgLTFweCAtMXB4IDFweCAjMzMzOyB9XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3Qub2NjYXNpb24sIC5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QudGhyZWUge1xuICBsZWZ0OiA2Ni42NjY2NiU7IH1cblxuLnByb2R1Y3RfcmFuZG9taXNlciBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDc1JSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC42KTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNztcbiAgd2lkdGg6IDgwJTsgfVxuXG4vKiBcbiAqIENVU1RPTUVSIENSRUFUT1JcbiAqL1xuLmN1c3RvbWVyX2NyZWF0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAvKmhlaWdodDogMDsqL1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuICAvKnBhZGRpbmctYm90dG9tOiA0OCU7Ki9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuXG4uY3VzdG9tZXJfYmxvY2sge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuXG4uY3VzdG9tZXJfYmxvY2sgLmN1c3RvbWVyX2NyZWF0b3Ige1xuICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gIG1heC13aWR0aDogMzUwcHg7IH1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN2Z193cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5hY2Nlc3NvcmllcyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmFjY2Vzc29yaWVzID4gcGF0aCxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuaGF0cyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmhhdHMgPiBwYXRoLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5leWVzID4gZyxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuZXllcyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmZyaW5nZXMgPiBnLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5mcmluZ2VzID4gcGF0aCxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAubm9zZXMgPiBnLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ub3NlcyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLm1vdXRocyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLm1vdXRocyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmJvZHkgLnB1cnBsZS1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYm9keSAucmVkLWJvZHkxLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ib2R5IC5ibHVlLWJvZHkxLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ib2R5IC5ncmVlbi1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYm9keSAuZGVmYXVsdC1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuaGFpciA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmhhaXIgPiBwYXRoLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5iYWNrZ3JvdW5kID4gZyxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYmFja2dyb3VuZCA+IHBhdGgge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29sX3NlbGVjdGlvbiB1bCB7XG4gIGhlaWdodDogNDUwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29sX3NlbGVjdGlvbiB1bCBsaSB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEwcHgpO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMC42MjVyZW0gMDsgfVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbF9zZWxlY3Rpb24gZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29sczphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDlweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjM3NXJlbTtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTRFOEYyO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBjb2xvcjogIzEzNDg1MjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Rvd24tY2FyZXQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTVweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4OyB9XG5cbi5ydGwgLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIHNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDE1cHggY2VudGVyOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBzZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMC42MjVyZW0gMC4zMTI1cmVtIDAuNjI1cmVtO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyB1bC5hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBsaSB7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNGNUY1RjU7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW46IDA7XG4gIC8qdGV4dC1pbmRlbnQ6IC01MDAwcHg7Ki8gfVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgbGkgYTpob3ZlciwgLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIGxpIGEuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTBBRDQ3OyB9XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBsaSBhLm5vbmUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgbGkgYS5ub25lOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjcxNSc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMxOTZDNkE7XG4gIC8qd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyovXG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5hZGRfY3VzdG9tZXJfeWVhcmx5X2luY29tZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4uY3VzdG9tZXJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jdXN0b21lcnMgbGkge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY3VzdG9tZXJzIC5hZGRfY3VzdG9tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogM3B4IGRhc2hlZCByZ2JhKDI1LCAxMDgsIDEwNiwgMC43NSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMTk2QzZBO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDJyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH1cblxuLmN1c3RvbWVycyAuYWRkX2N1c3RvbWVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmN1c3RvbWVycyAudG90YWwge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5ydGwgLmN1c3RvbWVycyAudG90YWwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY3VzdG9tZXJfMSAudGh1bWJuYWlsLCAuY3VzdG9tZXJfMSAudG90YWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3VzdG9tZXJfMiAudGh1bWJuYWlsLmFsd2F5c19zaG93LCAuY3VzdG9tZXJfMiAudG90YWwuYWx3YXlzX3Nob3csIC5jdXN0b21lcl8zIC50aHVtYm5haWwuYWx3YXlzX3Nob3csIC5jdXN0b21lcl8zIC50b3RhbC5hbHdheXNfc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jdXN0b21lcnMgLnJlZG9fY3VzdG9tZXIge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6IHJnYmEoMjUsIDEwOCwgMTA2LCAwLjcpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1czsgfVxuXG4ucnRsIC5jdXN0b21lcnMgLnJlZG9fY3VzdG9tZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmN1c3RvbWVycyAucmVkb19jdXN0b21lcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjM3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsgfVxuXG4uY3VzdG9tZXJzIC5yZWRvX2N1c3RvbWVyLmZhZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7IH1cblxuLmN1c3RvbWVycyAudG90YWwgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi5jdXN0b21lcnMgLnRvdGFsIHAubWVtb3JhYmxlX25hbWUge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uY3VzdG9tZXJzIC50b3RhbCBwLm1lbW9yYWJsZV9uYW1lLCAuY3VzdG9tZXJzIC50b3RhbCBwIHNwYW4uY3VycmVuY3lfc3ltYm9sLCAuY3VzdG9tZXJzIC50b3RhbCBwIHNwYW4udG90YWxfdGV4dCB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGNvbG9yOiAjMTk2QzZBOyB9XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCAuY3VzdG9tZXJfY3JlYXRvciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IDE1MHB4O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzOyB9XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCAuY3VzdG9tZXJfY3JlYXRvciAubWFpbiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLyogMCAtIDkwMHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xfc2VsZWN0aW9uIHVsIGxpIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTsgfSB9XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDYuMTg4ZW0pIHtcbiAgLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xfc2VsZWN0aW9uIHVsIGxpIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxMHB4KTsgfVxuICAuY3VzdG9tZXJfY3JlYXRvciAubWFpbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICAuY3VzdG9tZXJzIC50b3RhbCBwIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmN1c3RvbWVycyAudG90YWwgcC5tZW1vcmFibGVfbmFtZSwgLmN1c3RvbWVycyAudG90YWwgcCBzcGFuLmN1cnJlbmN5X3N5bWJvbCwgLmN1c3RvbWVycyAudG90YWwgcCBzcGFuLnRvdGFsX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9IH1cblxuLyogMCAtIDQ2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI4Ljc1ZW0pIHtcbiAgLmN1c3RvbWVycyAudGh1bWJuYWlsIC5jdXN0b21lcl9jcmVhdG9yIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDsgfVxuICAuY3VzdG9tZXJzIC5yZWRvX2N1c3RvbWVyIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDsgfSB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay1wcmV2aW91cywgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC04MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZDM1M2Y7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXZpb3VzOmhvdmVyLCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCA1MywgNjMsIDAuNzUpOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXZpb3VzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI1JTIwMTYlMjIlM0UlM0NwYXRoJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGZpbGwtcnVsZSUzRCUyMmV2ZW5vZGQlMjIlMjBkJTNEJTIyTTE3JTIwMGwtMS40JTIwMS40TDIxLjIlMjA3SDB2MmgyMS4ybC01LjYlMjA1LjZMMTclMjAxNmw4LTgtOC04eiUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBsZWZ0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiAwIDk5OXB4IDk5OXB4IDA7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNSUyMDE2JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZCUzRCUyMk04JTIwMTZsMS40LTEuNEwzLjglMjA5SDI1VjdIMy44bDUuNi01LjZMOCUyMDAlMjAwJTIwOGw4JTIwOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsZWZ0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweCAwIDAgOTk5cHg7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXMuc2xpY2stZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjUlMjAxNiUyMiUzRSUzQ3BhdGglMjBmaWxsJTNEJTIyJTIzY2NjJTIyJTIwZmlsbC1ydWxlJTNEJTIyZXZlbm9kZCUyMiUyMGQlM0QlMjJNMTclMjAwbC0xLjQlMjAxLjRMMjEuMiUyMDdIMHYyaDIxLjJsLTUuNiUyMDUuNkwxNyUyMDE2bDgtOC04LTh6JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBvcGFjaXR5OiAwLjQ7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNSUyMDE2JTIyJTNFJTNDcGF0aCUyMGZpbGwlM0QlMjIlMjNjY2MlMjIlMjBmaWxsLXJ1bGUlM0QlMjJldmVub2RkJTIyJTIwZCUzRCUyMk04JTIwMTZsMS40LTEuNEwzLjglMjA5SDI1VjdIMy44bDUuNi01LjZMOCUyMDAlMjAwJTIwOGw4JTIwOHolMjIlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay1wcmV2aW91cy5zbGljay1kaXNhYmxlZDpob3ZlciwgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpob3ZlciB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLXNsaWRlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKi5zbGljay1zbGlkZSAqIHtcblx0ZmxleDogMTAwJTtcbn0qL1xuLmN0LWxhYmVsIHtcbiAgZmlsbDogIzUwNTA1MDtcbiAgY29sb3I6ICM1MDUwNTA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY3QtY2hhcnQtbGluZSAuY3QtbGFiZWwsXG4uY3QtY2hhcnQtYmFyIC5jdC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmN0LWNoYXJ0LXBpZSAuY3QtbGFiZWwsXG4uY3QtY2hhcnQtZG9udXQgLmN0LWxhYmVsIHtcbiAgZG9taW5hbnQtYmFzZWxpbmU6IGNlbnRyYWw7IH1cblxuLmN0LWxhYmVsLmN0LWhvcml6b250YWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbmNob3I6IHN0YXJ0OyB9XG5cbi5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDsgfVxuXG4uY3QtbGFiZWwuY3QtdmVydGljYWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogZmxleC1lbmQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LWFuY2hvcjogZW5kOyB9XG5cbi5jdC1sYWJlbC5jdC12ZXJ0aWNhbC5jdC1lbmQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbmNob3I6IHN0YXJ0OyB9XG5cbi5jdC1jaGFydC1iYXIgLmN0LWxhYmVsLmN0LWhvcml6b250YWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtYW5jaG9yOiBzdGFydDsgfVxuXG4uY3QtY2hhcnQtYmFyIC5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWFuY2hvcjogc3RhcnQ7IH1cblxuLmN0LWNoYXJ0LWJhci5jdC1ob3Jpem9udGFsLWJhcnMgLmN0LWxhYmVsLmN0LWhvcml6b250YWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogZmxleC1lbmQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgLXdlYmtpdC1ib3gtcGFjazogZmxleC1zdGFydDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbmNob3I6IHN0YXJ0OyB9XG5cbi5jdC1jaGFydC1iYXIuY3QtaG9yaXpvbnRhbC1iYXJzIC5jdC1sYWJlbC5jdC1ob3Jpem9udGFsLmN0LWVuZCB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYW5jaG9yOiBzdGFydDsgfVxuXG4uY3QtY2hhcnQtYmFyLmN0LWhvcml6b250YWwtYmFycyAuY3QtbGFiZWwuY3QtdmVydGljYWwuY3Qtc3RhcnQge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGZsZXgtZW5kO1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC1hbmNob3I6IGVuZDsgfVxuXG4uY3QtY2hhcnQtYmFyLmN0LWhvcml6b250YWwtYmFycyAuY3QtbGFiZWwuY3QtdmVydGljYWwuY3QtZW5kIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgLW1zLWZsZXgtcGFjazogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWFuY2hvcjogZW5kOyB9XG5cbi5jdC1ncmlkIHtcbiAgc3Ryb2tlOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2UtZGFzaGFycmF5OiAycHg7IH1cblxuLmN0LWdyaWQtYmFja2dyb3VuZCB7XG4gIGZpbGw6IG5vbmU7IH1cblxuLmN0LXBvaW50IHtcbiAgc3Ryb2tlLXdpZHRoOiAxMHB4O1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7IH1cblxuLmN0LWxpbmUge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDRweDsgfVxuXG4uY3QtYXJlYSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAwLjE7IH1cblxuLmN0LWJhciB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogMTBweDsgfVxuXG4uY3Qtc2xpY2UtZG9udXQge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDYwcHg7IH1cblxuLmN0LXNlcmllcy1hIC5jdC1wb2ludCwgLmN0LXNlcmllcy1hIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWEgLmN0LWJhciwgLmN0LXNlcmllcy1hIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzk2MjlhZDsgfVxuXG4uY3Qtc2VyaWVzLWEgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1hIC5jdC1zbGljZS1kb251dC1zb2xpZCwgLmN0LXNlcmllcy1hIC5jdC1hcmVhIHtcbiAgZmlsbDogIzk2MjlhZDsgfVxuXG4uY3Qtc2VyaWVzLWIgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWIgLmN0LWxpbmUsIC5jdC1zZXJpZXMtYiAuY3QtYmFyLCAuY3Qtc2VyaWVzLWIgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiAjYWI2MmM5OyB9XG5cbi5jdC1zZXJpZXMtYiAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWIgLmN0LXNsaWNlLWRvbnV0LXNvbGlkLCAuY3Qtc2VyaWVzLWIgLmN0LWFyZWEge1xuICBmaWxsOiAjYWI2MmM5OyB9XG5cbi5jdC1zZXJpZXMtYyAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtYyAuY3QtbGluZSwgLmN0LXNlcmllcy1jIC5jdC1iYXIsIC5jdC1zZXJpZXMtYyAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICM3N2M5NjI7IH1cblxuLmN0LXNlcmllcy1jIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtYyAuY3Qtc2xpY2UtZG9udXQtc29saWQsIC5jdC1zZXJpZXMtYyAuY3QtYXJlYSB7XG4gIGZpbGw6ICM3N2M5NjI7IH1cblxuLmN0LXNlcmllcy1kIC5jdC1wb2ludCwgLmN0LXNlcmllcy1kIC5jdC1saW5lLCAuY3Qtc2VyaWVzLWQgLmN0LWJhciwgLmN0LXNlcmllcy1kIC5jdC1zbGljZS1kb251dCB7XG4gIHN0cm9rZTogIzAwNWM1OTsgfVxuXG4uY3Qtc2VyaWVzLWQgLmN0LXNsaWNlLXBpZSwgLmN0LXNlcmllcy1kIC5jdC1zbGljZS1kb251dC1zb2xpZCwgLmN0LXNlcmllcy1kIC5jdC1hcmVhIHtcbiAgZmlsbDogIzAwNWM1OTsgfVxuXG4uY3Qtc2VyaWVzLWUgLmN0LXBvaW50LCAuY3Qtc2VyaWVzLWUgLmN0LWxpbmUsIC5jdC1zZXJpZXMtZSAuY3QtYmFyLCAuY3Qtc2VyaWVzLWUgLmN0LXNsaWNlLWRvbnV0IHtcbiAgc3Ryb2tlOiAjMjA2M2Q2OyB9XG5cbi5jdC1zZXJpZXMtZSAuY3Qtc2xpY2UtcGllLCAuY3Qtc2VyaWVzLWUgLmN0LXNsaWNlLWRvbnV0LXNvbGlkLCAuY3Qtc2VyaWVzLWUgLmN0LWFyZWEge1xuICBmaWxsOiAjMjA2M2Q2OyB9XG5cbi5jdC1zZXJpZXMtZiAuY3QtcG9pbnQsIC5jdC1zZXJpZXMtZiAuY3QtbGluZSwgLmN0LXNlcmllcy1mIC5jdC1iYXIsIC5jdC1zZXJpZXMtZiAuY3Qtc2xpY2UtZG9udXQge1xuICBzdHJva2U6ICMwNDM5YTU7IH1cblxuLmN0LXNlcmllcy1mIC5jdC1zbGljZS1waWUsIC5jdC1zZXJpZXMtZiAuY3Qtc2xpY2UtZG9udXQtc29saWQsIC5jdC1zZXJpZXMtZiAuY3QtYXJlYSB7XG4gIGZpbGw6ICMwNDM5YTU7IH1cblxuLmN0LXNxdWFyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1zcXVhcmU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuICAuY3Qtc3F1YXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1zcXVhcmUgPiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4uY3QtbWlub3Itc2Vjb25kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW1pbm9yLXNlY29uZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA5My43NSU7IH1cbiAgLmN0LW1pbm9yLXNlY29uZDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3QtbWlub3Itc2Vjb25kID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LW1ham9yLXNlY29uZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1tYWpvci1zZWNvbmQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODguODg4ODklOyB9XG4gIC5jdC1tYWpvci1zZWNvbmQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmN0LW1ham9yLXNlY29uZCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1taW5vci10aGlyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1taW5vci10aGlyZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4My4zMzMzMyU7IH1cbiAgLmN0LW1pbm9yLXRoaXJkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1taW5vci10aGlyZCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1tYWpvci10aGlyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1tYWpvci10aGlyZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MCU7IH1cbiAgLmN0LW1ham9yLXRoaXJkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1tYWpvci10aGlyZCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1wZXJmZWN0LWZvdXJ0aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1wZXJmZWN0LWZvdXJ0aDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7IH1cbiAgLmN0LXBlcmZlY3QtZm91cnRoOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1wZXJmZWN0LWZvdXJ0aCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1wZXJmZWN0LWZpZnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LXBlcmZlY3QtZmlmdGg6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2NjclOyB9XG4gIC5jdC1wZXJmZWN0LWZpZnRoOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1wZXJmZWN0LWZpZnRoID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LW1pbm9yLXNpeHRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW1pbm9yLXNpeHRoOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDYyLjUlOyB9XG4gIC5jdC1taW5vci1zaXh0aDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3QtbWlub3Itc2l4dGggPiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4uY3QtZ29sZGVuLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3QtZ29sZGVuLXNlY3Rpb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjEuODA0NyU7IH1cbiAgLmN0LWdvbGRlbi1zZWN0aW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1nb2xkZW4tc2VjdGlvbiA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1tYWpvci1zaXh0aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1tYWpvci1zaXh0aDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MCU7IH1cbiAgLmN0LW1ham9yLXNpeHRoOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1tYWpvci1zaXh0aCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1taW5vci1zZXZlbnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW1pbm9yLXNldmVudGg6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5jdC1taW5vci1zZXZlbnRoOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1taW5vci1zZXZlbnRoID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LW1ham9yLXNldmVudGgge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3QtbWFqb3Itc2V2ZW50aDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1My4zMzMzMyU7IH1cbiAgLmN0LW1ham9yLXNldmVudGg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmN0LW1ham9yLXNldmVudGggPiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4uY3Qtb2N0YXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW9jdGF2ZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IH1cbiAgLmN0LW9jdGF2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3Qtb2N0YXZlID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LW1ham9yLXRlbnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW1ham9yLXRlbnRoOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDQwJTsgfVxuICAuY3QtbWFqb3ItdGVudGg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmN0LW1ham9yLXRlbnRoID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LW1ham9yLWVsZXZlbnRoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LW1ham9yLWVsZXZlbnRoOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDM3LjUlOyB9XG4gIC5jdC1tYWpvci1lbGV2ZW50aDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3QtbWFqb3ItZWxldmVudGggPiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4uY3QtbWFqb3ItdHdlbGZ0aCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jdC1tYWpvci10d2VsZnRoOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzJTsgfVxuICAuY3QtbWFqb3ItdHdlbGZ0aDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY3QtbWFqb3ItdHdlbGZ0aCA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5jdC1kb3VibGUtb2N0YXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmN0LWRvdWJsZS1vY3RhdmU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjUlOyB9XG4gIC5jdC1kb3VibGUtb2N0YXZlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jdC1kb3VibGUtb2N0YXZlID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLmN0LWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1zaGFkb3c6ICNmZmYgLTFweCAtMXB4IDFweCwgI2ZmZiAxcHggMXB4IDFweCwgI2ZmZiAtMXB4IDFweCAxcHgsICNmZmYgMXB4IC0xcHggMXB4OyB9XG5cbi8qIDAgLSA2MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmN0LWxhYmVsIHtcbiAgICBmaWxsOiAjZmZmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1zaGFkb3c6ICMwMDAgLTFweCAtMXB4IDFweCwgIzAwMCAxcHggMXB4IDFweCwgIzAwMCAtMXB4IDFweCAxcHgsICMwMDAgMXB4IC0xcHggMXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi8qIFBSSU5UIENTUyAvIE9WRVJSSURFUyAqL1xuQHBhZ2Uge1xuICBzaXplOiBBNDtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGh0bWwsIGJvZHkge1xuICAgIHdpZHRoOiAyMTBtbTtcbiAgICBoZWlnaHQ6IDI5N21tOyB9XG4gIGh0bWwge1xuICAgIHBhZGRpbmc6IDVtbTsgfVxuICBib2R5ID4gLnJvdy5leHBhbmRlZCwgI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUsIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmdvLXRvLWJ1dHRvbiwgLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAubmF2LWJ1dHRvbnMsIC5wcmludC1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2J1c2luZXNzX3BsYW4gLm91dGVyLXByaW50LWZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGFydGljbGUge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBwdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGgxIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyMnB0O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiBoMyB7XG4gICAgZm9udC1zaXplOiAxMnB0O1xuICAgIG1hcmdpbi1ib3R0b206IDRwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGg0IHtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB0OyB9XG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyIGgzIHtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuY2FsZW5kYXIgPiBsaSB7XG4gICAgbWluLWhlaWdodDogYXV0bzsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhci5sYXJnZS11cC00ID4gLmNvbHVtbiwgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuY2FsZW5kYXIubGFyZ2UtdXAtNCA+IC5jb2x1bW5zLFxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhci5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sXG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyLm1lZGl1bS11cC0zID4gLmNvbHVtbnMsXG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyLnNtYWxsLXVwLTIgPiAuY29sdW1uLFxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhci5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhciB1bC5uZXN0ZWQubWVudSB7XG4gICAgcGFkZGluZy1ib3R0b206IDRwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSB7XG4gICAgcGFkZGluZzogMnB0IDRwdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIHAge1xuICAgIGZvbnQtc2l6ZTogMTBwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIHVsLmtleWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIHVsLmtleWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B0O1xuICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICB3aWR0aDogNDclOyB9XG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gdWwua2V5bGlzdCBsaTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDE2cHQ7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuc2VjdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB0O1xuICAgIGZvbnQtc2l6ZTogMTZwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuc2VjdGlvbl90aXRsZSBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZwdDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5zZWN0aW9uX3RpdGxlIHNwYW4gaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAwIDAgMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uID4gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwIDAgMCAwOyB9XG4gICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB0IDAgMCAxMHB0OyB9XG4gIC8qXG4gICAgICogMUJcbiAgICAgKi9cbiAgI2J1c2luZXNzX3BsYW4gLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgI2J1c2luZXNzX3BsYW4gLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIHNwYW4uc3RhdGljX3Blb3BsZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDRwdDtcbiAgICBtYXJnaW4tbGVmdDogMnB0O1xuICAgIG1hcmdpbi1yaWdodDogMnB0OyB9XG4gICNidXNpbmVzc19wbGFuIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSAucGVyc29uX25hbWUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgI2J1c2luZXNzX3BsYW4gLm5lc3RlZC5tZW51LnBlb3BsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI2J1c2luZXNzX3BsYW4gI2FkZF9hX3BlcnNvbl9vdGhlcnNfcmVzdWx0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZwdCAhaW1wb3J0YW50OyB9XG4gIC8qXG4gICAgICogMkFcbiAgICAgKi9cbiAgI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi1jb250ZW50LmNvbnRlbnQtMmEgcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAvKlxuICAgICAqIDJCXG4gICAgICovXG4gICNidXNpbmVzc19wbGFuICN3ZWVrbHlfdGFiX3BhbmVsLnRhYnMtcGFuZWwsICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYl9wYW5lbC50YWJzLXBhbmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJwdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNidXNpbmVzc19wbGFuICNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYTphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjYnVzaW5lc3NfcGxhbiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRoLCAjYnVzaW5lc3NfcGxhbiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDEwcHQ7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmN0LXNxdWFyZSB7XG4gICAgd2lkdGg6IDI1NnB0OyB9XG4gIC8qXG4gICAgICogMkNcbiAgICAgKi9cbiAgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkuY2F0ZWdvcnkge1xuICAgIHBhZGRpbmctdG9wOiAycHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkuaWRlYSwgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkucHJvZHVjdGlvbiwgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkubWFya2V0aW5nLCAjYnVzaW5lc3NfcGxhbiAudGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5tYW5hZ2VtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lOyB9XG4gICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IHVsLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgdWwgbGkge1xuICAgIHBhZGRpbmctdG9wOiAycHQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJwdDtcbiAgICBmb250LXNpemU6IDEycHQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAvKlxuICAgICAqIDNCXG4gICAgICovXG4gICNidXNpbmVzc19wbGFuIC5hY2NvcmRpb24tY29udGVudC5jb250ZW50LTNiIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICNidXNpbmVzc19wbGFuIC5zZWxlY3RlZF93b3Jkc19saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuc2VsZWN0ZWRfd29yZHNfbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMnB0O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC8qXG4gICAgICogM0NcbiAgICAgKi9cbiAgI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi1jb250ZW50LmNvbnRlbnQtM2Mge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jay5wYWRkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMnB0O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jayBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHQ7IH1cbiAgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jayBoNCwgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jayBwIHtcbiAgICBtYXJnaW4tbGVmdDogMTBwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAua2V5X2Jsb2NrIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXNpemU6IDEycHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLypcbiAgICAgKiA0YVxuICAgICAqL1xuICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYi50YWJzLXBhbmVsLCAjYnVzaW5lc3NfcGxhbiAjbW9udGhseV90YWIudGFicy1wYW5lbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0OCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNidXNpbmVzc19wbGFuICNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDJwdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNidXNpbmVzc19wbGFuICNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNidXNpbmVzc19wbGFuICNhbm51YWxfdGFiIHRhYmxlIHRyIHRkOm50aC1jaGlsZCgxKSwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRkOm50aC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0ciB0ZDpudGgtY2hpbGQoMiksICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZDpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGQgaW5wdXQsICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZCBpbnB1dCB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0ZCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRkIGxhYmVsLFxuICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0aCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRoIGxhYmVsLFxuICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0aCBzcGFuLCAjYnVzaW5lc3NfcGxhbiAjbW9udGhseV90YWIgdGFibGUgdGggc3BhbixcbiAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGQgaW5wdXQsICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZCBpbnB1dCxcbiAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGggLmN1cnJlbmN5X3N5bWJvbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRoIC5jdXJyZW5jeV9zeW1ib2wsXG4gICNidXNpbmVzc19wbGFuICNhbm51YWxfdGFiIHRhYmxlIHRkIC5jdXJyZW5jeV9zeW1ib2wsICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZCAuY3VycmVuY3lfc3ltYm9sIHtcbiAgICBmb250LXNpemU6IDlwdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAjczRfYV9wZXJzb25hbF9zYWxhcnlfZm9ybSB0YWJsZSB0ZCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI3M0X2FfcGVyc29uYWxfc2FsYXJ5X2Zvcm0gdGFibGUgdGQgaW5wdXQsICNidXNpbmVzc19wbGFuICNzNF9hX3BlcnNvbmFsX3NhbGFyeV9mb3JtIHRhYmxlIHRoIGxhYmVsLCAjYnVzaW5lc3NfcGxhbiAjczRfYV9wZXJzb25hbF9zYWxhcnlfZm9ybSB0YWJsZSB0ZCBzcGFuLCAjYnVzaW5lc3NfcGxhbiAjczRfYV9wZXJzb25hbF9zYWxhcnlfZm9ybSB0YWJsZSB0aCBzcGFuIHtcbiAgICBmb250LXNpemU6IDlwdDsgfVxuICAvKlxuICAgICAqIDVhXG4gICAgICovXG4gICNidXNpbmVzc19wbGFuIC5zZWN0aW9uXzUgcCwgI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fNSBoMywgI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fNSBoNCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl81IC5rZXlfYmxvY2sgcCwgI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fNSAua2V5X2Jsb2NrIGgzLCAjYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl81IC5rZXlfYmxvY2sgaDQsICNidXNpbmVzc19wbGFuIC5zZWN0aW9uXzUgLmtleV9ibG9jayB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1iYWRnZSBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAvKlxuICAgICAqIDViXG4gICAgICovXG4gIC8qXG4gICAgICogNWNcbiAgICAgKi9cbiAgI2J1c2luZXNzX3BsYW5fc3VzdGFpbmFiaWxpdHlfbWFwIC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICNidXNpbmVzc19wbGFuICNzdXN0YWluYWJpbGl0eV9tYXBfZ2VuZXJhdGVkX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAjYnVzaW5lc3NfcGxhbiAuem9vbS1jb250cm9scy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zY3JvbGwtc3RyaXAtLWxlZnQsXG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc2Nyb2xsLXN0cmlwLS1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbGVmdDogLTUwMDBweDtcbiAgICAgIHJpZ2h0OiBhdXRvOyB9XG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgdXNlci1zZWxlY3Q6IGF1dG87IH1cbiAgICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IGg0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIHVzZXItc2VsZWN0OiBhdXRvOyB9XG4gICAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCAjc3VzdGFpbmFiaWxpdHlfbWFwX2dlbmVyYXRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgI21hcF9zY3JvbGxfMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB1c2VyLXNlbGVjdDogYXV0bzsgfVxuICAgICAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHQ7IH1cbiAgICAgICAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSBoNSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IG5vbmU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogYXV0bzsgfVxuICAgICAgICAgICNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhdXRvOyB9XG4gICAgICAgICAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB1bCBsaSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiIsIi8qIE5PVEU6IElOSVRJQUwgU0VUVElOR1MgSU1QT1JUIEFORCBMQU5HIERJUkVDVElPTiBBUkUgU0VUIElOIGBhcHAtbHRyYCBhbmQgYGFwcC1ydGxgIHNjc3MgZmlsZXMgdGhhdCBpbXBvcnQgdGhpcyBmaWxlICovXG5cbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbi8vXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5cbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cblxuXG4vLyBSQyBzdHlsZXNcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9mdW5jdGlvbnMnO1xuQGltcG9ydCAnYW9uX2NyYWZ0X3BhZF9tYXJnJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9oZWFkZXJfbmF2JztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9mb290ZXInO1xuQGltcG9ydCAnYW9uX2NyYWZ0X2V4ZXJjaXNlcyc7XG5AaW1wb3J0ICdhb25fY3JhZnRfcmV2ZWFsJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9vcmJpdCc7XG5AaW1wb3J0ICdhb25fY3JhZnRfY3VzdG9tJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9vbmJvYXJkaW5nJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9ob21lcGFnZSc7XG5AaW1wb3J0ICdhb25fY3JhZnRfc2VjdGlvbl8xJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9zZWN0aW9uXzInO1xuQGltcG9ydCAnYW9uX2NyYWZ0X3NlY3Rpb25fMyc7XG5AaW1wb3J0ICdhb25fY3JhZnRfc2VjdGlvbl80JztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF9zZWN0aW9uXzUnO1xuQGltcG9ydCAnYW9uX2NyYWZ0X3Byb2dyZXNzX2NpcmNsZXMnO1xuQGltcG9ydCAnYW9uX2NyYWZ0X2NhbGVuZGFyJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF90YXNrcyc7XG5AaW1wb3J0ICdhb25fY3JhZnRfc2VjdGlvbl81X2xpc3RzJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF90b2Rvcyc7XG5AaW1wb3J0ICdhb25fY3JhZnRfcHJvZHVjdHMnO1xuQGltcG9ydCAnYW9uX2NyYWZ0X2xhbmd1YWdlX3NlbGVjdG9yJztcbkBpbXBvcnQgJ2Fvbl9jcmFmdF90cmlhbmdsZXNfY2lyY2xlcyc7XG5AaW1wb3J0ICdhb25fY3JhZnRfbG96ZW5nZXMnO1xuQGltcG9ydCAnYW9uX2NyYWZ0X3Byb2R1Y3RfcmFuZG9taXNlcic7XG5AaW1wb3J0ICdhb25fY3JhZnRfY3VzdG9tZXJfY3JlYXRvcic7XG5AaW1wb3J0ICdzbGljayc7XG5AaW1wb3J0ICdjaGFydGlzdC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdjaGFydGlzdCc7XG5AaW1wb3J0ICdhb25fY3JhZnRfcHJpbnQnOyIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjRcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtc2l6ZTogbnVsbDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMDYzRDYsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogIzY2NjtcbiRib2R5LWZvbnQtZmFtaWx5OiAnU291cmNlIFNhbnMgUHJvJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuLy8kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBydGw7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNzQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMztcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MiksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNjApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjcpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjQ7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMS4yNWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRibGFjaztcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDNweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogdHJ1ZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDEwMCU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMCk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtIDJyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICNlNGU4ZjI7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgI2NhY2FjYTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogODAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IG5vbmU7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC44MCk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6IG5vbmU7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtcGItdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgKiAwLjUgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kdW5pdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiBkaXZpZGUoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAaWYgJHVuaXQtd2FybmluZ3Mge1xuICAgICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIH1cbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiBkaXZpZGUoJHZhbHVlLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCBkaXZpZGUoJGV4cG9uZW50LCAkZGVub21pbmF0b3IpKSwgZGl2aWRlKCRwcmVjMiwgJGRlbm9taW5hdG9yKSwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsICRiYXNlKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IGRpdmlkZSgxLCAkbikgKiAoKCRuIC0gMSkgKiAkeCArIGRpdmlkZSgkbnVtLCBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuIGRpdmlkZSgkaCwgJHcpICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKGRpdmlkZSgkcGFyc2VkLW5vbWluYXRvciwgJHBhcnNlZC1kZW5vbWluYXRvcikpO1xufVxuXG4vLy8gRGl2aWRlIHRoZSBnaXZlbiBgJGRpdmlkZW50YCBieSB0aGUgZ2l2ZW4gYCRkaXZpc29yYC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aWRlbnQgLSBUaGUgZGl2aWRlbnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkaXZpc29yIC0gVGhlIGRpdmlzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwcmVjaXNpb24gLSBUaGUgcHJlY2lzaW9uIGRlY2ltYWxzIGZvciB0aGUgZGl2aXNpb24uXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBkaXZpc2lvbi5cbkBmdW5jdGlvbiBkaXZpZGUoJGRpdmlkZW5kLCAkZGl2aXNvciwgJHByZWNpc2lvbjogMTIpIHtcbiAgJHNpZ246IGlmKCRkaXZpZGVuZCA+IDAgYW5kICRkaXZpc29yID4gMCBvciAkZGl2aWRlbmQgPCAwIGFuZCAkZGl2aXNvciA8IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gIEBpZiAkZGl2aWRlbmQgPT0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEBpZiAkZGl2aXNvciA9PSAwIHtcbiAgICBAZXJyb3IgJ0Nhbm5vdCBkaXZpZGUgYnkgMCc7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIDAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdyZW0nOiAxcmVtLFxuICAgICdlbSc6IDFlbSxcbiAgICAnJSc6IDElXG4gICk7XG4gIEBpZiAoJGRpdmlkZW5kLXVuaXQgIT0gJGRpdmlzb3ItdW5pdCBhbmQgbWFwLWhhcy1rZXkoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCkpIHtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogbWFwLWdldCgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKGRpdmlkZSgkcG9zaXRpb24sICRncmlkLWNvbHVtbi1jb3VudCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJWNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgfVxuXG4gICVjb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2xpZGVyJ3MgdHJhY2suXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBhY3RpdmUgZmlsbCBjb2xvciBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBoYW5kbGUgZm9yIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIGFtb3VudCBvZiBhIGRpc2FibGVkIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJhbmdlLWlucHV0IHtcbiAgaW5wdXRbdHlwZT0ncmFuZ2UnXSB7ICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAkbWFyZ2luOiAoJHNsaWRlci1oYW5kbGUtaGVpZ2h0IC0gJHNsaWRlci1oZWlnaHQpICogMC41O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZShkaXZpZGUoMSwgJGkpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuXG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBncmFiO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuICdDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fSc7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gMC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIDAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyayBNb2RlIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElFMTArIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLnNob3ctZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3RpY2t5IFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIHBhdXNlLXF1ZXVlLWNsYXNzOiAnaXMtcGF1c2VkJyxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvKiBcbiAqIEZVTkNUSU9OU1xuICogVmFyaW91cyBmdW5jdGlvbnMgZm9yIHJlbmRlcmluZyBTVkcgaWNvbnMgLyBhcnJvd3MgZXRjLiBVc2luZyB0aGVzZSBhbGxvd3MgZmlsbCBjb2xvdXJzIFxuICogYW5kIGluIHNvbWUgY2FzZXMgZGlyZWN0aW9uIG9mIGFycm93cyB0byBiZSBzcGVjaWZpZWQgYW5kIHRoZSByZWxldmFudCBTVkcgbWFya3VwIG91dHB1dFxuICogdXJsZW5jb2RlZCBTVkdzIGluIHRoZSBDU1MgZmlsZS5cbiAqL1xuXG4vLyBmdW5jdGlvbnMgdG8gdXJsZW5jb2RlIHRoZSBzdmcgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoICRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJyApIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoICRzdHJpbmcsICRzZWFyY2ggKTtcbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoICRzdHJpbmcsIDEsICRpbmRleCAtIDEgKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2UoIHN0ci1zbGljZSggJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCggJHNlYXJjaCApICksICRzZWFyY2gsICRyZXBsYWNlICk7XG4gIH1cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AZnVuY3Rpb24gdXJsLWVuY29kZSggJHN0cmluZyApIHtcbiAgJG1hcDogKFxuICAgXCIlXCI6IFwiJTI1XCIsXG4gICBcIjxcIjogXCIlM0NcIixcbiAgIFwiPlwiOiBcIiUzRVwiLFxuICAgXCIgXCI6IFwiJTIwXCIsXG4gICBcIiFcIjogXCIlMjFcIixcbiAgIFwiKlwiOiBcIiUyQVwiLFxuICAgXCInXCI6IFwiJTI3XCIsXG4gICAnXCInOiBcIiUyMlwiLFxuICAgXCIoXCI6IFwiJTI4XCIsXG4gICBcIilcIjogXCIlMjlcIixcbiAgIFwiO1wiOiBcIiUzQlwiLFxuICAgXCI6XCI6IFwiJTNBXCIsXG4gICBcIkBcIjogXCIlNDBcIixcbiAgIFwiJlwiOiBcIiUyNlwiLFxuICAgXCI9XCI6IFwiJTNEXCIsXG4gICBcIitcIjogXCIlMkJcIixcbiAgIFwiJFwiOiBcIiUyNFwiLFxuICAgXCIsXCI6IFwiJTJDXCIsXG4gICBcIi9cIjogXCIlMkZcIixcbiAgIFwiP1wiOiBcIiUzRlwiLFxuICAgXCIjXCI6IFwiJTIzXCIsXG4gICBcIltcIjogXCIlNUJcIixcbiAgIFwiXVwiOiBcIiU1RFwiXG4gICApO1xuICAkbmV3OiAkc3RyaW5nO1xuICBAZWFjaCAkc2VhcmNoLCAkcmVwbGFjZSBpbiAkbWFwIHtcbiAgICAkbmV3OiBzdHItcmVwbGFjZSggJG5ldywgJHNlYXJjaCwgJHJlcGxhY2UgKTtcbiAgfVxuICBAcmV0dXJuICRuZXc7XG59XG5cbi8vIENhcmV0IEFycm93XG5AZnVuY3Rpb24gc3ZnQ2FyZXRBcnJvdyggJGl0ZW1jb2xvdXIsJGRpcmVjdGlvbiApIHtcbiAgICAkZGlyZWN0aW9uczogKFxuICAgICAgICBsZWZ0Oic4LjUxIDExLjM3IDMuNDUgNS45OCA4LjUxIDAuNTknLFxuICAgICAgICByaWdodDonMy40NSAwLjU5IDguNTEgNS45OCAzLjQ1IDExLjM3JyxcbiAgICAgICAgdXA6JzAuNTkgOC41MSA1Ljk4IDMuNDUgMTEuMzcgOC41MScsXG4gICAgICAgIGRvd246JzExLjM3IDMuNDUgNS45OCA4LjUxIDAuNTkgMy40NSdcbiAgICApO1xuICAgIEByZXR1cm4gdXJsKCAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwnICsgdXJsLWVuY29kZSggJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTEuOTYgMTEuOTZcIj48cG9seWxpbmUgcG9pbnRzPVwiJyArIG1hcC1nZXQoICRkaXJlY3Rpb25zLCAkZGlyZWN0aW9uICkgKyAnXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCInICsgJGl0ZW1jb2xvdXIgKyAnXCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS13aWR0aD1cIjIuNVwiLz48L3N2Zz4nICkgKTtcbn1cblxuLy8gQXJyb3dcbkBmdW5jdGlvbiBzdmdBcnJvdyggJGl0ZW1jb2xvdXIsJGRpcmVjdGlvbiApIHtcbiAgICAkZGlyZWN0aW9uczogKFxuICAgICAgICBsZWZ0OidNOCAxNmwxLjQtMS40TDMuOCA5SDI1VjdIMy44bDUuNi01LjZMOCAwIDAgOGw4IDh6JyxcbiAgICAgICAgcmlnaHQ6J00xNyAwbC0xLjQgMS40TDIxLjIgN0gwdjJoMjEuMmwtNS42IDUuNkwxNyAxNmw4LTgtOC04eicsXG4gICAgKTtcbiAgICBAcmV0dXJuIHVybCggJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJyArIHVybC1lbmNvZGUoICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI1IDE2XCI+PHBhdGggZmlsbD1cIicgKyAkaXRlbWNvbG91ciArICdcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIicgKyBtYXAtZ2V0KCAkZGlyZWN0aW9ucywgJGRpcmVjdGlvbiApICsgJ1wiLz48L3N2Zz4nICkgKTtcbn1cblxuLy8gRGlhZ29uYWwgQXJyb3dcbkBmdW5jdGlvbiBzdmdEaWFnb25hbEFycm93KCAkaXRlbWNvbG91ciwkZGlyZWN0aW9uICkge1xuICAgICRkaXJlY3Rpb25zOiAoXG4gICAgICAgIGxlZnRkb3duOidNMTEuMzEsMTguMzh2LTJIMy4zOWwxNS0xNUwxNywwLDIsMTVWNy4wN0gwVjE4LjM4WicsXG4gICAgICAgIHJpZ2h0ZG93bjonTTE4LjM4LDcuMDdoLTJWMTVMMS40MSwwLDAsMS40MWwxNSwxNUg3LjA3djJIMTguMzhaJyxcbiAgICAgICAgcmlnaHR1cDonTTcuMDcsMFYySDE1TDAsMTdsMS40MSwxLjQxLDE1LTE1djcuOTJoMlYwWicsXG4gICAgICAgIGxlZnR1cDonTTAsMTEuMzFIMlYzLjM5bDE1LDE1TDE4LjM4LDE3LDMuMzksMmg3LjkyVjBIMFonLFxuICAgICk7XG4gICAgQHJldHVybiB1cmwoICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCcgKyB1cmwtZW5jb2RlKCAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxOC4zOCAxOC4zOFwiPjxwYXRoIGZpbGw9XCInICsgJGl0ZW1jb2xvdXIgKyAnXCIgZD1cIicgKyBtYXAtZ2V0KCAkZGlyZWN0aW9ucywgJGRpcmVjdGlvbiApICsgJ1wiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+JyApICk7XG59XG5cbi8vIFRpY2tcbkBmdW5jdGlvbiBzdmdUaWNrKCAkaXRlbWNvbG91ciApIHtcbiAgICBAcmV0dXJuIHVybCggJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJyArIHVybC1lbmNvZGUoICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEzLjQ0IDExLjIzXCI+PHBvbHlnb24gcG9pbnRzPVwiNC4yOCA3LjA5IDIuMDcgNC44OSAwIDYuOTYgNC4yOCAxMS4yMyAxMy40NCAyLjA3IDExLjM3IDAgNC4yOCA3LjA5XCIgZmlsbD1cIicgKyAkaXRlbWNvbG91ciArICdcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIvPjwvc3ZnPicgKSApO1xufVxuXG4vLyBMZWZ0IC8gUmlnaHQgQ2FyZXRcbkBmdW5jdGlvbiBzdmdMZWZ0UmlnaHRDYXJldCggJGl0ZW1jb2xvdXIgKSB7XG4gICAgQHJldHVybiB1cmwoICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCcgKyB1cmwtZW5jb2RlKCAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMi40IDEyXCI+PHBhdGggZmlsbD1cIicgKyAkaXRlbWNvbG91ciArICdcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xNSAxMC42bDEuNCAxLjQgNi02LTYtNkwxNSAxLjQgMTkuNiA2ek03LjQgMS40TDYgMCAwIDZsNiA2IDEuNC0xLjRMMi44IDZ6XCIvPjwvc3ZnPicgKSApO1xufVxuXG4vLyBUcmlhbmdsZSBCR1xuQGZ1bmN0aW9uIHN2Z1RyaWFuZ2xlQkcoICRpdGVtY29sb3VyICkge1xuICAgIEByZXR1cm4gdXJsKCAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwnICsgdXJsLWVuY29kZSggJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzYuMjggMzUuMjhcIj48cGF0aCBmaWxsPVwiJyArICRpdGVtY29sb3VyICsgJ1wiIGQ9XCJNMzYuMjggMzUuMjhMMCAwaDM2LjI4djM1LjI4elwiLz48L3N2Zz4nICkgKTtcbn1cbi8vIFRyaWFuZ2xlIEJHIC0gUlRMXG5AZnVuY3Rpb24gc3ZnVHJpYW5nbGVCR1JUTCggJGl0ZW1jb2xvdXIgKSB7XG4gICAgQHJldHVybiB1cmwoICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCcgKyB1cmwtZW5jb2RlKCAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzNi4zIDM1LjNcIj48cGF0aCBmaWxsPVwiJyArICRpdGVtY29sb3VyICsgJ1wiIGQ9XCJNMzUuOC0wLjVMMC41LDM1LjhWLTAuNUgzNS44elwiLz48L3N2Zz4nICkgKTtcbn1cblxuLy8gUGVuY2lsIEljb25cbkBmdW5jdGlvbiBzdmdQZW5jaWxJY29uKCAkaXRlbWNvbG91ciApIHtcbiAgICBAcmV0dXJuIHVybCggJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJyArIHVybC1lbmNvZGUoICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEzLjM2IDE5LjExXCI+PHJlY3QgeD1cIi0uNjdcIiB5PVwiNy40OFwiIHdpZHRoPVwiMTMuNTlcIiBoZWlnaHQ9XCI0LjQ4XCIgcng9XCIuNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNTcuNTcgNi4xMyA5LjcxOClcIiBmaWxsPVwiJyArICRpdGVtY29sb3VyICsgJ1wiLz48cmVjdCB4PVwiOS43NVwiIHk9XCItLjE4XCIgd2lkdGg9XCIyLjQ4XCIgaGVpZ2h0PVwiNC40OFwiIHJ4PVwiLjVcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTU3LjMgMTEuMDU0IDIuMDUzKVwiIGZpbGw9XCInICsgJGl0ZW1jb2xvdXIgKyAnXCIvPjxwYXRoIGQ9XCJNMCAxOC42bC42NC00LjQxYS40MS40MSAwIDAxLjY0LS4yNWwzLjA5IDJhLjQuNCAwIDAxLjA2LjY4TC43IDE5YS40Ni40NiAwIDAxLS43LS40elwiIGZpbGw9XCInICsgJGl0ZW1jb2xvdXIgKyAnXCIvPjwvc3ZnPicgKSApO1xufVxuXG4vLyBRdWVzdGlvbiBNYXJrICh1c2UgaW4gNUEpXG5AZnVuY3Rpb24gc3ZnUXVlc3Rpb25NYXJrKCAkaXRlbWNvbG91ciApIHtcbiAgICBAcmV0dXJuIHVybCggJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJyArIHVybC1lbmNvZGUoICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDgwLjU1IDEwOFwiPjxwYXRoIGQ9XCJNNTYuMSwzMS42NWMwLTcuMzUtNi40NS0xMi0xNi4yLTEyLTkuNiwwLTE2Ljk1LDQuMi0yMS43NSwxMS4xTDAsMjAuMUM4LjEsNy44LDIyLjIsMCw0Mi40NSwwLDY1LDAsODAuNTUsMTAuMDUsODAuNTUsMjcuNzVjMCwyNC0yNS4yLDI2LjctMjUuMiw0Mi42SDMyLjdDMzIuNyw0OS4zNSw1Ni4xLDQ0LjcsNTYuMSwzMS42NVpNMjkuNyw5NC4zNUMyOS43LDg2LjcsMzUuNyw4MSw0NC4xLDgxczE0LjQsNS43LDE0LjQsMTMuMzVTNTIuNSwxMDgsNDQuMSwxMDgsMjkuNywxMDEuODUsMjkuNyw5NC4zNVpcIiBmaWxsPVwiJyArICRpdGVtY29sb3VyICsgJ1wiLz48L3N2Zz4nICkgKTtcbn1cbiIsIi8qXG4gKiBNQVJHSU4gLyBQQURESU5HIENMQVNTRVMgXG4gKiBUaGVzZSBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCBmb3IgYWRkaW5nIG9yIHJlbW92aW5nIHBhZGRpbmcgb3IgbWFyZ2luc1xuICogb24gZWxlbWVudHMgaW4gYSB3YXkgdG8gYWxsb3cgZmxleGlibGUgdmFyaWF0aW9ucyBiZXR3ZWVuIGJyZWFrcG9pbnRzXG4gKi9cbi51bnBhZGRlZCAuY29sdW1ucyB7IHBhZGRpbmctbGVmdDowOyBwYWRkaW5nLXJpZ2h0OjA7IH1cbi51bnBhZGRlZC5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OjA7IHBhZGRpbmctcmlnaHQ6MDsgfVxuLnVucGFkZGVkX2NvbHVtbiwgLnVucGFkZGVkLWNvbHVtbiB7IHBhZGRpbmctbGVmdDowOyBwYWRkaW5nLXJpZ2h0OjA7IH1cblxuLnVucGFkZGVkX2NvbHVtbl9sZWZ0LCAudW5wYWRkZWQtY29sdW1uLWxlZnQgeyBwYWRkaW5nLWxlZnQ6MDsgfVxuLnVucGFkZGVkX2NvbHVtbl9yaWdodCwgLnVucGFkZGVkLWNvbHVtbi1yaWdodCB7IHBhZGRpbmctcmlnaHQ6MDsgfVxuXG4uc21hbGwtcGFkZGluZy1sZWZ0IHsgcGFkZGluZy1sZWZ0OjE1cHg7IH1cbi5zbWFsbC1wYWRkaW5nLXJpZ2h0IHsgcGFkZGluZy1yaWdodDoxNXB4OyB9XG5cbi8vIFJUTCBPdmVycmlkZXNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnVucGFkZGVkX2NvbHVtbl9sZWZ0LCAudW5wYWRkZWQtY29sdW1uLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IGluaGVyaXQ7IHBhZGRpbmctcmlnaHQ6MDsgfVxuICAgIC51bnBhZGRlZF9jb2x1bW5fcmlnaHQsIC51bnBhZGRlZC1jb2x1bW4tcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiBpbmhlcml0OyBwYWRkaW5nLWxlZnQ6MDsgfVxuICAgIFxuICAgIC5zbWFsbC1wYWRkaW5nLWxlZnQgeyBwYWRkaW5nLXJpZ2h0OjE1cHg7IHBhZGRpbmctbGVmdDogaW5oZXJpdDsgfVxuICAgIC5zbWFsbC1wYWRkaW5nLXJpZ2h0IHsgcGFkZGluZy1sZWZ0OjE1cHg7IHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7IH1cbn1cblxuLm5vLXRvcC1wYWRkaW5nLCAudG9wLXBhZGRpbmctemVybyB7IHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDsgfVxuLm5vLWJvdHRvbS1wYWRkaW5nLCAuYm90dG9tLXBhZGRpbmctemVybyB7IHBhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDsgfVxuLm5vLXRvcC1tYXJnaW4sIC50b3AtbWFyZ2luLXplcm8geyBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDsgfVxuLm5vLWJvdHRvbS1tYXJnaW4sIC5ib3R0b20tbWFyZ2luLXplcm8geyBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDsgfVxuLm5vLWxlZnQtcGFkZGluZywgLmxlZnQtcGFkZGluZy16ZXJvIHsgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgfVxuLm5vLXJpZ2h0LXBhZGRpbmcsIC5yaWdodC1wYWRkaW5nLXplcm8geyBwYWRkaW5nLXJpZ2h0OjAgIWltcG9ydGFudDsgfVxuLm5vLWxlZnQtbWFyZ2luLCAubGVmdC1tYXJnaW4temVybyB7IG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDsgfVxuLm5vLXJpZ2h0LW1hcmdpbiwgLnJpZ2h0LW1hcmdpbi16ZXJvIHsgbWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDsgfVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5uby1sZWZ0LXBhZGRpbmcsIC5sZWZ0LXBhZGRpbmctemVybyB7IHBhZGRpbmctbGVmdDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyB9XG4gICAgLm5vLXJpZ2h0LXBhZGRpbmcsIC5yaWdodC1wYWRkaW5nLXplcm8geyBwYWRkaW5nLXJpZ2h0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgfVxuICAgIC5uby1sZWZ0LW1hcmdpbiwgLmxlZnQtbWFyZ2luLXplcm8geyBtYXJnaW4tbGVmdDppbmhlcml0ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAubm8tcmlnaHQtbWFyZ2luLCAucmlnaHQtbWFyZ2luLXplcm8geyBtYXJnaW4tcmlnaHQ6aW5oZXJpdCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7IH1cbn1cblxuLyogTkVHQVRJVkUgTUFSR0lOUyAqL1xuLyogMTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtbmVnYXRpdmUtbWFyZ2luLW9uZSB7IG1hcmdpbi10b3A6LTE2cHggIWltcG9ydGFudDsgfVxuLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lIHsgbWFyZ2luLWJvdHRvbTotMTZweCAhaW1wb3J0YW50OyB9XG5cbi8qIDMycHggUGFkZGluZyBvcHRpb25zICovXG4udG9wLW5lZ2F0aXZlLW1hcmdpbi10d28geyBtYXJnaW4tdG9wOi0zMnB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXR3byB7IG1hcmdpbi1ib3R0b206LTMycHggIWltcG9ydGFudDsgfVxuXG4vKiA0OHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1uZWdhdGl2ZS1tYXJnaW4tdGhyZWUgeyBtYXJnaW4tdG9wOi00OHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXRocmVlIHsgbWFyZ2luLWJvdHRvbTotNDhweCAhaW1wb3J0YW50OyB9XG5cbi5sYXJnZS1vZmZzZXQtMDUge1xuXHRtYXJnaW4tbGVmdDogNC4xNTU1NSU7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5sYXJnZS1vZmZzZXQtMDUge1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0LjE1NTU1JTtcbiAgICB9XG59XG5cbi8qIFBPU0lUSVZFICovXG4vKiA4cHggUGFkZGluZyBvcHRpb25zICovXG4udG9wLXBhZGRpbmctaGFsZiB7IHBhZGRpbmctdG9wOjhweCAhaW1wb3J0YW50OyB9XG4uYm90dG9tLXBhZGRpbmctaGFsZiB7IHBhZGRpbmctYm90dG9tOjhweCAhaW1wb3J0YW50OyB9XG4udG9wLW1hcmdpbi1oYWxmIHsgbWFyZ2luLXRvcDo4cHggIWltcG9ydGFudDsgfVxuLmJvdHRvbS1tYXJnaW4taGFsZiB7IG1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogMTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtcGFkZGluZy1vbmUgeyBwYWRkaW5nLXRvcDoxNnB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy1vbmUgeyBwYWRkaW5nLWJvdHRvbToxNnB4ICFpbXBvcnRhbnQ7IH1cbi50b3AtbWFyZ2luLW9uZSB7IG1hcmdpbi10b3A6MTZweCAhaW1wb3J0YW50OyB9XG4uYm90dG9tLW1hcmdpbi1vbmUgeyBtYXJnaW4tYm90dG9tOjE2cHggIWltcG9ydGFudDsgfVxuXG4vKiAzMnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLXR3byB7IHBhZGRpbmctdG9wOjMycHggIWltcG9ydGFudDsgfVxuLmJvdHRvbS1wYWRkaW5nLXR3byB7IHBhZGRpbmctYm90dG9tOjMycHggIWltcG9ydGFudDsgfVxuLnRvcC1tYXJnaW4tdHdvIHsgbWFyZ2luLXRvcDozMnB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbWFyZ2luLXR3byB7IG1hcmdpbi1ib3R0b206MzJweCAhaW1wb3J0YW50OyB9XG5cbi8qIDQ4cHggUGFkZGluZyBvcHRpb25zICovXG4udG9wLXBhZGRpbmctdGhyZWUgeyBwYWRkaW5nLXRvcDo0OHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy10aHJlZSB7IHBhZGRpbmctYm90dG9tOjQ4cHggIWltcG9ydGFudDsgfVxuLnRvcC1tYXJnaW4tdGhyZWUgeyBtYXJnaW4tdG9wOjQ4cHggIWltcG9ydGFudDsgfVxuLmJvdHRvbS1tYXJnaW4tdGhyZWUgeyBtYXJnaW4tYm90dG9tOjQ4cHggIWltcG9ydGFudDsgfVxuXG4vKiA2NHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLWZvdXIgeyBwYWRkaW5nLXRvcDo2NHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy1mb3VyIHsgcGFkZGluZy1ib3R0b206NjRweCAhaW1wb3J0YW50OyB9XG4udG9wLW1hcmdpbi1mb3VyIHsgbWFyZ2luLXRvcDo2NHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbWFyZ2luLWZvdXIgeyBtYXJnaW4tYm90dG9tOjY0cHggIWltcG9ydGFudDsgfVxuXG4vKiA4MHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLWZpdmUgeyBwYWRkaW5nLXRvcDo4MHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy1maXZlIHsgcGFkZGluZy1ib3R0b206ODBweCAhaW1wb3J0YW50OyB9XG4udG9wLW1hcmdpbi1maXZlIHsgbWFyZ2luLXRvcDo4MHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbWFyZ2luLWZpdmUgeyBtYXJnaW4tYm90dG9tOjgwcHggIWltcG9ydGFudDsgfVxuXG4vKiA5NnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuLnRvcC1wYWRkaW5nLXNpeCB7IHBhZGRpbmctdG9wOjk2cHggIWltcG9ydGFudDsgfVxuLmJvdHRvbS1wYWRkaW5nLXNpeCB7IHBhZGRpbmctYm90dG9tOjk2cHggIWltcG9ydGFudDsgfVxuLnRvcC1tYXJnaW4tc2l4IHsgbWFyZ2luLXRvcDo5NnB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tbWFyZ2luLXNpeCB7IG1hcmdpbi1ib3R0b206OTZweCAhaW1wb3J0YW50OyB9XG5cbi8qIDExMnB4ICBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtcGFkZGluZy1zZXZlbiB7IHBhZGRpbmctdG9wOjExMnB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy1zZXZlbiB7IHBhZGRpbmctYm90dG9tOjExMnB4ICFpbXBvcnRhbnQ7IH1cbi50b3AtbWFyZ2luLXNldmVuIHsgbWFyZ2luLXRvcDoxMTJweCAhaW1wb3J0YW50OyB9XG4uYm90dG9tLW1hcmdpbi1zZXZlbiB7IG1hcmdpbi1ib3R0b206MTEycHggIWltcG9ydGFudDsgfVxuXG4vKiAxMjhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbi50b3AtcGFkZGluZy1laWdodCB7IHBhZGRpbmctdG9wOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbi5ib3R0b20tcGFkZGluZy1laWdodCB7IHBhZGRpbmctYm90dG9tOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbi50b3AtbWFyZ2luLWVpZ2h0IHsgbWFyZ2luLXRvcDoxMjhweCAhaW1wb3J0YW50OyB9XG4uYm90dG9tLW1hcmdpbi1laWdodCB7IG1hcmdpbi1ib3R0b206MTI4cHggIWltcG9ydGFudDsgfVxuXG5cbi8qIDE2cHggTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuLmxlZnQtcGFkZGluZy1vbmUgeyBwYWRkaW5nLWxlZnQ6MTZweCAhaW1wb3J0YW50OyB9XG4ucmlnaHQtcGFkZGluZy1vbmUgeyBwYWRkaW5nLXJpZ2h0OjE2cHggIWltcG9ydGFudDsgfVxuXG4vKiAzMnB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbi5sZWZ0LXBhZGRpbmctdHdvIHsgcGFkZGluZy1sZWZ0OjMycHggIWltcG9ydGFudDsgfVxuLnJpZ2h0LXBhZGRpbmctdHdvIHsgcGFkZGluZy1yaWdodDozMnB4ICFpbXBvcnRhbnQ7IH1cblxuLyogNDhweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4ubGVmdC1wYWRkaW5nLXRocmVlIHsgcGFkZGluZy1sZWZ0OjQ4cHggIWltcG9ydGFudDsgfVxuLnJpZ2h0LXBhZGRpbmctdGhyZWUgeyBwYWRkaW5nLXJpZ2h0OjQ4cHggIWltcG9ydGFudDsgfVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC8qIDE2cHggTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC5sZWZ0LXBhZGRpbmctb25lIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDoxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQtcGFkZGluZy1vbmUgeyBwYWRkaW5nLXJpZ2h0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjE2cHggIWltcG9ydGFudDsgfVxuXG4gICAgLyogMzJweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gICAgLmxlZnQtcGFkZGluZy10d28geyBwYWRkaW5nLWxlZnQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OjMycHggIWltcG9ydGFudDsgfVxuICAgIC5yaWdodC1wYWRkaW5nLXR3byB7IHBhZGRpbmctcmlnaHQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6MzJweCAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiA0OHB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAubGVmdC1wYWRkaW5nLXRocmVlIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDo0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQtcGFkZGluZy10aHJlZSB7IHBhZGRpbmctcmlnaHQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6NDhweCAhaW1wb3J0YW50OyB9XG59XG5cbi5hbHQtcGFkZGluZyAuY29sdW1uOm50aC1jaGlsZChvZGQpIHsgcGFkZGluZy1sZWZ0OjA7IH1cbi5hbHQtcGFkZGluZyAuY29sdW1uOm50aC1jaGlsZChldmVuKSB7IHBhZGRpbmctcmlnaHQ6MDsgfVxuLnNtYWxsLWlubmVyLXBhZGRpbmcgLmNvbHVtbjpudGgtY2hpbGQob2RkKSB7IHBhZGRpbmctbGVmdDowOyBwYWRkaW5nLXJpZ2h0OjIwcHg7IH1cbi5zbWFsbC1pbm5lci1wYWRkaW5nIC5jb2x1bW46bnRoLWNoaWxkKGV2ZW4pIHsgcGFkZGluZy1yaWdodDowOyBwYWRkaW5nLWxlZnQ6MjBweDt9XG4uYWx0LWxlZnQtcGFkZGluZyAuY29sdW1uIHsgcGFkZGluZy1sZWZ0OjA7IH1cbi5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUsIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6MzBweDsgfVxuLnBhZGRpbmctbGVmdC1yZXN0b3JlLCAucGFkZGluZy1sZWZ0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctbGVmdDozMHB4OyB9XG5cbi8vIFJUTCBPdmVycmlkZXNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLmFsdC1wYWRkaW5nIC5jb2x1bW46bnRoLWNoaWxkKG9kZCkgeyBwYWRkaW5nLWxlZnQ6YXV0bzsgcGFkZGluZy1yaWdodDowOyB9XG4gICAgLmFsdC1wYWRkaW5nIC5jb2x1bW46bnRoLWNoaWxkKGV2ZW4pIHsgcGFkZGluZy1yaWdodDphdXRvOyBwYWRkaW5nLWxlZnQ6MDsgfVxuICAgIC5zbWFsbC1pbm5lci1wYWRkaW5nIC5jb2x1bW46bnRoLWNoaWxkKG9kZCkgeyBwYWRkaW5nLWxlZnQ6MjBweDsgcGFkZGluZy1yaWdodDowOyB9XG4gICAgLnNtYWxsLWlubmVyLXBhZGRpbmcgLmNvbHVtbjpudGgtY2hpbGQoZXZlbikgeyBwYWRkaW5nLXJpZ2h0OjIwcHg7IHBhZGRpbmctbGVmdDowO31cbiAgICAuYWx0LWxlZnQtcGFkZGluZyAuY29sdW1uIHsgcGFkZGluZy1sZWZ0OmF1dG87IHBhZGRpbmctcmlnaHQ6MDsgfVxuICAgIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUsIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6YXV0bzsgcGFkZGluZy1sZWZ0OjMwcHg7IH1cbiAgICAucGFkZGluZy1sZWZ0LXJlc3RvcmUsIC5wYWRkaW5nLWxlZnQtcmVzdG9yZS5jb2x1bW5zIHsgcGFkZGluZy1sZWZ0OmF1dG87IHBhZGRpbmctcmlnaHQ6MzBweDsgfVxufVxuXG4vLyBUSEVTRSBPVkVSUklERVMgQVJFIEZPUiBDT1JFIEZPVU5EQVRJT04gU1RZTEVTXG4vLyBSVEwgT3ZlcnJpZGVzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5hbGlnbi1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG5cbi8qIDEyODBweCAtIGxhcmdlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODBlbSkge1xuICAgIC51bnBhZGRlZC1jb2x1bW4tbGFyZ2UgeyBwYWRkaW5nLWxlZnQ6MDsgcGFkZGluZy1yaWdodDowOyB9XG59XG5cbi8qIDEwMjNweCAtIG1lZCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYzLjkzOGVtKSB7XG4gICAgLnVucGFkZGVkLWNvbHVtbi1tZWRpdW0geyBwYWRkaW5nLWxlZnQ6MDsgcGFkZGluZy1yaWdodDowOyB9XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkgeyAgICAgICAgXG4gICAgLnBhZGRpbmctcmlnaHQtcmVzdG9yZSwgLnBhZGRpbmctcmlnaHQtcmVzdG9yZS5jb2x1bW5zIHsgcGFkZGluZy1yaWdodDoxNXB4OyB9XG4gICAgLnBhZGRpbmctbGVmdC1yZXN0b3JlLCAucGFkZGluZy1sZWZ0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctbGVmdDoxNXB4OyB9XG5cbiAgICAubm8tbGVmdC1wYWRkaW5nLXNtYWxsLW9ubHkgeyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG4gICAgLm5vLXJpZ2h0LXBhZGRpbmctc21hbGwtb25seSB7IHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyB9XG4gICAgXG4gICAgLy8gUlRMIE92ZXJyaWRlc1xuICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUsIC5wYWRkaW5nLXJpZ2h0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctcmlnaHQ6YXV0bzsgcGFkZGluZy1sZWZ0OjE1cHg7IH1cbiAgICAgICAgLnBhZGRpbmctbGVmdC1yZXN0b3JlLCAucGFkZGluZy1sZWZ0LXJlc3RvcmUuY29sdW1ucyB7IHBhZGRpbmctbGVmdDphdXRvOyBwYWRkaW5nLXJpZ2h0OjE1cHg7IH1cblxuICAgICAgICAubm8tbGVmdC1wYWRkaW5nLXNtYWxsLW9ubHkgeyBwYWRkaW5nLWxlZnQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OjAgIWltcG9ydGFudDsgfVxuICAgICAgICAubm8tcmlnaHQtcGFkZGluZy1zbWFsbC1vbmx5IHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IH1cbiAgICB9XG59XG4vKiA3NDBweCAtIDEwMjNweCAtIE1lZGl1bSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDYuMjUwZW0pIGFuZCAobWF4LXdpZHRoOjYzLjkzOGVtKSB7ICAgIFxuICAgIC5uby1sZWZ0LXBhZGRpbmctbWVkaXVtLW9ubHkgeyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG4gICAgLm5vLXJpZ2h0LXBhZGRpbmctbWVkaXVtLW9ubHkgeyBwYWRkaW5nLXJpZ2h0OjAgIWltcG9ydGFudDsgfVxuICAgIFxuICAgIC8vIFJUTCBPdmVycmlkZXNcbiAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAubm8tbGVmdC1wYWRkaW5nLW1lZGl1bS1vbmx5IHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5vLXJpZ2h0LXBhZGRpbmctbWVkaXVtLW9ubHkgeyBwYWRkaW5nLXJpZ2h0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgfVxuICAgIH1cbn1cblxuLyogMTAyM3B4IC0gMTE5OXB4IC0gTGFyZ2UgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0ZW0pIGFuZCAobWF4LXdpZHRoOjc0LjkzOGVtKSB7ICAgIFxuICAgIC5uby1sZWZ0LXBhZGRpbmctbGFyZ2Utb25seSB7IHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IH1cbiAgICAubm8tcmlnaHQtcGFkZGluZy1sYXJnZS1vbmx5IHsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICBcbiAgICAvLyBSVEwgT3ZlcnJpZGVzXG4gICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgLm5vLWxlZnQtcGFkZGluZy1sYXJnZS1vbmx5IHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5vLXJpZ2h0LXBhZGRpbmctbGFyZ2Utb25seSB7IHBhZGRpbmctcmlnaHQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG4gICAgfVxufVxuXG5cbi8qIE1pbi13aWR0aCBzaXplZCBjbGFzc2VzICovXG4vKiAwcHggYW5kIHVwICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MGVtKSBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuXHQvKiBUcmFuc2xhdGUgWSAqL1xuXHQudHJhbnNsYXRlLXktLTUwLXNtYWxsIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdH0gXG5cdFxuXHQubm8tbGVmdC1wYWRkaW5nLXNtYWxsLCAubGVmdC1wYWRkaW5nLXplcm8tc21hbGwgeyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG5cdC5uby1yaWdodC1wYWRkaW5nLXNtYWxsLCAucmlnaHQtcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICBcbiAgICAvLyBSVEwgT3ZlcnJpZGVzXG4gICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgLm5vLWxlZnQtcGFkZGluZy1zbWFsbCwgLmxlZnQtcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5vLXJpZ2h0LXBhZGRpbmctc21hbGwsIC5yaWdodC1wYWRkaW5nLXplcm8tc21hbGwgeyBwYWRkaW5nLXJpZ2h0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgfVxuICAgIH1cblx0XG4gICAgLyogTkVHQVRJVkUgTUFSR0lOUyAqL1xuICAgIC8qIDE2cHggUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1uZWdhdGl2ZS1tYXJnaW4tb25lLXNtYWxsIHsgbWFyZ2luLXRvcDotMTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTotMTZweCAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiAzMnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtbmVnYXRpdmUtbWFyZ2luLXR3by1zbWFsbCB7IG1hcmdpbi10b3A6LTMycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXR3by1zbWFsbCB7IG1hcmdpbi1ib3R0b206LTMycHggIWltcG9ydGFudDsgfVxuXG4gICAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLW5lZ2F0aXZlLW1hcmdpbi10aHJlZS1zbWFsbCB7IG1hcmdpbi10b3A6LTQ4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXRocmVlLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTotNDhweCAhaW1wb3J0YW50OyB9XG4gICAgXG4gICAgXG4gICAgLyogMCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gICAgLm5vLWxlZnQtcGFkZGluZy1zbWFsbCwgLmxlZnQtcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1sZWZ0OjAgIWltcG9ydGFudDsgfVxuICAgIC5uby1yaWdodC1wYWRkaW5nLXNtYWxsLCAucmlnaHQtcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA4cHggTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC5sZWZ0LXBhZGRpbmctaGFsZi1zbWFsbCB7IHBhZGRpbmctbGVmdDo4cHggIWltcG9ydGFudDsgfVxuICAgIC5yaWdodC1wYWRkaW5nLWhhbGYtc21hbGwgeyBwYWRkaW5nLXJpZ2h0OjhweCAhaW1wb3J0YW50OyB9XG4gICAgLyogMTZweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gICAgLmxlZnQtcGFkZGluZy1vbmUtc21hbGwgeyBwYWRkaW5nLWxlZnQ6MTZweCAhaW1wb3J0YW50OyB9XG4gICAgLnJpZ2h0LXBhZGRpbmctb25lLXNtYWxsIHsgcGFkZGluZy1yaWdodDoxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAyNHB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAubGVmdC1wYWRkaW5nLW9uZS1oYWxmLXNtYWxsIHsgcGFkZGluZy1sZWZ0OjI0cHggIWltcG9ydGFudDsgfVxuICAgIC5yaWdodC1wYWRkaW5nLW9uZS1oYWxmLXNtYWxsIHsgcGFkZGluZy1yaWdodDoyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAzMnB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAubGVmdC1wYWRkaW5nLXR3by1zbWFsbCB7IHBhZGRpbmctbGVmdDozMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucmlnaHQtcGFkZGluZy10d28tc21hbGwgeyBwYWRkaW5nLXJpZ2h0OjMycHggIWltcG9ydGFudDsgfVxuXHRcbiAgICAvLyBSVEwgT3ZlcnJpZGVzXG4gICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgLyogMCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gICAgICAgIC5uby1sZWZ0LXBhZGRpbmctc21hbGwsIC5sZWZ0LXBhZGRpbmctemVyby1zbWFsbCB7IHBhZGRpbmctbGVmdDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5uby1yaWdodC1wYWRkaW5nLXNtYWxsLCAucmlnaHQtcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLyogOHB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAgICAgLmxlZnQtcGFkZGluZy1oYWxmLXNtYWxsIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDo4cHggIWltcG9ydGFudDsgfVxuICAgICAgICAucmlnaHQtcGFkZGluZy1oYWxmLXNtYWxsIHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDo4cHggIWltcG9ydGFudDsgfVxuICAgICAgICAvKiAxNnB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAgICAgLmxlZnQtcGFkZGluZy1vbmUtc21hbGwgeyBwYWRkaW5nLWxlZnQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OjE2cHggIWltcG9ydGFudDsgfVxuICAgICAgICAucmlnaHQtcGFkZGluZy1vbmUtc21hbGwgeyBwYWRkaW5nLXJpZ2h0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1sZWZ0OjE2cHggIWltcG9ydGFudDsgfVxuICAgICAgICAvKiAyNHB4IExlZnQgLyBSaWdodCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAgICAgLmxlZnQtcGFkZGluZy1vbmUtaGFsZi1zbWFsbCB7IHBhZGRpbmctbGVmdDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6MjRweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5yaWdodC1wYWRkaW5nLW9uZS1oYWxmLXNtYWxsIHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDoyNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLyogMzJweCBMZWZ0IC8gUmlnaHQgUGFkZGluZyBvcHRpb25zICovXG4gICAgICAgIC5sZWZ0LXBhZGRpbmctdHdvLXNtYWxsIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDozMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnJpZ2h0LXBhZGRpbmctdHdvLXNtYWxsIHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDozMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cdFxuXHRcbiAgICAvKiAwIFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctemVyby1zbWFsbCB7IHBhZGRpbmctdG9wOjAgIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy16ZXJvLXNtYWxsIHsgcGFkZGluZy1ib3R0b206MCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4temVyby1zbWFsbCB7IG1hcmdpbi10b3A6MCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4temVyby1zbWFsbCB7IG1hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50OyB9XG4gICAgLyogOHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctaGFsZi1zbWFsbCB7IHBhZGRpbmctdG9wOjhweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLWhhbGYtc21hbGwgeyBwYWRkaW5nLWJvdHRvbTo4cHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLWhhbGYtc21hbGwgeyBtYXJnaW4tdG9wOjhweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4taGFsZi1zbWFsbCB7IG1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAxNnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctb25lLXNtYWxsIHsgcGFkZGluZy10b3A6MTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLW9uZS1zbWFsbCB7IHBhZGRpbmctYm90dG9tOjE2cHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLW9uZS1zbWFsbCB7IG1hcmdpbi10b3A6MTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tb25lLXNtYWxsIHsgbWFyZ2luLWJvdHRvbToxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAzMnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctdHdvLXNtYWxsIHsgcGFkZGluZy10b3A6MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLXR3by1zbWFsbCB7IHBhZGRpbmctYm90dG9tOjMycHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLXR3by1zbWFsbCB7IG1hcmdpbi10b3A6MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tdHdvLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTozMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA0OHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctdGhyZWUtc21hbGwgeyBwYWRkaW5nLXRvcDo0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctdGhyZWUtc21hbGwgeyBwYWRkaW5nLWJvdHRvbTo0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi10aHJlZS1zbWFsbCB7IG1hcmdpbi10b3A6NDhweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tdGhyZWUtc21hbGwgeyBtYXJnaW4tYm90dG9tOjQ4cHggIWltcG9ydGFudDsgfVxuICAgIC8qIDY0cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1mb3VyLXNtYWxsIHsgcGFkZGluZy10b3A6NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLWZvdXItc21hbGwgeyBwYWRkaW5nLWJvdHRvbTo2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1mb3VyLXNtYWxsIHsgbWFyZ2luLXRvcDo2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1mb3VyLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTo2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA4MHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1maXZlLXNtYWxsIHsgcGFkZGluZy10b3A6ODBweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLWZpdmUtc21hbGwgeyBwYWRkaW5nLWJvdHRvbTo4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1maXZlLXNtYWxsIHsgbWFyZ2luLXRvcDo4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1maXZlLXNtYWxsIHsgbWFyZ2luLWJvdHRvbTo4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA5NnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1zaXgtc21hbGwgeyBwYWRkaW5nLXRvcDo5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctc2l4LXNtYWxsIHsgcGFkZGluZy1ib3R0b206OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tc2l4LXNtYWxsIHsgbWFyZ2luLXRvcDo5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1zaXgtc21hbGwgeyBtYXJnaW4tYm90dG9tOjk2cHggIWltcG9ydGFudDsgfVxuICAgIC8qIDExMnB4ICBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctc2V2ZW4tc21hbGwgeyBwYWRkaW5nLXRvcDoxMTJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLXNldmVuLXNtYWxsIHsgcGFkZGluZy1ib3R0b206MTEycHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLXNldmVuLXNtYWxsIHsgbWFyZ2luLXRvcDoxMTJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tc2V2ZW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOjExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAxMjhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLWVpZ2h0LXNtYWxsIHsgcGFkZGluZy10b3A6MTI4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1laWdodC1zbWFsbCB7IHBhZGRpbmctYm90dG9tOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1laWdodC1zbWFsbCB7IG1hcmdpbi10b3A6MTI4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLWVpZ2h0LXNtYWxsIHsgbWFyZ2luLWJvdHRvbToxMjhweCAhaW1wb3J0YW50OyB9XG59XG4vKiA3NDBweCBhbmQgdXAgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0Ni4yNTBlbSkge1xuXHQvKiBUcmFuc2xhdGUgWSAqL1xuXHQudHJhbnNsYXRlLXktLTUwLW1lZGl1bSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cdFxuICAgIC8qIDAgTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuXHQubm8tbGVmdC1wYWRkaW5nLW1lZGl1bSwgLmxlZnQtcGFkZGluZy16ZXJvLW1lZGl1bSB7IHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IH1cblx0Lm5vLXJpZ2h0LXBhZGRpbmctbWVkaXVtLCAucmlnaHQtcGFkZGluZy16ZXJvLW1lZGl1bSB7IHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyB9XG4gICAgXG4gICAgLy8gUlRMIE92ZXJyaWRlc1xuICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgIC5uby1sZWZ0LXBhZGRpbmctbWVkaXVtLCAubGVmdC1wYWRkaW5nLXplcm8tbWVkaXVtIHsgcGFkZGluZy1sZWZ0OmluaGVyaXQgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLm5vLXJpZ2h0LXBhZGRpbmctbWVkaXVtLCAucmlnaHQtcGFkZGluZy16ZXJvLW1lZGl1bSB7IHBhZGRpbmctcmlnaHQ6aW5oZXJpdCAhaW1wb3J0YW50OyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG4gICAgfVxuXHRcbiAgICAvKiBORUdBVElWRSBNQVJHSU5TICovXG4gICAgLyogMTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLW5lZ2F0aXZlLW1hcmdpbi1vbmUtbWVkaXVtIHsgbWFyZ2luLXRvcDotMTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206LTE2cHggIWltcG9ydGFudDsgfVxuXG4gICAgLyogMzJweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLW5lZ2F0aXZlLW1hcmdpbi10d28tbWVkaXVtIHsgbWFyZ2luLXRvcDotMzJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tdHdvLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206LTMycHggIWltcG9ydGFudDsgfVxuXG4gICAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLW5lZ2F0aXZlLW1hcmdpbi10aHJlZS1tZWRpdW0geyBtYXJnaW4tdG9wOi00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW5lZ2F0aXZlLW1hcmdpbi10aHJlZS1tZWRpdW0geyBtYXJnaW4tYm90dG9tOi00OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICBcbiAgICAvKiAwIFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctemVyby1tZWRpdW0geyBwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctemVyby1tZWRpdW0geyBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi16ZXJvLW1lZGl1bSB7IG1hcmdpbi10b3A6MCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4temVyby1tZWRpdW0geyBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDsgfVxuICAgIC8qIDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLWhhbGYtbWVkaXVtIHsgcGFkZGluZy10b3A6OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctaGFsZi1tZWRpdW0geyBwYWRkaW5nLWJvdHRvbTo4cHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLWhhbGYtbWVkaXVtIHsgbWFyZ2luLXRvcDo4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLWhhbGYtbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDsgfVxuICAgIC8qIDE2cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1vbmUtbWVkaXVtIHsgcGFkZGluZy10b3A6MTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLW9uZS1tZWRpdW0geyBwYWRkaW5nLWJvdHRvbToxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1vbmUtbWVkaXVtIHsgbWFyZ2luLXRvcDoxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1vbmUtbWVkaXVtIHsgbWFyZ2luLWJvdHRvbToxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAzMnB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctdHdvLW1lZGl1bSB7IHBhZGRpbmctdG9wOjMycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy10d28tbWVkaXVtIHsgcGFkZGluZy1ib3R0b206MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tdHdvLW1lZGl1bSB7IG1hcmdpbi10b3A6MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tdHdvLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLyogNDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLXRocmVlLW1lZGl1bSB7IHBhZGRpbmctdG9wOjQ4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy10aHJlZS1tZWRpdW0geyBwYWRkaW5nLWJvdHRvbTo0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi10aHJlZS1tZWRpdW0geyBtYXJnaW4tdG9wOjQ4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLXRocmVlLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206NDhweCAhaW1wb3J0YW50OyB9XG4gICAgLyogNjRweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLWZvdXItbWVkaXVtIHsgcGFkZGluZy10b3A6NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLWZvdXItbWVkaXVtIHsgcGFkZGluZy1ib3R0b206NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tZm91ci1tZWRpdW0geyBtYXJnaW4tdG9wOjY0cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLWZvdXItbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTo2NHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA4MHB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1maXZlLW1lZGl1bSB7IHBhZGRpbmctdG9wOjgwcHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1maXZlLW1lZGl1bSB7IHBhZGRpbmctYm90dG9tOjgwcHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLWZpdmUtbWVkaXVtIHsgbWFyZ2luLXRvcDo4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1maXZlLW1lZGl1bSB7IG1hcmdpbi1ib3R0b206ODBweCAhaW1wb3J0YW50OyB9XG4gICAgLyogOTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctc2l4LW1lZGl1bSB7IHBhZGRpbmctdG9wOjk2cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1zaXgtbWVkaXVtIHsgcGFkZGluZy1ib3R0b206OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tc2l4LW1lZGl1bSB7IG1hcmdpbi10b3A6OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tc2l4LW1lZGl1bSB7IG1hcmdpbi1ib3R0b206OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLyogMTEycHggIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1zZXZlbi1tZWRpdW0geyBwYWRkaW5nLXRvcDoxMTJweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLXNldmVuLW1lZGl1bSB7IHBhZGRpbmctYm90dG9tOjExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1zZXZlbi1tZWRpdW0geyBtYXJnaW4tdG9wOjExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1zZXZlbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOjExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAxMjhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLWVpZ2h0LW1lZGl1bSB7IHBhZGRpbmctdG9wOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctZWlnaHQtbWVkaXVtIHsgcGFkZGluZy1ib3R0b206MTI4cHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLWVpZ2h0LW1lZGl1bSB7IG1hcmdpbi10b3A6MTI4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLWVpZ2h0LW1lZGl1bSB7IG1hcmdpbi1ib3R0b206MTI4cHggIWltcG9ydGFudDsgfVxufVxuLyogMTAyNHB4IGFuZCB1cCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0ZW0pIHtcblx0LyogVHJhbnNsYXRlIFkgKi9cblx0LnRyYW5zbGF0ZS15LS01MC1sYXJnZSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR9XG5cdFxuICAgIC8qIDAgTGVmdCAvIFJpZ2h0IFBhZGRpbmcgb3B0aW9ucyAqL1xuXHQubm8tbGVmdC1wYWRkaW5nLWxhcmdlLCAubGVmdC1wYWRkaW5nLXplcm8tbGFyZ2UgeyBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50OyB9XG5cdC5uby1yaWdodC1wYWRkaW5nLWxhcmdlLCAucmlnaHQtcGFkZGluZy16ZXJvLWxhcmdlIHsgcGFkZGluZy1yaWdodDowICFpbXBvcnRhbnQ7IH1cblx0XG4gICAgLy8gUlRMIE92ZXJyaWRlc1xuICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgIC5uby1sZWZ0LXBhZGRpbmctbGFyZ2UsIC5sZWZ0LXBhZGRpbmctemVyby1sYXJnZSB7IHBhZGRpbmctbGVmdDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctcmlnaHQ6MCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5uby1yaWdodC1wYWRkaW5nLWxhcmdlLCAucmlnaHQtcGFkZGluZy16ZXJvLWxhcmdlIHsgcGFkZGluZy1yaWdodDppbmhlcml0ICFpbXBvcnRhbnQ7IHBhZGRpbmctbGVmdDowICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgXG4gICAgLyogTkVHQVRJVkUgTUFSR0lOUyAqL1xuICAgIC8qIDE2cHggUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1uZWdhdGl2ZS1tYXJnaW4tb25lLWxhcmdlIHsgbWFyZ2luLXRvcDotMTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1uZWdhdGl2ZS1tYXJnaW4tb25lLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTotMTZweCAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiAzMnB4IFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtbmVnYXRpdmUtbWFyZ2luLXR3by1sYXJnZSB7IG1hcmdpbi10b3A6LTMycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXR3by1sYXJnZSB7IG1hcmdpbi1ib3R0b206LTMycHggIWltcG9ydGFudDsgfVxuXG4gICAgLyogNDhweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLW5lZ2F0aXZlLW1hcmdpbi10aHJlZS1sYXJnZSB7IG1hcmdpbi10b3A6LTQ4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbmVnYXRpdmUtbWFyZ2luLXRocmVlLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTotNDhweCAhaW1wb3J0YW50OyB9XG4gICAgXG4gICAgLyogMCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLXplcm8tbGFyZ2UgeyBwYWRkaW5nLXRvcDowICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctemVyby1sYXJnZSB7IHBhZGRpbmctYm90dG9tOjAgIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLXplcm8tbGFyZ2UgeyBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLXplcm8tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOjAgIWltcG9ydGFudDsgfVxuICAgIC8qIDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLWhhbGYtbGFyZ2UgeyBwYWRkaW5nLXRvcDo4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1oYWxmLWxhcmdlIHsgcGFkZGluZy1ib3R0b206OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1oYWxmLWxhcmdlIHsgbWFyZ2luLXRvcDo4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLWhhbGYtbGFyZ2UgeyBtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50OyB9XG4gICAgLyogMTZweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLW9uZS1sYXJnZSB7IHBhZGRpbmctdG9wOjE2cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1vbmUtbGFyZ2UgeyBwYWRkaW5nLWJvdHRvbToxNnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1vbmUtbGFyZ2UgeyBtYXJnaW4tdG9wOjE2cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLW9uZS1sYXJnZSB7IG1hcmdpbi1ib3R0b206MTZweCAhaW1wb3J0YW50OyB9XG4gICAgLyogMzJweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLXR3by1sYXJnZSB7IHBhZGRpbmctdG9wOjMycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy10d28tbGFyZ2UgeyBwYWRkaW5nLWJvdHRvbTozMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi10d28tbGFyZ2UgeyBtYXJnaW4tdG9wOjMycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLXR3by1sYXJnZSB7IG1hcmdpbi1ib3R0b206MzJweCAhaW1wb3J0YW50OyB9XG4gICAgLyogNDhweCBUb3AgLyBCb3R0b20gUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLXRocmVlLWxhcmdlIHsgcGFkZGluZy10b3A6NDhweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLXRocmVlLWxhcmdlIHsgcGFkZGluZy1ib3R0b206NDhweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tdGhyZWUtbGFyZ2UgeyBtYXJnaW4tdG9wOjQ4cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLXRocmVlLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTo0OHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiA2NHB4IFRvcCAvIEJvdHRvbSBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctZm91ci1sYXJnZSB7IHBhZGRpbmctdG9wOjY0cHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1mb3VyLWxhcmdlIHsgcGFkZGluZy1ib3R0b206NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tZm91ci1sYXJnZSB7IG1hcmdpbi10b3A6NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tZm91ci1sYXJnZSB7IG1hcmdpbi1ib3R0b206NjRweCAhaW1wb3J0YW50OyB9XG4gICAgLyogODBweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctZml2ZS1sYXJnZSB7IHBhZGRpbmctdG9wOjgwcHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1maXZlLWxhcmdlIHsgcGFkZGluZy1ib3R0b206ODBweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tZml2ZS1sYXJnZSB7IG1hcmdpbi10b3A6ODBweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tZml2ZS1sYXJnZSB7IG1hcmdpbi1ib3R0b206ODBweCAhaW1wb3J0YW50OyB9XG4gICAgLyogOTZweCBQYWRkaW5nIG9wdGlvbnMgKi9cbiAgICAudG9wLXBhZGRpbmctc2l4LWxhcmdlIHsgcGFkZGluZy10b3A6OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1wYWRkaW5nLXNpeC1sYXJnZSB7IHBhZGRpbmctYm90dG9tOjk2cHggIWltcG9ydGFudDsgfVxuICAgIC50b3AtbWFyZ2luLXNpeC1sYXJnZSB7IG1hcmdpbi10b3A6OTZweCAhaW1wb3J0YW50OyB9XG4gICAgLmJvdHRvbS1tYXJnaW4tc2l4LWxhcmdlIHsgbWFyZ2luLWJvdHRvbTo5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAvKiAxMTJweCAgUGFkZGluZyBvcHRpb25zICovXG4gICAgLnRvcC1wYWRkaW5nLXNldmVuLWxhcmdlIHsgcGFkZGluZy10b3A6MTEycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tcGFkZGluZy1zZXZlbi1sYXJnZSB7IHBhZGRpbmctYm90dG9tOjExMnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAudG9wLW1hcmdpbi1zZXZlbi1sYXJnZSB7IG1hcmdpbi10b3A6MTEycHggIWltcG9ydGFudDsgfVxuICAgIC5ib3R0b20tbWFyZ2luLXNldmVuLWxhcmdlIHsgbWFyZ2luLWJvdHRvbToxMTJweCAhaW1wb3J0YW50OyB9XG4gICAgLyogMTI4cHggVG9wIC8gQm90dG9tIFBhZGRpbmcgb3B0aW9ucyAqL1xuICAgIC50b3AtcGFkZGluZy1laWdodC1sYXJnZSB7IHBhZGRpbmctdG9wOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLXBhZGRpbmctZWlnaHQtbGFyZ2UgeyBwYWRkaW5nLWJvdHRvbToxMjhweCAhaW1wb3J0YW50OyB9XG4gICAgLnRvcC1tYXJnaW4tZWlnaHQtbGFyZ2UgeyBtYXJnaW4tdG9wOjEyOHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuYm90dG9tLW1hcmdpbi1laWdodC1sYXJnZSB7IG1hcmdpbi1ib3R0b206MTI4cHggIWltcG9ydGFudDsgfVxufSIsIi8qIExBTkRTQ0FQRSBIRUFERVIgLyBOQVYgQ1NTICovXG5cbmgxLmxvZ28ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG5oMS5sb2dvIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgIGgxLmxvZ28ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cbn1cblxuLmhlYWRlcl93cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbmhlYWRlciAubWVudSBhIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAuM3JlbSAwO1xuICAgIG1hcmdpbjogMXJlbSAwLjZyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuaGVhZGVyIG5hdiB7XG4gICAgaGVpZ2h0OiAyLjg3NXJlbTtcbn1cblxuaGVhZGVyIG5hdi5oaWRkZW4gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIgbmF2IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBsZWZ0OiA0NSU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG5oZWFkZXIgbmF2IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJvcmRlci1jb2xvcjogIzMzMztcbn1cblxuaGVhZGVyIG5hdiBhOmhvdmVyOmFmdGVyLCBoZWFkZXIgbmF2IGEuYWN0aXZlOmFmdGVyLCBoZWFkZXIgbmF2IC5jdXJyZW50LW1lbnUtaXRlbSBhOmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwJTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzMzMztcbn1cblxuaGVhZGVyIC5tZW51LWljb24ge1xuICAgIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xufVxuXG5cbi5zZWN0aW9uX21lbnUgPiBsaSB7IGJhY2tncm91bmQ6ICNlZWU7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuLnNlY3Rpb25fbWVudSBsaSB1bC5tZW51Lm5lc3RlZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4uc2VjdGlvbl9tZW51IGxpIHVsIGxpIHsgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uc2VjdGlvbl90aXRsZV9oZWFkZXIgeyBcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG5cbi5zZWN0aW9uX3RpdGxlX2hlYWRlci5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cblxuXG5cbi8qLnJldmVhbC5mdWxsIC5zZWN0aW9uX21lbnUgeyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTsgfVxuLnJldmVhbC5mdWxsIC5zZWN0aW9uX21lbnUgPiBsaSB7IGJhY2tncm91bmQ6ICM2NjY7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTsgfVxuLnJldmVhbC5mdWxsIC5zZWN0aW9uX21lbnUgbGkgdWwubWVudS5uZXN0ZWQgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnJldmVhbC5mdWxsIC5zZWN0aW9uX21lbnUgbGkgdWwgbGkgeyBiYWNrZ3JvdW5kOiAjMzMzOyB9XG4ucmV2ZWFsLmZ1bGwgLnNlY3Rpb25fbWVudSBsaSBhIHsgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7IH0qL1xuXG5cblxuXG5cbi8qIEZPT1RFUiBNRU5VICovXG4uZm9vdGVyX21lbnUgLm1lbnUgYSwgLmZvb3Rlcl9tZW51IC5tZW51IHNwYW4ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMC4zcmVtIDA7XG4gICAgbWFyZ2luOiAwLjhyZW0gMS40cmVtIDAuOHJlbSAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLypmb250LXdlaWdodDogNzAwOyovXG59XG5cbm5hdi5mb290ZXJfbWVudSB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbn1cblxubmF2LmZvb3Rlcl9tZW51IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBsZWZ0OiA0NSU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG5uYXYuZm9vdGVyX21lbnUgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzO1xufVxuXG5uYXYuZm9vdGVyX21lbnUgYTpob3ZlcjphZnRlciwgbmF2LmZvb3Rlcl9tZW51IGEuYWN0aXZlOmFmdGVyLCBuYXYuZm9vdGVyX21lbnUgLmN1cnJlbnQtbWVudS1pdGVtIGE6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDAlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMzMzO1xufVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHsgXG4gICAgLmZvb3Rlcl9tZW51IC5tZW51IGEsIC5mb290ZXJfbWVudSAubWVudSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwLjNyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwLjhyZW0gMC44cmVtIDAuOHJlbSAwO1xuICAgIH1cbn1cblxuLyogMHB4IGFuZCB1cCAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MGVtKSB7XG4gICAgXG4gICAgXG59XG5cbi8qIDc0MHB4IGFuZCB1cCAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDYuMjUwZW0pIHtcblxuXG4gICAgLypoMS5sb2dvOmZpcnN0LWxldHRlciB7XG4gICAgICAgIGNvbG9yOiAjOTFBNDcyO1xuICAgIH1cblxuICAgIGgxLmxvZ286YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzkxQTQ3MjtcbiAgICAgICAgY29udGVudDogJy4nO1xuICAgIH0qL1xufVxuXG4vKiAxMDI0cHggYW5kIHVwICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo2NGVtKSB7XG5cbn1cbiIsIi8qIExBTkRTQ0FQRSBGT09URVIgQ1NTICovXG5cbmZvb3RlciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlOGYyO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTYpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xufVxuXG5mb290ZXIgaDQge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcblx0Y29sb3I6ICMyZDM1M2Y7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmZvb3RlciBwLCAuaG9tZSBmb290ZXIgcCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5mb290ZXIgc3BhbiwgZm9vdGVyIGEge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdGNvbG9yOiAjYTJhNWFhO1xuXHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuXHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbn0iLCIvKiBFWEVSQ0lTRVMgQ1NTICovXG5cbi5leGVyY2lzZS1saXN0LWl0ZW0ge1xuICAgIFxufVxuXG4uZXhlcmNpc2UtbGlzdC1pdGVtIGRpdiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5leGVyY2lzZS1saXN0LWl0ZW0gcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblxufVxuXG4vKiA3NDBweCAtIDEwMjNweCAtIE1lZGl1bSBPbmx5ICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0Ni4yNTBlbSkgYW5kIChtYXgtd2lkdGg6NjMuOTM4ZW0pIHtcbiAgIFxufVxuIiwiLyogXG4gKiBSRVZFQUwgUE9QVVAgTUVOVVxuICovXG4ucmV2ZWFsIHtcbiAgICBib3gtc2hhZG93OiAwIDVweCAyNXB4IHJnYmEoMCwwLDAsMC42KTtcbn1cbi5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnJldmVhbC5mdWxsIGgyLCAuaG9tZSAucmV2ZWFsLmZ1bGwgaDIge1xuXHRjb2xvcjogIzczNzk3Zjtcbn1cblxuLnJldmVhbC5mdWxsIC5tZW51IGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG5cbi5yZXZlYWwub3ZlcmZsb3dfdmlzaWJsZSB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbn1cblxuLyoucmV2ZWFsLW92ZXJsYXkudHJhbnNwYXJlbnQge1xuXHR0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOCkgIWltcG9ydGFudDtcblx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xufSovXG5cbi8qLnJldmVhbC1vdmVybGF5Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAxZW07XG59XG4gXG4ucmV2ZWFsLW92ZXJsYXk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4gXG4ucmV2ZWFsLW92ZXJsYXk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICBvdXRsaW5lOiAxcHggc29saWQgcmVkO1xufSovXG5cblxuLnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2Nsb3NlLWljb24uc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAvKmJhY2tncm91bmQtc2l6ZTogY292ZXI7Ki9cbiAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRvcDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQpO1xufVxuXG4jbGFuZ3VhZ2VfbWVudS5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNCk7XG59XG5cbi5yZXZlYWwuc21hbGwgLmNsb3NlLWJ1dHRvbiwgLnJldmVhbC5ob21lX2Fib3V0IC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2xvc2UtaWNvbi5zdmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgdGV4dC1pbmRlbnQ6IC01MDAwcHg7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG5cdGZvbnQtc2l6ZTogMHB4O1xufVxuXG4ucmV2ZWFsLnVzZXJfZ3VpZGVzIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2xvc2UtaWNvbi5zdmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgdGV4dC1pbmRlbnQ6IC01MDAwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMHB4O1xufVxuXG4ucmV2ZWFsIC5jbG9zZS1idXR0b24uc3BpbiB7XG4gICAgYW5pbWF0aW9uOiBzcGluIDAuM3MgZWFzZSAxO1xuXHRhbmltYXRpb24tZGVsYXk6IDBzO1xuXHQvL2JhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0Ly90cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4ucmV2ZWFsIC5jbG9zZS1idXR0b24uc3Bpbjpob3ZlciB7XG4gICAgYW5pbWF0aW9uOiBzcGluMzYwIDAuM3MgZWFzZSAxO1xuXHRhbmltYXRpb24tZGVsYXk6IDBzO1xuXHQvL2JhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0Ly90cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAgIDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVooMCkgc2NhbGUoMC4xKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIHNwaW4zNjAge1xuICAgIDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcblx0fVxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZVooMzYwZGVnKTtcblx0fVxufVxuXG4ucmV2ZWFsLnVzZXJfZ3VpZGVzIHtcblx0d2lkdGg6IDU4LjMzMzMzJTtcblx0bWF4LXdpZHRoOiBub25lO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXHRwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXZlYWwudXNlcl9ndWlkZXMgLnJvdyB7XG5cdGhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0bWFyZ2luLXRvcDogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IDEuNXJlbTtcbn1cblxuLnJldmVhbC51c2VyX2d1aWRlcyAucm93IC5jb2x1bW4ge1xuXHRwYWRkaW5nLXJpZ2h0OiAxLjZyZW07XG59XG5cbi5yZXZlYWwudXNlcl9ndWlkZXM6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMnJlbTtcblx0cmlnaHQ6IDJyZW07XG5cdGJvdHRvbTogMi41cmVtO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gNHJlbSk7XG5cdGhlaWdodDogNzVweDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgOTclKTtcblx0ei1pbmRleDogMTtcbn1cblxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblx0LnJldmVhbC51c2VyX2d1aWRlcyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0fVxuXHRcblx0LnJldmVhbC51c2VyX2d1aWRlczpiZWZvcmUge1xuXHRcdGxlZnQ6IDFyZW07XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xuXHR9XG5cdFxuXHQucmV2ZWFsLnVzZXJfZ3VpZGVzIC5yb3cgLmNvbHVtbiB7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuXHR9XG5cbn1cblxuLyogNzQwcHggLSAxMDIzcHggLSBNZWRpdW0gT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQ2LjI1MGVtKSBhbmQgKG1heC13aWR0aDo2My45MzhlbSkge1xuICAgLnJldmVhbC51c2VyX2d1aWRlcyB7XG5cdFx0d2lkdGg6IDgzLjMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdH1cbn1cblxuXG5cbiN1c2VyZ3VpZGVzX21vZGFsIHtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuLy8gT25ib2FyZGluZyBNb2RhbHNcbi5yZXZlYWwtb3ZlcmxheS5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8xX3JldmVhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzE2MWYyYSwgMC41KTtcbn1cblxuLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8yLCAucmV2ZWFsI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzMsIC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfNCB7XG5cdG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiwgLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdHRvcDogMCAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0bWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcblx0cGFkZGluZy1yaWdodDogMS4ycmVtO1xufVxuXG4ub25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWw6Zm9jdXMge1xuXHRvdXRsaW5lOiAwO1xufVxuXG4vKiAwIC0gNjIwcHggLSBWU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYxOXB4KSB7XG5cdC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiwgLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcblx0XHR0b3A6IDgwcHggIWltcG9ydGFudDtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0bWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmc6IDEuMnJlbTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cdH1cbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG5cdC5yZXZlYWwjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiwgLnJldmVhbCNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcblx0XHR0b3A6IDgwcHggIWltcG9ydGFudDtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMS4ycmVtO1xuXHR9XG5cdFxuXHQjdXNlcmd1aWRlc19tb2RhbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxufSIsIi8qXG4gKiBPUkJJVCBTTElERVIgT1ZFUlJJREVTXG4gKi9cblxuLm9yYml0LWNvbnRhaW5lciB7XG59XG5cbi5vcmJpdC1jb250YWluZXI6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLm9yYml0LWNvbnRhaW5lcjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICAvL2xlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4ub3JiaXQtY29udHJvbHMgeyB9XG5cbi5vcmJpdC1jb250cm9scyAub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1jb250cm9scyAub3JiaXQtbmV4dCB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiByZW0tY2FsYyg4NSk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xufVxuXG4ub3JiaXQtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAwLjIpO1xufVxuXG4ub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm9yYml0LWNvbnRyb2xzIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHggMCAwIDEwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xlZnQtYXJyb3cuc3ZnJyk7XG59IFxuXG4ub3JiaXQtY29udHJvbHMgLm9yYml0LW5leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9yaWdodC1hcnJvdy5zdmcnKTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuYm9keS5ydGwgLm9yYml0LWNvbnRyb2xzIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JpZ2h0LWFycm93LnN2ZycpO1xufVxuXG5ib2R5LnJ0bCAub3JiaXQtY29udHJvbHMgLm9yYml0LW5leHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sZWZ0LWFycm93LnN2ZycpO1xufVxuXG4ub3JiaXQtc2xpZGUge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7ICAgXG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpOyAgIFxufVxuXG4ub3JiaXQtc2xpZGU6Zm9jdXMsIC5vcmJpdC1jb250YWluZXI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5vcmJpdC1zbGlkZSBmaWd1cmUge1xuICAgIHBhZGRpbmc6IDI1cHg7XG59XG5cbi5vcmJpdC1zbGlkZSBpbWcge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDdweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLm9yYml0LXNsaWRlLmlzLWFjdGl2ZSBpbWcge1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4ub3JiaXQtc2xpZGUgaDQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbn1cblxuLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xufVxuXG4ub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufSIsIi8qIENVU1RPTSBDU1MgLyBPVkVSUklERVMgKi9cblxuLyogRm9udHM6XG4gKi9cblxuXG4vKiBcbiAqXG4gKiBUWVBPR1JBUEhZXG4gKlxuICovXG5cbmgxLnNtYWxsZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xufVxuXG4ubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5hLmJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLm91dGxpbmVkIHsgXG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwOyBcbiAgICBib3JkZXItd2lkdGg6IDNweDsgXG4gICAgY29sb3I6ICMwMDA7IFxufVxuXG4vKiBFbnN1cmUgUCB0YWdzIGNvbG91ciBzdGF5cyB0aGUgZGVmYXVsdCBncmV5IGluc2lkZSBvZiBsaW5rcyAqL1xuYSBwIHsgY29sb3I6ICM2NjY7IH1cblxuXG4ucmVzcG9uc2l2ZS1lbWJlZCB7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCByZ2JhKCRibGFjaywgMC41KTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmJ1dHRvbiwgbGFiZWwsIC5yZXZlYWwuZnVsbCAubWVudSBhLCAuY2FsbG91dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5oMSB7IG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTsgfVxuXG4vKiBUWVBFRkFDRSBTUEVDSUZJQyBTVFlMRVMgKi9cbi8vIFRIQUlcbi5sYW5nLXRoIGgxLCAubGFuZy10aCBoMiwgLmxhbmctdGggaDMsIC5sYW5nLXRoIGg0LCAubGFuZy10aCBoNSwgLmxhbmctdGggaDYsIC5sYW5nLXRoIC5idXR0b24sIC5sYW5nLXRoIGxhYmVsLCAubGFuZy10aCAucmV2ZWFsLmZ1bGwgLm1lbnUgYSwgLmxhbmctdGggLmNhbGxvdXQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ0syRCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cbi50aGFpLCAubGFuZy10aCB7XG4gICAgZm9udC1mYW1pbHk6ICdLMkQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8vIFBBU0hUT1xuLy8gbm90b19uYXN0YWxpcV91cmR1cmVndWxhclxuLmxhbmctcHMgaDEsIC5sYW5nLXBzIGgyLCAubGFuZy1wcyBoMywgLmxhbmctcHMgaDQsIC5sYW5nLXBzIGg1LCAubGFuZy1wcyBoNiwgLmxhbmctcHMgLmJ1dHRvbiwgLmxhbmctcHMgbGFiZWwsIC5sYW5nLXBzIC5yZXZlYWwuZnVsbCAubWVudSBhLCAubGFuZy1wcyAuY2FsbG91dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnbm90b19uYXN0YWxpcV91cmR1cmVndWxhcicsIHNhbnMtc2VyaWY7XG59XG4ubGFuZy1wcyB7XG4gICAgZm9udC1mYW1pbHk6ICdub3RvX25hc3RhbGlxX3VyZHVyZWd1bGFyJywgc2Fucy1zZXJpZjtcbn1cblxuLy8gREFSSVxuLy8gbm90b19uYXNraF9hcmFiaWNfdWlyZWd1bGFyIC8gbm90b19uYXNraF9hcmFiaWNfdWlib2xkXG4ubGFuZy1mYV9hZiBoMSwgLmxhbmctZmFfYWYgaDIsIC5sYW5nLWZhX2FmIGgzLCAubGFuZy1mYV9hZiBoNCwgLmxhbmctZmFfYWYgaDUsIC5sYW5nLWZhX2FmIGg2LCAubGFuZy1mYV9hZiAuYnV0dG9uLCAubGFuZy1mYV9hZiBsYWJlbCwgLmxhbmctZmFfYWYgLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWZhX2FmIC5jYWxsb3V0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3RvX25hc2toX2FyYWJpY191aXJlZ3VsYXInLCBzYW5zLXNlcmlmO1xufVxuLmxhbmctZmFfYWYge1xuICAgIGZvbnQtZmFtaWx5OiAnbm90b19uYXNraF9hcmFiaWNfdWlyZWd1bGFyJywgc2Fucy1zZXJpZjtcbn1cblxuLy8gSElORElcbi8vIE5vdG8gU2Fuc1xuLmxhbmctaGlfaW4gaDEsIC5sYW5nLWhpX2luIGgyLCAubGFuZy1oaV9pbiBoMywgLmxhbmctaGlfaW4gaDQsIC5sYW5nLWhpX2luIGg1LCAubGFuZy1oaV9pbiBoNiwgLmxhbmctaGlfaW4gLmJ1dHRvbiwgLmxhbmctaGlfaW4gbGFiZWwsIC5sYW5nLWhpX2luIC5yZXZlYWwuZnVsbCAubWVudSBhLCAubGFuZy1oaV9pbiAuY2FsbG91dDpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cbi5sYW5nLWhpX2luIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8vIEFaRVJCQUlKQU5JXG4vLyBOb3RvIFNhbnNcbi5sYW5nLWF6IGgxLCAubGFuZy1heiBoMiwgLmxhbmctYXogaDMsIC5sYW5nLWF6IGg0LCAubGFuZy1heiBoNSwgLmxhbmctYXogaDYsIC5sYW5nLWF6IC5idXR0b24sIC5sYW5nLWF6IGxhYmVsLCAubGFuZy1heiAucmV2ZWFsLmZ1bGwgLm1lbnUgYSwgLmxhbmctYXogLmNhbGxvdXQ6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucycsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4ubGFuZy1heiB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vLyBBUk1FTklBTlxuLy8gTm90byBTYW5zXG4ubGFuZy1oeSBoMSwgLmxhbmctaHkgaDIsIC5sYW5nLWh5IGgzLCAubGFuZy1oeSBoNCwgLmxhbmctaHkgaDUsIC5sYW5nLWh5IGg2LCAubGFuZy1oeSAuYnV0dG9uLCAubGFuZy1oeSBsYWJlbCwgLmxhbmctaHkgLnJldmVhbC5mdWxsIC5tZW51IGEsIC5sYW5nLWh5IC5jYWxsb3V0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMgQXJtZW5pYW4nLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuLmxhbmctaHkge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zIEFybWVuaWFuJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucnRsIC50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5ociB7fVxuaHIudGhpY2sge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRTZFNkU2O1xufVxuXG5mb3JtLnJlYWRvbmx5IGlucHV0IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmZvcm0ucmVhZG9ubHkgaW5wdXQ6aG92ZXIge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5mb3JtLnJlYWRvbmx5IGlucHV0OmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuZm9ybSBpbnB1dC5pbmxpbmVfZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuXHRwYWRkaW5nLWxlZnQ6IDJweDtcblx0bWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCBmb3JtIGlucHV0LmlubGluZV9mbGV4IHtcblx0cGFkZGluZy1sZWZ0OiBpbmhlcml0O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0cGFkZGluZy1yaWdodDogMnB4O1xuXHRtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuZm9ybSB0ZCBzcGFuLmN1cnJlbmN5X3N5bWJvbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgZm9ybSB0ZCBzcGFuLmN1cnJlbmN5X3N5bWJvbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbiNzNF9hX2FubnVhbF9vdmVyaGVhZHNfZm9ybSBpbnB1dCwgXG4jczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm1fc2luZ2xlIGlucHV0LCBcbiNzNF9hX21vbnRobHlfb3ZlcmhlYWRzX2Zvcm0gaW5wdXQsIFxuI3M0X2FfcGVyc29uYWxfc2FsYXJ5X2Zvcm0gaW5wdXQsIFxuI3M0X2JfdGFibGVfbW9udGhseV9pbmNvbWUgaW5wdXQsIFxuI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgaW5wdXQsIFxuI3M0X2JfdGFibGVfbW9udGhseV9tYXRlcmlhbHNfcHJvZHVjdGlvbiBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcblx0bWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAjczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm0gaW5wdXQsIFxuLnJ0bCAjczRfYV9hbm51YWxfb3ZlcmhlYWRzX2Zvcm1fc2luZ2xlIGlucHV0LCBcbi5ydGwgI3M0X2FfbW9udGhseV9vdmVyaGVhZHNfZm9ybSBpbnB1dCwgXG4ucnRsICNzNF9hX3BlcnNvbmFsX3NhbGFyeV9mb3JtIGlucHV0LCBcbi5ydGwgI3M0X2JfdGFibGVfbW9udGhseV9pbmNvbWUgaW5wdXQsIFxuLnJ0bCAjczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyBpbnB1dCwgXG4ucnRsICNzNF9iX3RhYmxlX21vbnRobHlfbWF0ZXJpYWxzX3Byb2R1Y3Rpb24gaW5wdXQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDJweDtcblx0bWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgdGFibGUgLmlubGluZV9lbGVtZW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIFxuICAgIHNwYW4ge1xuICAgICAgICBcbiAgICB9XG4gICAgXG59XG5cblxuLypcbiAqIGBFRElUYCBUT09MVElQIFNUWUxFU1xuICovXG4udGFza3MgLnRhc2tzX2VudHJ5IC50YXNrLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5saXN0cyAubGlzdHNfZW50cnkgLmxpc3RzLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSAuY2FsZW5kYXItZW50cnktZWRpdC10b29sdGlwLFxuLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhLmVkaXQgLnByb2R1Y3QtZW50cnktZWRpdC10b29sdGlwLFxuLmN1c3RvbWVycyBhLnJlZG9fY3VzdG9tZXIgLmN1c3RvbWVyLWVkaXQtdG9vbHRpcCxcbi5zbGlkZXJzIC5zbGlkZXJfd3JhcHBlciAuc2xpZGVyLWVkaXQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiBjYWxjKDEwMCUgKyA1cHgpO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnUGVuY2lsSWNvbiggIzJkMzUzZiApO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDlweCBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuXHRjb2xvcjogIzJkMzUzZjtcblx0Ym9yZGVyOiAycHggc29saWQgIzJkMzUzZjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTAgMTUgMTAgMzApO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGJveC1zaGFkb3c6IDBweCA0cHggMTBweCByZ2JhKDAsMCwwLDAuMyk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0ei1pbmRleDogMTA7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnRhc2tzIC50YXNrc19lbnRyeSAudGFzay1lbnRyeS1lZGl0LXRvb2x0aXAsXG4ucnRsIC5saXN0cyAubGlzdHNfZW50cnkgLmxpc3RzLWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5ydGwgLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhIC5jYWxlbmRhci1lbnRyeS1lZGl0LXRvb2x0aXAsXG4ucnRsIC5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5lZGl0IC5wcm9kdWN0LWVudHJ5LWVkaXQtdG9vbHRpcCxcbi5ydGwgLmN1c3RvbWVycyBhLnJlZG9fY3VzdG9tZXIgLmN1c3RvbWVyLWVkaXQtdG9vbHRpcCxcbi5ydGwgLnNsaWRlcnMgLnNsaWRlcl93cmFwcGVyIC5zbGlkZXItZWRpdC10b29sdGlwIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDlweCBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMzAgMTAgMTUpO1xufVxuICAgIFxuICAgIFxuLnRhc2tzIC50YXNrc19lbnRyeSAudGFzay1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ubGlzdHMgLmxpc3RzX2VudHJ5IC5saXN0cy1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEgLmNhbGVuZGFyLWVudHJ5LWVkaXQtdG9vbHRpcDphZnRlcixcbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5lZGl0IC5wcm9kdWN0LWVudHJ5LWVkaXQtdG9vbHRpcDphZnRlcixcbi5jdXN0b21lcnMgYS5yZWRvX2N1c3RvbWVyIC5jdXN0b21lci1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4uc2xpZGVycyAuc2xpZGVyX3dyYXBwZXIgLnNsaWRlci1lZGl0LXRvb2x0aXA6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0d2lkdGg6IDEwcHg7XG5cdGhlaWdodDogMTBweDtcblx0Ym9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItdG9wLWNvbG9yOiAjMmQzNTNmO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogLTIwcHg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC50YXNrcyAudGFza3NfZW50cnkgLnRhc2stZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLnJ0bCAubGlzdHMgLmxpc3RzX2VudHJ5IC5saXN0cy1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSAuY2FsZW5kYXItZW50cnktZWRpdC10b29sdGlwOmFmdGVyLFxuLnJ0bCAucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEuZWRpdCAucHJvZHVjdC1lbnRyeS1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5jdXN0b21lcnMgYS5yZWRvX2N1c3RvbWVyIC5jdXN0b21lci1lZGl0LXRvb2x0aXA6YWZ0ZXIsXG4ucnRsIC5zbGlkZXJzIC5zbGlkZXJfd3JhcHBlciAuc2xpZGVyLWVkaXQtdG9vbHRpcDphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuXG4jZWRpdF91c2VyX3Byb2ZpbGUge31cbiNlZGl0X3VzZXJfcHJvZmlsZSAucHdkX2ZpZWxkX3dyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jZWRpdF91c2VyX3Byb2ZpbGUgLnB3ZF9maWVsZF93cmFwIC5wd2RfdG9nZ2xlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDIuNXJlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiA2MCU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4jZWRpdF91c2VyX3Byb2ZpbGUgLnB3ZF9maWVsZF93cmFwIC5wd2RfdG9nZ2xlOmhvdmVyIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuI2VkaXRfdXNlcl9wcm9maWxlIC5wd2RfZmllbGRfd3JhcCAucHdkX3RvZ2dsZS5zaG93LXB3ZCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9zaG93LnN2ZycpO1xufVxuI2VkaXRfdXNlcl9wcm9maWxlIC5wd2RfZmllbGRfd3JhcCAucHdkX3RvZ2dsZS5oaWRlLXB3ZCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9oaWRlLnN2ZycpO1xufVxuI2VkaXRfdXNlcl9wcm9maWxlICNjdXJyZW50X3Bhc3N3b3JkLCAjZWRpdF91c2VyX3Byb2ZpbGUgI25ld19wYXNzd29yZCwgI2VkaXRfdXNlcl9wcm9maWxlICNjb25maXJtX25ld19wYXNzd29yZCB7XG5cdHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cblxuLm5vdGlmaWNhdGlvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7IFxuXHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDAgMCAxMCAxMCk7XG5cdGNvbG9yOiAjMDAwO1xuXHRtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxuLm5vdGlmaWNhdGlvbi5zdWNjZXNzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Q0ZjVjNjtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnVGljaygjMDAwKTtcblx0YmFja2dyb3VuZC1zaXplOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoNjApO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbn1cblxuLm5vdGlmaWNhdGlvbi5hbGwtY29ybmVycyB7XG5cdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwIDEwIDEwIDEwKTtcbn1cblxuLypcbiAqIFdBUk5JTkcgUEFORUxcbiAqL1xuLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDM1KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xufVxuXG4ud2FybmluZyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud2FybmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZXhjbGFtYXRpb24uc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cblxuXG4vKlxuICogQ0FMTE9VVCBTVFlMRVNcbiAqL1xuLmNhbGxvdXQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsIDEpO1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsMCwwLDAuMyk7XG59XG5cbi5jYWxsb3V0IGgzIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApXG59XG5cbi5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCRygkZGFyay1ncmF5KTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTAlO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICByaWdodDogLTFweDtcblx0Ym9yZGVyLXJhZGl1czogMCAxMHB4IDAgMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgkZGFyay1ncmF5KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAtMXB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAwO1xufVxuXG4uY2FsbG91dC5jb21wbGV0ZWQ6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnVGljaygjZmZmKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuXHRib3JkZXItcmFkaXVzOiAwIDEwcHggMCAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuY2FsbG91dC5jb21wbGV0ZWQ6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDA7XG59XG5cbi5jYWxsb3V0IC5jaXJjbGUtbnVtYmVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubGFuZy1mYV9hZiAuY2FsbG91dCAuY2lyY2xlLW51bWJlciB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG59XG5cbi5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5jYWxsb3V0LmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG59XG4uY2FsbG91dC5kaXNhYmxlZCBhIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY2FsbG91dC5ub19jaXJjbGU6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgdG9wOiAtNTAwMHB4O1xuICAgIGxlZnQ6IC01MDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jYWxsb3V0Lndhcm5pbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnISc7XG59XG5cbi5jYWxsb3V0IHVsLCB1bC5rZXlsaXN0LCAub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCwgLnVzZXJndWlkZXNfc2VjdGlvbiB1bCwgLnVzZXJfZ3VpZGVfY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzQpO1xufVxuLmNhbGxvdXQgdWwgbGksIHVsLmtleWxpc3QgbGksIG9sLmtleWxpc3QgbGksIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpLCAudXNlcmd1aWRlc19zZWN0aW9uIHVsIGxpLCAudXNlcl9ndWlkZV9jb250ZW50IHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FsbG91dCB1bCBsaTphZnRlciwgdWwua2V5bGlzdCBsaTphZnRlciwgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIsIC51c2VyZ3VpZGVzX3NlY3Rpb24gdWwgbGk6YWZ0ZXIsIC51c2VyX2d1aWRlX2NvbnRlbnQgdWwgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwge1xuICAgIC5jYWxsb3V0IHVsLCB1bC5rZXlsaXN0LCAub3JiaXQtc2xpZGUgZmlnY2FwdGlvbiB1bCwgLnVzZXJndWlkZXNfc2VjdGlvbiB1bCwgLnVzZXJfZ3VpZGVfY29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgXG4gICAgLmNhbGxvdXQgdWwgbGk6YWZ0ZXIsIHVsLmtleWxpc3QgbGk6YWZ0ZXIsIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyLCAudXNlcmd1aWRlc19zZWN0aW9uIHVsIGxpOmFmdGVyLCAudXNlcl9ndWlkZV9jb250ZW50IHVsIGxpOmFmdGVyIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yMHB4O1xuICAgIH1cbn1cblxub2wua2V5bGlzdCwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCwgLnVzZXJfZ3VpZGVfY29udGVudCBvbCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDM0KTtcblx0Y291bnRlci1yZXNldDogb2xjb3VudGVyO1xufVxuXG5vbC5rZXlsaXN0IGxpLCAudXNlcmd1aWRlc19zZWN0aW9uIG9sIGxpLCAudXNlcl9ndWlkZV9jb250ZW50IG9sIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRjb3VudGVyLWluY3JlbWVudDogb2xjb3VudGVyO1xufVxuXG5vbC5rZXlsaXN0IGxpOmFmdGVyLCAudXNlcmd1aWRlc19zZWN0aW9uIG9sIGxpOmFmdGVyLCAudXNlcl9ndWlkZV9jb250ZW50IG9sIGxpOmFmdGVyIHtcbiAgICBjb250ZW50OiBjb3VudGVyKG9sY291bnRlcikgXCIuIFwiO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMjZweDtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIHtcbiAgICBvbC5rZXlsaXN0LCAudXNlcmd1aWRlc19zZWN0aW9uIG9sLCAudXNlcl9ndWlkZV9jb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBvbGNvdW50ZXI7XG4gICAgfVxuXG4gICAgb2wua2V5bGlzdCBsaTphZnRlciwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCBsaTphZnRlciwgLnVzZXJfZ3VpZGVfY29udGVudCBvbCBsaTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2xjb3VudGVyKSBcIlwiO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI2cHg7XG4gICAgfVxufVxuXG4udXNlcmd1aWRlc19zZWN0aW9uIHVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xufVxuXG4udXNlcmd1aWRlc19zZWN0aW9uIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udXNlcmd1aWRlc19zZWN0aW9uIHVsLnVzZXJfZ3VpZGVfZW50cnkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4udXNlcmd1aWRlc19zZWN0aW9uIHVsLnVzZXJfZ3VpZGVfZW50cnkgbGk6YWZ0ZXIge1xuXHRjb250ZW50OiBub25lO1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udXNlcl9ndWlkZV9lbnRyeSBhIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG4udXNlcl9ndWlkZV9lbnRyeSBhOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMzVzLCBvcGFjaXR5IDAuMzVzO1xufVxuXG4udXNlcl9ndWlkZV9lbnRyeSBhLmFjdGl2ZTphZnRlciwgLnVzZXJfZ3VpZGVfZW50cnkgYTpob3ZlcjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEpIGEsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgyKSBhIHtcblx0Y29sb3I6ICMyMDYzRDY7XG59XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxKSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMikgYTphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgzKSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoNCkgYSwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDUpIGEge1xuXHRjb2xvcjogI0RFM0YzQTtcbn1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDMpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg0KSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoNSkgYTphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg2KSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoNykgYSwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDgpIGEge1xuXHRjb2xvcjogIzUwQUQ0Nztcbn1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDYpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg3KSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoOCkgYTphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG59XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCg5KSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTApIGEge1xuXHRjb2xvcjogIzU3MEI3Mztcbn1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDkpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxMCkgYTphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM1NzBCNzM7XG59XG5cbi51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxMSkgYSwgLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDEyKSBhLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTMpIGEge1xuXHRjb2xvcjogI0JBMTU3ODtcbn1cblxuLnVzZXJfZ3VpZGVfZW50cnkgbGk6bnRoLWNoaWxkKDExKSBhOmFmdGVyLCAudXNlcl9ndWlkZV9lbnRyeSBsaTpudGgtY2hpbGQoMTIpIGE6YWZ0ZXIsIC51c2VyX2d1aWRlX2VudHJ5IGxpOm50aC1jaGlsZCgxMykgYTphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNCQTE1Nzg7XG59XG5cbi5jYWxsb3V0LmluZGVudGVkX3BhZGRpbmcge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDY0KTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuI3NlY3Rpb25fNS5ydGwge1xuICAgIG9sLmtleWxpc3QsIC51c2VyZ3VpZGVzX3NlY3Rpb24gb2wsIC51c2VyX2d1aWRlX2NvbnRlbnQgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgb2wua2V5bGlzdCBsaTphZnRlciwgLnVzZXJndWlkZXNfc2VjdGlvbiBvbCBsaTphZnRlciwgLnVzZXJfZ3VpZGVfY29udGVudCBvbCBsaTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIob2xjb3VudGVyKSBcIi4gXCI7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICB9XG4gICAgXG4gICAgLnVzZXJndWlkZXNfc2VjdGlvbiB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgXG4gICAgLnVzZXJndWlkZXNfc2VjdGlvbiB1bC51c2VyX2d1aWRlX2VudHJ5IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgLnVzZXJfZ3VpZGVfZW50cnkgYTphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbn1cblxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAuY2FsbG91dC5pbmRlbnRlZF9wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG59XG5cbi8vIEZJWFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHsgd2lkdGg6IDEwMCU7IH1cbi8vXG5cbi5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhhbWJ1cmdlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2hhbWJ1cmdlci1pY29uLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM2KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICB0ZXh0LWluZGVudDogLTUwMDBweDtcbn1cblxuLmhhbWJ1cmdlci1pY29uOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLypcbiAqIEdlbmVyYWwgQnV0dG9uIFN0eWxlc1xuICovXG4uYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4gICAgXG4uYnV0dG9uLnNhdmUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xufVxuLmJ1dHRvbi53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3gtc2hhZG93OiAwcHggN3B4IDEwcHggcmdiYSgwLDAsMCwwLjMpO1xufVxuLmJ1dHRvbi53aGl0ZTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0xNSUpOyB9XG5cblxuaW5wdXRbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmlucHV0W3JlYWRvbmx5XTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuYS53aGl0ZS1saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuYS53aGl0ZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8gNDA0XG4jZXJyb3JfNDA0IHt9XG4jZXJyb3JfNDA0IHAgeyBjb2xvcjogIzAwMDsgfVxuXG4ucHJldmVudC1pbnRlcmFjdGlvbiAqIHtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucHJldmVudC1pbnRlcmFjdGlvbiAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwsIC5wcmV2ZW50LWludGVyYWN0aW9uIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAqIHtcblx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbnNlY3Rpb24ge1xuXHRtYXgtd2lkdGg6IHJlbS1jYWxjKDIzOTApO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICpcbiAqIEVORCBRVUVTVElPTiBTVFlMRVNcbiAqXG4gKi9cbi5lbmQtcXVlc3Rpb25zIHt9XG5cbi5lbmQtcXVlc3Rpb25zIGxhYmVsIHtcblx0Y29sb3I6ICM2NjY7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5lbmQtcXVlc3Rpb25zIC5tZW51IHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5lbmQtcXVlc3Rpb25zIC5tZW51IC5saSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW5kLXF1ZXN0aW9ucyAubWVudSBsYWJlbCB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMTBweDtcblx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZW5kLXF1ZXN0aW9ucyAubWVudSBsYWJlbDpob3ZlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI3NlY3Rpb25zX2FsbF9jb21wbGV0ZWRfcXVlc3Rpb25zIGgzIHtcblx0Y29sb3I6ICMyRDM1M0Y7XG5cdG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5lbmQtcXVlc3Rpb25zIGhyIHtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI2VlZTtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLnN1cnZleV9jYWxsb3V0IHtcblx0Ym9yZGVyLXJhZGl1czogMTBweDsgXG5cdGJveC1zaGFkb3c6IDBweCAycHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IFxuXHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblx0cGFkZGluZzogcmVtLWNhbGMoMjggMjAgNSAyMCk7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLypcbiAqXG4gKiBBQ0NPVU5UIFNUWUxFU1xuICpcbiAqL1xuI2FjY291bnQge31cbiNhY2NvdW50IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zIHsgYm94LXNoYWRvdzogbm9uZTsgcGFkZGluZy10b3A6IDA7IH1cbiNhY2NvdW50IHNlY3Rpb24gYXJ0aWNsZSB1bCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbi1sZWZ0OiAwOyB9XG4jYWNjb3VudCBoMSB7IGNvbG9yOiAjMmMzNTNkOyBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTsgfVxuI2FjY291bnQgcCB7IGNvbG9yOiAjMDAwOyBmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgfVxuI2FjY291bnQgaW1nLmljb24geyBtYXgtd2lkdGg6IDM2MHB4OyB9XG4jYWNjb3VudCAubmF2LWJ1dHRvbnMuYnRuXzF4IHsgcGFkZGluZy10b3A6IDA7IH1cbiNhY2NvdW50IC5uYXYtYnV0dG9ucy5idG5fMXggLmJ1dHRvbi53aGl0ZSB7IGJveC1zaGFkb3c6IG5vbmU7IH1cbiNhY2NvdW50IC5idXR0b24uc3VibWl0IHsgYm9yZGVyLXJhZGl1czogMTAwcHg7IHdpZHRoOiAxMDAlOyB9XG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAjYWNjb3VudCBoMSB7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpOyB9XG59XG5cblxuLypcbiAqXG4gKiBCVVNJTkVTUyBQTEFOLCBUTy1ET1MsIFZJREVPUywgUkVTT1VSQ0VTIFNUWUxFU1xuICpcbiAqL1xuI2J1c2luZXNzX3BsYW4ge31cbiNidXNpbmVzc19wbGFuIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLCAjdG9kb3Mgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMsICNmaWxtcyBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucywgI3Jlc291cmNlcyBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucywgI3VzZXJndWlkZXMgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMgeyBib3gtc2hhZG93OiBub25lOyBwYWRkaW5nLXRvcDogMDsgfVxuI2J1c2luZXNzX3BsYW4gaDEsICN0b2RvcyBoMSwgI2ZpbG1zIGgxLCAjcmVzb3VyY2VzIGgxLCAjdXNlcmd1aWRlcyBoMSB7IGNvbG9yOiAjMmMzNTNkOyBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl90aXRsZSB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbiNidXNpbmVzc19wbGFuIHVsLmJ1c2luZXNzX3BsYW5fYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUsICNidXNpbmVzc19wbGFuIHVsLmJ1c2luZXNzX3BsYW5fYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi1pdGVtIHsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApOyB9XG4jYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLCAjYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLWNvbnRlbnQgeyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi10aXRsZSB7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpOyB9XG4jYnVzaW5lc3NfcGxhbiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9kb3duLWNhcmV0LXdoaXRlLnN2ZycgKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgY29udGVudDogJyc7XG59XG4jYnVzaW5lc3NfcGxhbiAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvdXAtY2FyZXQtd2hpdGUuc3ZnJyApO1xufVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8xIC5hY2NvcmRpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzAwNUFCODsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8yIC5hY2NvcmRpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI0Y3N0M0RDsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl8zIC5hY2NvcmRpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogIzUxQUU0MDsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl80IC5hY2NvcmRpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI0NDNURGRjsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2VjdGlvbl81IC5hY2NvcmRpb24tdGl0bGUgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjsgfVxuXG4jYnVzaW5lc3NfcGxhbiAuc2xpZGVyLXN0YXRpYyBhIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNCk7XG59XG4jYnVzaW5lc3NfcGxhbl90b2Rvc19ldGNfbWVudSBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJveC1zaGFkb3cgMC41cywgY29sb3IgMC41cztcbn1cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMCU7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuNXM7XG59XG4jYnVzaW5lc3NfcGxhbl90b2Rvc19ldGNfbWVudSBhOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiAxMDIlO1xufVxuI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUgPiBhLmFjdGl2ZSB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIC8vY29sb3I6ICNmZmY7XG4gICAgLy9ib3gtc2hhZG93OiAwcHggN3B4IDEwcHggcmdiYSgwLDAsMCwwLjMpO1xufVxuI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUgPiBhLmFjdGl2ZTphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogMTAyJTtcbn1cbiNidXNpbmVzc19wbGFuX3RvZG9zX2V0Y19tZW51ID4gYTpmb2N1cywgI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUgPiBhOmhvdmVyIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgLy9jb2xvcjogI2ZmZjtcbiAgICAvL2JveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsMCwwLDAuMyk7XG59XG5cbi5maWxtcy1zdWJtZW51IHtcbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICAgICAgfVxuICAgICAgICBhLmFjdGl2ZTphZnRlciwgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMiU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICBsaTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIGxpOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbn1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xuICAgIC5maWxtcy1zdWJtZW51IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmFjdGl2ZTphZnRlciwgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAyJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgIGxpOmJlZm9yZSwgbGk6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1xcMjAyMic7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIGxpOmFmdGVyLCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDIwMjInO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3VzZXJndWlkZXMgaHIsICNyZXNvdXJjZXMgaHIsICN1c2VyZ3VpZGVzX21vZGFsIGhyIHtcblx0bWFyZ2luLXRvcDogM3JlbTtcblx0bWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuI3VzZXJndWlkZXMgaDIsICNyZXNvdXJjZXMgaDIsICN0b2RvcyBoMiwgI2ZpbG1zIGgyLCAjdXNlcmd1aWRlc19tb2RhbCBoMiB7XG5cdGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuI3VzZXJndWlkZXMgLnNlY3Rpb24tMSBoMiwgI3VzZXJndWlkZXMgLnNlY3Rpb24tMSBoNCwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tMSBoMiwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tMSBoNCB7XG5cdGNvbG9yOiAjMjA2M0Q2O1xufVxuXG4jdXNlcmd1aWRlcyAuc2VjdGlvbi0yIGgyLCAjdXNlcmd1aWRlcyAuc2VjdGlvbi0yIGg0LCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi0yIGgyLCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi0yIGg0IHtcblx0Y29sb3I6ICNERTNGM0E7XG59XG5cbiN1c2VyZ3VpZGVzIC5zZWN0aW9uLTMgaDIsICN1c2VyZ3VpZGVzIC5zZWN0aW9uLTMgaDQsICN1c2VyZ3VpZGVzX21vZGFsIC5zZWN0aW9uLTMgaDIsICN1c2VyZ3VpZGVzX21vZGFsIC5zZWN0aW9uLTMgaDQge1xuXHRjb2xvcjogIzUwQUQ0Nztcbn1cblxuI3VzZXJndWlkZXMgLnNlY3Rpb24tNCBoMiwgI3VzZXJndWlkZXMgLnNlY3Rpb24tNCBoNCwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tNCBoMiwgI3VzZXJndWlkZXNfbW9kYWwgLnNlY3Rpb24tNCBoNCB7XG5cdGNvbG9yOiAjNTcwQjczO1xufVxuXG4jdXNlcmd1aWRlcyAuc2VjdGlvbi01IGgyLCAjdXNlcmd1aWRlcyAuc2VjdGlvbi01IGg0LCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi01IGgyLCAjdXNlcmd1aWRlc19tb2RhbCAuc2VjdGlvbi01IGg0IHtcblx0Y29sb3I6ICNCQTE1Nzg7XG59XG5cbi5idXR0b24ud2hpdGUudXNlcmd1aWRlLW1vZGFsLWJ1dHRvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG5cdGNvbG9yOiAjZmZmO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRwYWRkaW5nOiAwLjc1cmVtIDAuNzVyZW07XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXM7XG59XG5cbi5idXR0b24ud2hpdGUudXNlcmd1aWRlLW1vZGFsLWJ1dHRvbjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4zNSk7XG59XG5cbi51c2VyZ3VpZGUtbGluay1wYXJhLFxuI3NlY3Rpb25fMSAudHJhbnNwYXJlbnQgPiBwLnVzZXJndWlkZS1saW5rLXBhcmEsXG4jc2VjdGlvbl8yIC50cmFuc3BhcmVudCA+IHAudXNlcmd1aWRlLWxpbmstcGFyYSxcbiNzZWN0aW9uXzMgLnRyYW5zcGFyZW50ID4gcC51c2VyZ3VpZGUtbGluay1wYXJhLFxuI3NlY3Rpb25fNCAudHJhbnNwYXJlbnQgPiBwLnVzZXJndWlkZS1saW5rLXBhcmEsXG4jc2VjdGlvbl81IC50cmFuc3BhcmVudCA+IHAudXNlcmd1aWRlLWxpbmstcGFyYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHRleHQtc2hhZG93OiBub25lO1xufVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSBhIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE4KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC51c2VyZ3VpZGUtbGluay1wYXJhIGEge1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE4KTtcbn1cblxuLnVzZXJndWlkZS1saW5rLXBhcmEgYTpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cbi51c2VyZ3VpZGUtbGluay1wYXJhIGE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUzJTtcblx0cmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnQXJyb3coI2ZmZiwgcmlnaHQpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTQpIHJlbS1jYWxjKDEwKTtcblx0d2lkdGg6IHJlbS1jYWxjKDE0KTtcblx0aGVpZ2h0OiByZW0tY2FsYygxMCk7XG5cdHRyYW5zaXRpb246IHJpZ2h0IDAuMjVzO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC51c2VyZ3VpZGUtbGluay1wYXJhIGE6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z0Fycm93KCNmZmYsIGxlZnQpO1xufVxuXG4udXNlcmd1aWRlLWxpbmstcGFyYSBhOmhvdmVyOmFmdGVyIHtcblx0cmlnaHQ6IC0zcHg7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnVzZXJndWlkZS1saW5rLXBhcmEgYTpob3ZlcjphZnRlciB7XG5cdHJpZ2h0OiBhdXRvO1xuXHRsZWZ0OiAtM3B4O1xufVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblx0I2J1c2luZXNzX3BsYW4gaDEsICN0b2RvcyBoMSwgI2ZpbG1zIGgxLCAjcmVzb3VyY2VzIGgxLCAjdXNlcmd1aWRlcyBoMSwgI3VzZXJndWlkZXNfbW9kYWwgaDEgeyBcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDM2KTsgXG5cdH1cblx0XG5cdCN1c2VyZ3VpZGVzIGgyLCAjcmVzb3VyY2VzIGgyLCAjdG9kb3MgaDIsICNmaWxtcyBoMiwgI3VzZXJndWlkZXNfbW9kYWwgaDIge1xuXHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHR9XG59XG5cblxuLypcbiAqXG4gKiBTRUNUSU9OIFNUWUxFU1xuICpcbiAqL1xuXG4uc2VjdGlvbl90aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4gICAgdGV4dC1zaGFkb3c6IDBweCA3cHggNnB4IHJnYmEoMCwwLDAsMC40KTtcbn1cblxuLnNlY3Rpb25fdGl0bGUgc3BhbiB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDcwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4uc2VjdGlvbl90aXRsZSBzcGFuIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWN0aW9uX3RpdGxlLnNtYWxsZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDkwKTtcbn1cbi5zZWN0aW9uX3RpdGxlLnNtYWxsZXIgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTkwcHgpO1xufVxuXG4uc2VjdGlvbl90aXRsZS5sYXJnZXIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xufVxuXG5cbnNlY3Rpb24gYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xufVxuXG5zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucyB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgbWluLWhlaWdodDogNzh2aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy5zcGxpdF90b3Age1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDEwIDEwIDAgMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgbWluLWhlaWdodDogYXV0bztcbn1cbnNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zLnNwbGl0X2JvdHRvbSB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMCAwIDEwIDEwKTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xufVxuc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMubm9fYm9yZGVyX3JhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMCk7XG59XG5zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy5uby1taW4taGVpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xufVxuc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMudHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy5uby1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5rZXlfYmxvY2sgeyBcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoICMwMDAsIDAuMyApO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgLmluc2V0LXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6ICM0RDRENEQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSggIzAwMCwgMC4zICk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjApO1xuICAgICAgICBtaW4td2lkdGg6IDE5MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbn1cblxuLmtleV9ibG9jay53aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmtleV9ibG9jay5wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNik7XG59XG5cbiNkYXNoYm9hcmQgaDEge1xuICAgIGNvbG9yOiAjMmMzNTNkO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwICApO1xufVxuXG4jZGFzaGJvYXJkIHNlY3Rpb24sICNzZWN0aW9uXzEgc2VjdGlvbiwgI3NlY3Rpb25fMiBzZWN0aW9uLCAjc2VjdGlvbl8zIHNlY3Rpb24sICNzZWN0aW9uXzQgc2VjdGlvbiwgI3NlY3Rpb25fNSBzZWN0aW9uIHtcbiAgICAvKm1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTsqL1xufVxuXG4jZGFzaGJvYXJkIGgxLmxvZ28gYSwgI3NlY3Rpb25fMSBoMS5sb2dvIGEsICNzZWN0aW9uXzIgaDEubG9nbyBhLCAjc2VjdGlvbl8zIGgxLmxvZ28gYSwgI3NlY3Rpb25fNCBoMS5sb2dvIGEsICNzZWN0aW9uXzUgaDEubG9nbyBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbiNkYXNoYm9hcmQgaDEubG9nbywgI3NlY3Rpb25fMSBoMS5sb2dvLCAjc2VjdGlvbl8yIGgxLmxvZ28sICNzZWN0aW9uXzMgaDEubG9nbywgI3NlY3Rpb25fNCBoMS5sb2dvLCAjc2VjdGlvbl81IGgxLmxvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNkYXNoYm9hcmQsICNhY2NvdW50IHtcbiAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDAtZGFzaC1iZy1yaWdodC5zdmcnKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDAtZGFzaC1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvO1xuICAgIC8vdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDFzLCBiYWNrZ3JvdW5kLXBvc2l0aW9uIDFzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAwLjZzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4jZGFzaGJvYXJkIC5yZXZlYWwuZnVsbCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiNkYXNoYm9hcmQgLndhcm5pbmc6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTsgfVxuXG4jYnVzaW5lc3NfcGxhbiwgI3RvZG9zLCAjZmlsbXMsICNyZXNvdXJjZXMsICN1c2VyZ3VpZGVzLCAjYWxsX3NlY3Rpb25zX2NvbXBsZXRlZF9zdXJ2ZXkge1xuICAgIGJhY2tncm91bmQ6IFxuICAgICAgICB1cmwoJy4uL2ltZy8wMC1kYXNoLWJnLXJpZ2h0LnN2ZycpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wMC1kYXNoLWJnLWxlZnQuc3ZnJykgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4IGF1dG87XG4gICAgLy90cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMXMsIGJhY2tncm91bmQtcG9zaXRpb24gMXM7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuNnM7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbiNidXNpbmVzc19wbGFuIC5yZXZlYWwuZnVsbCwgI3RvZG9zIC5yZXZlYWwuZnVsbCwgI2ZpbG1zIC5yZXZlYWwuZnVsbCwgI3Jlc291cmNlcyAucmV2ZWFsLmZ1bGwsICN1c2VyZ3VpZGVzIC5yZXZlYWwuZnVsbCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuI3NlY3Rpb25fMSwgI3NlY3Rpb25fMiwgI3NlY3Rpb25fMywgI3NlY3Rpb25fNCwgI3NlY3Rpb25fNSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bztcbiAgICAvL3RyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAxcywgYmFja2dyb3VuZC1wb3NpdGlvbiAxcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC42cztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4jc2VjdGlvbl8xIC5yZXZlYWwuZnVsbCAubWVudSBhLCBcbiNzZWN0aW9uXzIgLnJldmVhbC5mdWxsIC5tZW51IGEsIFxuI3NlY3Rpb25fMyAucmV2ZWFsLmZ1bGwgLm1lbnUgYSwgXG4jc2VjdGlvbl80IC5yZXZlYWwuZnVsbCAubWVudSBhLCBcbiNzZWN0aW9uXzUgLnJldmVhbC5mdWxsIC5tZW51IGEgeyBcbiAgICBjb2xvcjogI2ZmZjsgXG59XG4jc2VjdGlvbl8xIC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uLCBcbiNzZWN0aW9uXzIgLnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24sIFxuI3NlY3Rpb25fMyAucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbiwgXG4jc2VjdGlvbl80IC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uLCBcbiNzZWN0aW9uXzUgLnJldmVhbC5mdWxsIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2xvc2UtaWNvbi1saWdodC5zdmcpO1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG4jc2VjdGlvbl8xIC5oYW1idXJnZXItaWNvbiwgXG4jc2VjdGlvbl8yIC5oYW1idXJnZXItaWNvbiwgXG4jc2VjdGlvbl8zIC5oYW1idXJnZXItaWNvbiwgXG4jc2VjdGlvbl80IC5oYW1idXJnZXItaWNvbiwgXG4jc2VjdGlvbl81IC5oYW1idXJnZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9oYW1idXJnZXItaWNvbi1saWdodC5zdmcpO1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG4jc2VjdGlvbl8xIC5idXR0b24uY2xlYXIsIFxuI3NlY3Rpb25fMiAuYnV0dG9uLmNsZWFyLCBcbiNzZWN0aW9uXzMgLmJ1dHRvbi5jbGVhciwgXG4jc2VjdGlvbl80IC5idXR0b24uY2xlYXIsIFxuI3NlY3Rpb25fNSAuYnV0dG9uLmNsZWFyLCBcbiNzZWN0aW9uXzEgLnRyYW5zcGFyZW50ID4gaDIsIFxuI3NlY3Rpb25fMiAudHJhbnNwYXJlbnQgPiBoMiwgXG4jc2VjdGlvbl8zIC50cmFuc3BhcmVudCA+IGgyLCBcbiNzZWN0aW9uXzQgLnRyYW5zcGFyZW50ID4gaDIsIFxuI3NlY3Rpb25fNSAudHJhbnNwYXJlbnQgPiBoMiwgXG4jc2VjdGlvbl8xIC50cmFuc3BhcmVudCA+IGgzLCBcbiNzZWN0aW9uXzIgLnRyYW5zcGFyZW50ID4gaDMsIFxuI3NlY3Rpb25fMyAudHJhbnNwYXJlbnQgPiBoMywgXG4jc2VjdGlvbl80IC50cmFuc3BhcmVudCA+IGgzLFxuI3NlY3Rpb25fNSAudHJhbnNwYXJlbnQgPiBoMyB7XG4gICAgY29sb3I6ICNmZmY7XG59XG4jc2VjdGlvbl8xIHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zOm5vdCgudHJhbnNwYXJlbnQpLCBcbiNzZWN0aW9uXzIgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnM6bm90KC50cmFuc3BhcmVudCksIFxuI3NlY3Rpb25fMyBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1uczpub3QoLnRyYW5zcGFyZW50KSwgXG4jc2VjdGlvbl80IHNlY3Rpb24gYXJ0aWNsZSA+IC5jb2x1bW5zOm5vdCgudHJhbnNwYXJlbnQpLFxuI3NlY3Rpb25fNSBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1uczpub3QoLnRyYW5zcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuXG4ucmV2ZWFsIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCA0MCA0MCA0MCk7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbn1cblxuLnJldmVhbC5sYW5nX21lbnVfbW9kYWwge1xuICAgIHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZWY1ZmI7XG59XG5cbi5yZXZlYWwucG9wX21lbnVfbW9kYWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbn1cblxuLnJldmVhbC5zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4ubmF2LWJ1dHRvbnMge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjVweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5hdi1idXR0b25zIC5iYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtYnV0dG9ucyAuYmFjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTBcXDIwMzknO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuM3JlbTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLm5hdi1idXR0b25zIC5iYWNrOmJlZm9yZSB7XG4gICAgLy9jb250ZW50OiAnXFwwMGEwXFwyMDNBJztcbiAgICBwYWRkaW5nLWxlZnQ6IDAuM3JlbTtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5yZXZlYWwgLm5hdi1idXR0b25zIHtcbiAgICBib3R0b206IDI5cHg7XG59XG5cbi5uYXYtYnV0dG9ucy5uby1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm5hdi1idXR0b25zLm5vLWFic29sdXRlLWJvdHRvbSB7XG4gICAgYm90dG9tOiBhdXRvO1xufVxuLm5hdi1idXR0b25zLm5vLXRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuXG5cbi5uYXYtYnV0dG9ucy5tb2RhbC1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAgIGhlaWdodDogMTVweDtcbn1cblxuLm5hdi1idXR0b25zIGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oZWFkaW5nX3JvdyBwLCAuaGVhZGluZ19yb3cgaDIsIC5oZWFkaW5nX3JvdyBoMywgLm5hdi1idXR0b25zIGEud2hpdGVfdGV4dCB7XG4gICAgY29sb3I6ICNmZmY7XG59XG4jZGFzaGJvYXJkIC5oZWFkaW5nX3JvdyBwLCAjZGFzaGJvYXJkIC5oZWFkaW5nX3JvdyBoMiwgI2Rhc2hib2FyZCAuaGVhZGluZ19yb3cgaDMge1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4jZGFzaGJvYXJkIC5oZWFkaW5nX3JvdyBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbn1cblxuI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUge1xuXHRcbn1cblxuI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYSB7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTMwKTtcblx0bWluLXdpZHRoOiAxMzBweDtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xufVxuXG4jZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhOmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjYmRiZGJkLDAuNSk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiAzOSU7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiA1MCU7XG5cdGhlaWdodDogMTE1cHg7XG5cdHdpZHRoOiAxMTVweDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzLCBiYWNrZ3JvdW5kLXNpemUgMC4yNXM7XG59XG5cbiNkYXNoYm9hcmQgLmJwbGFuX2Rhc2hib2FyZF9tZW51IGE6aG92ZXI6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjYmRiZGJkLDAuODUpO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDQ1JTtcbn1cblxuI2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYS5wbGF5OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2NpcmNsZS1wbGF5LnN2ZycpO1xufVxuXG4jZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhLnRpY2s6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2lyY2xlLXRpY2suc3ZnJyk7XG59XG5cbiNkYXNoYm9hcmQgLmJwbGFuX2Rhc2hib2FyZF9tZW51IGEubGluZXM6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvY2lyY2xlLWxpbmVzLnN2ZycpO1xufVxuXG4jZGFzaGJvYXJkIC5icGxhbl9kYXNoYm9hcmRfbWVudSBhLnBlbmNpbDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9jaXJjbGUtcGVuY2lsLnN2ZycpO1xufVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblx0I2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYSB7XG5cdFx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNyk7XG5cdFx0Y29sb3I6ICMyZDM1M2Y7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4NSk7XG5cdFx0bWluLXdpZHRoOiAxMzBweDtcblx0fVxuXHRcblx0I2Rhc2hib2FyZCAuYnBsYW5fZGFzaGJvYXJkX21lbnUgYTpiZWZvcmUge1xuXHRcdGhlaWdodDogNzBweDtcblx0XHR3aWR0aDogNzBweDtcblx0fVxufVxuXG5cbi5jbGVhcl9jdXJ2ZV9zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICBcbiAgICAucmV2ZWFsLnNtYWxsIC5uYXYtYnV0dG9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2VjdGlvbl90aXRsZS5sYXJnZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fMSAuYnV0dG9uLmNsZWFyLCAjc2VjdGlvbl8yIC5idXR0b24uY2xlYXIsICNzZWN0aW9uXzMgLmJ1dHRvbi5jbGVhciwgI3NlY3Rpb25fNCAuYnV0dG9uLmNsZWFyLCAjc2VjdGlvbl81IC5idXR0b24uY2xlYXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fMSAuYnV0dG9uLndoaXRlX3RleHQsICNzZWN0aW9uXzIgLmJ1dHRvbi53aGl0ZV90ZXh0LCAjc2VjdGlvbl8zIC5idXR0b24ud2hpdGVfdGV4dCwgI3NlY3Rpb25fNCAuYnV0dG9uLndoaXRlX3RleHQsICNzZWN0aW9uXzUgLmJ1dHRvbi53aGl0ZV90ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICAgIFxuICAgIC5uYXYtYnV0dG9ucy5uby10cmFuc2Zvcm0tc21hbGwge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICAgIFxuICAgICNkYXNoYm9hcmQsICNhY2NvdW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzAwLWRhc2gtYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDAtZGFzaC1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgI2J1c2luZXNzX3BsYW4sICN0b2RvcywgI2ZpbG1zLCAjcmVzb3VyY2VzLCAjdXNlcmd1aWRlcywgI2FsbF9zZWN0aW9uc19jb21wbGV0ZWRfc3VydmV5IHtcbiAgICAgICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzAwLWRhc2gtYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDAtZGFzaC1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bztcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fMSBzZWN0aW9uLCAjc2VjdGlvbl8yIHNlY3Rpb24sICNzZWN0aW9uXzMgc2VjdGlvbiwgI3NlY3Rpb25fNCBzZWN0aW9uLCAjc2VjdGlvbl81IHNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl8xIGgxLmxvZ28gYSwgI3NlY3Rpb25fMiBoMS5sb2dvIGEsICNzZWN0aW9uXzMgaDEubG9nbyBhLCAjc2VjdGlvbl80IGgxLmxvZ28gYSwgI3NlY3Rpb25fNSBoMS5sb2dvIGEge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fMSBhcnRpY2xlLCAjc2VjdGlvbl8yIGFydGljbGUsICNzZWN0aW9uXzMgYXJ0aWNsZSwgI3NlY3Rpb25fNCBhcnRpY2xlLCAjc2VjdGlvbl81IGFydGljbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgIFxuICAgICNzZWN0aW9uXzEgLnNvbGlkLCAjc2VjdGlvbl8yIC5zb2xpZCwgI3NlY3Rpb25fMyAuc29saWQsICNzZWN0aW9uXzQgLnNvbGlkLCAjc2VjdGlvbl81IC5zb2xpZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuICAgIFxuICAgIC5uYXYtYnV0dG9ucyB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gICAgXG4gICAgLmNsZWFyX2N1cnZlX3NtYWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvY3VydmUtYmctY2xlYXIuc3ZnJykgYm90dG9tIC0ycHggbGVmdCAtM3B4IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDEwMCUgKyA2cHgpO1xuICAgICAgICAvKnBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7Ki9cbiAgICB9XG5cbn1cblxuXG4vLyBCRyBURVNUU1xuLm11bHRpX2JnIHtcbiAgICBcbn1cbi5tdWx0aV9iZyBhcnRpY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDEtYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgMCBuby1yZXBlYXQsXG4gICAgICAgIHVybCgnLi4vaW1nLzAxLWJnLWxlZnQuc3ZnJykgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgICAvKmJhY2tncm91bmQtc2l6ZTogOTUlOyovXG4gICAgLypoZWlnaHQ6IDEwMHZoOyovXG4gICAgLyptYXgtd2lkdGg6IDEyMDBweDsqL1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQxOTQ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMXMsIGJhY2tncm91bmQtcG9zaXRpb24gMXM7XG59XG5cbiNmbGV4aV9iZ19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIC8qcG9zaXRpb246IHJlbGF0aXZlOyovXG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXRvcDo1cHggc29saWQgcmVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAubXVsdGlfYmcgYXJ0aWNsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IFxuICAgICAgICB1cmwoJy4uL2ltZy8wMS1iZy1yaWdodC5zdmcnKSB0b3AgMCByaWdodCAtNTAwcHggbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wMS1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MTk0NDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bztcbiAgICB9XG59XG5cblxuXG5cblxuLypcbiAqIFBST0dSRVNTIElORElDQVRPUiBDSVJDTEVTXG4gKi9cbi5wcm9ncmVzc19pbmRpY2F0b3JfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4ucHJvZ3Jlc3NfaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5wcm9ncmVzc19pbmRpY2F0b3JfdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjJweCAxNXB4IDAgMTVweDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cblxuLypcbiAqIFBPUCBDSVJDTEUgLyBTSEFQRVNcbiAqL1xuLnBvcF9jaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucG9wX2NpcmNsZSBwLCAucG9wX2NpcmNsZSBoMiwgLnBvcF9jaXJjbGUgaDMsIC5wb3BfY2lyY2xlIGg0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucG9wX2NpcmNsZSBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucG9wX3NxdWFyZSB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wb3Bfc3F1YXJlIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLmhlcHRhZ29uX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuLmhlcHRhZ29uX2NvbnRhaW5lciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5oZXB0YWdvbiB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaGVwdGFnb24gcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRpYW1vbmRfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4uZGlhbW9uZF9jb250YWluZXIgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4uZGlhbW9uZCB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGlhbW9uZCBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2lyY2xlIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbi5jaXJjbGUgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNpcmNsZS5maWxsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG4ucmVjdCB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4ucmVjdCBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmVjdC5maWxsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG59XG5cbi5yZWN0LmZsZXhpYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG4ucXVlc3Rpb24ge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xdWVzdGlvbjphZnRlciB7XG4gICAgY29udGVudDogJz8nO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDkwKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5xdWVzdGlvbiBwIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8qXG4gKiBNSVNDXG4gKi9cbi5wbHVzX2ljb24ge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx1c19pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYm94IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxMHB4ICNjY2M7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcbn1cblxuLnBhbmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufVxuXG4uYm90dG9tX2JvcmRlciB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4uZGFzaGVkLCAuYnV0dG9uLmRhc2hlZCB7IGJvcmRlcjogM3B4IGRhc2hlZCAjY2NjOyB9XG4uZGFzaGVkX2RhcmsgeyBib3JkZXI6IDNweCBkYXNoZWQgIzY2NjsgfVxudGFibGUgdGggeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIHRhYmxlIHRoIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmZpbGxlZCB7IGJhY2tncm91bmQtY29sb3I6ICNiYmI7IH1cbi5yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLnRydW5jYXRlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jaGFyIHsgYm9yZGVyLXJhZGl1czoxMDBweDsgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgcGFkZGluZzogcmVtLWNhbGMoNSk7IH1cblxuLnRhYnMueDIgLnRhYnMtdGl0bGUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG50ZC52ZXJ0aWNhbGx5X2FsaWduIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5cbi8qXG4gKiBWRVJUSUNBTCBTVEVQIFNMSURFUlxuICovXG4udmVydF9zdGVwX3NsaWRlcl9jb250YWluZXIge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCk7XG59XG4udmVydF9zdGVwX3NsaWRlciB7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udmVydF9zdGVwX3NsaWRlcjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2NjYztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xufVxuLnZlcnRfc3RlcF9zbGlkZXIgbGkge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDozMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbn1cbi52ZXJ0X3N0ZXBfc2xpZGVyIGxpIC5zbGlkZXJfdG9vbHRpcCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBoZWlnaHQ6IDMycHg7IC8qIDhweCBUb3AgcGFkZGluZyArIDE2cHggRm9udCBzaXplICsgOHB4IGJvdHRvbSBwYWRkaW5nLCBsaW5lIGhlaWdodCBvZiAxICAqL1xufVxuLnZlcnRfc3RlcF9zbGlkZXIgbGkgLnNsaWRlcl90b29sdGlwOmFmdGVyIHtcblx0cmlnaHQ6IDEwMCU7XG5cdHRvcDogNTAlO1xuXHRib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRjb250ZW50OiBcIiBcIjtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDApO1xuXHRib3JkZXItcmlnaHQtY29sb3I6ICNjY2M7XG5cdGJvcmRlci13aWR0aDogMTBweDtcblx0bWFyZ2luLXRvcDogLTEwcHg7XG59XG4udmVydF9zdGVwX3NsaWRlciBsaSAuc2xpZGVyX3Rvb2x0aXAgYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4udmVydF9zdGVwX3NsaWRlciBsaSAuc2xpZGVyX3Rvb2x0aXAgYS50cnVuY2F0ZSB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnZlcnRfc3RlcF9zbGlkZXIgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc8ID4nO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuXG5cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgIFxuXG59XG5cbi8qIDc0MHB4IC0gMTAyM3B4IC0gTWVkaXVtIE9ubHkgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjQ2LjI1MGVtKSBhbmQgKG1heC13aWR0aDo2My45MzhlbSkge1xuICAgXG59XG4iLCIvKlxuICpcbiAqIE9OQk9BUkRJTkcgU1RZTEVTXG4gKlxuICovXG4jb25ib2FyZGluZyB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IH1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZSB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCwgdG9wIHJpZ2h0LCBib3R0b20gcmlnaHQsIGJvdHRvbSBsZWZ0O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLmJsdWUgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogIzA0MTk0NDtcblx0YmFja2dyb3VuZC1zaXplOiAzMDBweCAyOTRweCwgMjg0cHggNTM0cHgsIDI5OHB4IDI3NXB4LCA0NDJweCAzMjlweDtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2JnLXNoYXBlcy1ibHVlLXRvcC1sZWZ0LnN2ZycgKSwgdXJsKCAnLi4vaW1nL2JnLXNoYXBlcy1ibHVlLXRvcC1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtYmx1ZS1ib3R0b20tcmlnaHQuc3ZnJyApLCB1cmwoICcuLi9pbWcvYmctc2hhcGVzLWJsdWUtYm90dG9tLWxlZnQuc3ZnJyApO1xufVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnJlZCB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwMjM5O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDM1M3B4IDM0N3B4LCAyMzhweCA1NzBweCwgMjk4cHggMjg0cHgsIDM2NHB4IDI2NnB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvYmctc2hhcGVzLXJlZC10b3AtbGVmdC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcmVkLXRvcC1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcmVkLWJvdHRvbS1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcmVkLWJvdHRvbS1sZWZ0LnN2ZycgKTtcbn1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5ncmVlbiB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMTM0ODUyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDUwNXB4IDQ1N3B4LCAzOTdweCA2MjZweCwgMjU1cHggMzIycHgsIDU0NXB4IDI5M3B4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvYmctc2hhcGVzLWdyZWVuLXRvcC1sZWZ0LnN2ZycgKSwgdXJsKCAnLi4vaW1nL2JnLXNoYXBlcy1ncmVlbi10b3AtcmlnaHQuc3ZnJyApLCB1cmwoICcuLi9pbWcvYmctc2hhcGVzLWdyZWVuLWJvdHRvbS1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtZ3JlZW4tYm90dG9tLWxlZnQuc3ZnJyApO1xufVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnB1cnBsZSB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzAwYzVlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI3OHB4IDQ2NXB4LCA0NTVweCA0MjJweCwgMzA1cHggNDQycHgsIDYxOHB4IDQ1MHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvYmctc2hhcGVzLXB1cnBsZS10b3AtbGVmdC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcHVycGxlLXRvcC1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcHVycGxlLWJvdHRvbS1yaWdodC5zdmcnICksIHVybCggJy4uL2ltZy9iZy1zaGFwZXMtcHVycGxlLWJvdHRvbS1sZWZ0LnN2ZycgKTtcbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAgI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLmJsdWUgeyBcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDE5NnB4LCAyMDBweCAzNzZweCwgMjAwcHggMTg1cHgsIDI1MHB4IDE4NnB4O1xuXHR9XG5cdCNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5yZWQgeyBcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDE5N3B4LCAxNTBweCAzNTlweCwgMjAwcHggMTkxcHgsIDI2MHB4IDE5MHB4O1xuXHR9XG5cdCNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5ncmVlbiB7IFxuXHRcdGJhY2tncm91bmQtc2l6ZTogMzQwcHggMzA4cHgsIDIzMHB4IDM2M3B4LCAxOTBweCAyNDBweCwgMzUwcHggMTg4cHg7XG5cdH1cblx0I29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnB1cnBsZSB7IFxuXHRcdGJhY2tncm91bmQtc2l6ZTogMjAwcHggMzM1cHgsIDI5MHB4IDI2OXB4LCAyMDBweCAyOTBweCwgNDAwcHggMjkxcHg7XG5cdH1cbn1cblxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnN0ZXBfMiB7IH1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5zdGVwXzMgeyB9XG4jb25ib2FyZGluZyBzZWN0aW9uIGFydGljbGUuc3RlcF80IHsgfVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnN0ZXBfNSB7IH1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5zdGVwXzYgeyB9XG4jb25ib2FyZGluZyBzZWN0aW9uIGFydGljbGUuc3RlcF83IHsgfVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlLnN0ZXBfOCB7IH1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5zdGVwXzkgeyB9XG4jb25ib2FyZGluZyBzZWN0aW9uIGFydGljbGUuc3RlcF8xMCB7IH1cbiNvbmJvYXJkaW5nIHNlY3Rpb24gYXJ0aWNsZS5zdGVwXzExIHsgfVxuI29uYm9hcmRpbmcgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMgeyBcblx0Ym94LXNoYWRvdzogbm9uZTsgXG5cdHBhZGRpbmctdG9wOiAwOyBcblx0bWluLWhlaWdodDogYXV0bztcblx0bWF4LXdpZHRoOiA3NXJlbTtcbn1cblxuLy8jb25ib2FyZGluZyBoMSB7IGNvbG9yOiAjMmMzNTNkOyBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTsgfVxuXG4jb25ib2FyZGluZyBoMSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IDEuNHJlbTtcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblx0Y29sb3I6ICNmZmY7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNvbmJvYXJkaW5nIGgxIHN0cm9uZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDQwcHg7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4jb25ib2FyZGluZyBoMiB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuXG4jb25ib2FyZGluZyBwIHsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApOyB9XG4jb25ib2FyZGluZyBsaSB7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IHJlbS1jYWxjKDIwKTsgfVxuI29uYm9hcmRpbmcgbGFiZWwgeyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiByZW0tY2FsYygyMCk7IH1cbiNvbmJvYXJkaW5nIC5idXR0b24geyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4jb25ib2FyZGluZyAubmF2LWJ1dHRvbnMgeyBcblx0aGVpZ2h0OiBhdXRvO1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogYXV0bztcblx0Ym90dG9tOiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNvbmJvYXJkaW5nIGltZy5pY29uIHsgbWF4LXdpZHRoOiAyNTBweDsgfVxuI29uYm9hcmRpbmcgLm5hdi1idXR0b25zLmJ0bl8xeCB7IHBhZGRpbmctdG9wOiAwOyB9XG4jb25ib2FyZGluZyAubmF2LWJ1dHRvbnMuYnRuXzF4IC5idXR0b24ud2hpdGUgeyBib3gtc2hhZG93OiBub25lOyB9XG4jb25ib2FyZGluZyAubmF2LWJ1dHRvbnMuYnRuXzF4IC5idXR0b24ud2hpdGUuZGlzYWJsZWQ6aG92ZXIgeyBjb2xvcjojMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7IH1cbiNvbmJvYXJkaW5nIGltZy5pY29uIHsgbWF4LXdpZHRoOiA0MDBweCB9XG5cbiNvbmJvYXJkaW5nIC5jaXJjbGUtbnVtYmVyIHtcbiAgICB3aWR0aDogNjJweDtcbiAgICBoZWlnaHQ6IDYycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNjJweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjgpO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwwLDAsMC4zKTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMzJweCBhdXRvIDMycHggYXV0bztcbn1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkge1xuXHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XG59XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDEwIDEyIDU2KTtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuXHRkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLDAsMCwwLjEpO1xuXHRjb2xvcjogI2ZmZjtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBsYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxOXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDI0KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg5OTkpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoI2ZmZiwwLjEwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkgbGFiZWw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cblxuI29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBsYWJlbDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbiNvbmJvYXJkaW5nIHVsLnF1ZXN0aW9uX2xpc3QgbGkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuMik7XG4gICAgY29sb3I6ICM1YzYyNmE7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNjUpO1xufVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RpY2soI2ZmZik7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuXHRib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuXHR3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuXHRsZWZ0OiAxMXB4O1xufVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fMiBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyOWFkO1xufVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fMyBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YWI4O1xufVxuXG4jb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0I29uYm9hcmRpbmdfcXVlc3Rpb25fNCBsaSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRoZWlnaHQ6IDMuNzVyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWRlc2NyaXB0aW9ucyBsaSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMjUlO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMCwwLDAuMjUpO1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMgbGk6bnRoLWNoaWxkKDEpIHtcblx0bGVmdDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MSUpO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMgbGk6bnRoLWNoaWxkKDIpIHtcblx0bGVmdDogMzMuMzMzMzMlO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMgbGk6bnRoLWNoaWxkKDMpIHtcblx0bGVmdDogNjYuNjY2NjYlO1xuXHR3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMgbGk6bnRoLWNoaWxkKDQpIHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MSUpO1xufVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1kZXNjcmlwdGlvbnMjb25ib2FyZGluZ19xdWVzdGlvbl8yX3NsaWRlcl9kZXNjcmlwdGlvbnMgbGkge1xuXHRjb2xvcjogI2ZjYjJmZjtcbn1cblxudWwub25ib2FyZGluZy1zbGlkZXItZGVzY3JpcHRpb25zI29uYm9hcmRpbmdfcXVlc3Rpb25fM19zbGlkZXJfZGVzY3JpcHRpb25zIGxpIHtcblx0Y29sb3I6ICM3NGM4ZmY7XG59XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscyB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGhlaWdodDogMy41cmVtO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMgbGkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDI1JTtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQvL2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDAsMCwwLjI1KTtcbn1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZvdXIgbGk6bnRoLWNoaWxkKDEpIHtcblx0bGVmdDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MSUpO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZm91ciBsaTpudGgtY2hpbGQoMikge1xuXHRsZWZ0OiAzMy4zMzMzMyU7XG59XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1mb3VyIGxpOm50aC1jaGlsZCgzKSB7XG5cdGxlZnQ6IDY2LjY2NjY2JTtcblx0d2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZvdXIgbGk6bnRoLWNoaWxkKDQpIHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MSUpO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZml2ZSBsaTpudGgtY2hpbGQoMSkge1xuXHRsZWZ0OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQxJSk7XG59XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1maXZlIGxpOm50aC1jaGlsZCgyKSB7XG5cdGxlZnQ6IDI2JTtcbn1cblxuI29uYm9hcmRpbmcgdWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzLWZpdmUgbGk6bnRoLWNoaWxkKDMpIHtcblx0bGVmdDogNTAlO1xuXHQvL3dpZHRoOiAzMy4zMzMzMyU7XG59XG5cbiNvbmJvYXJkaW5nIHVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscy1maXZlIGxpOm50aC1jaGlsZCg0KSB7XG5cdGxlZnQ6IDc0JTtcblx0Ly93aWR0aDogMzMuMzMzMzMlO1xufVxuXG4jb25ib2FyZGluZyB1bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMtZml2ZSBsaTpudGgtY2hpbGQoNSkge1xuXHRsZWZ0OiBhdXRvO1xuXHRyaWdodDogMDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQxJSk7XG59XG5cblxudWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzI29uYm9hcmRpbmdfcXVlc3Rpb25fMV9zbGlkZXJfbGFiZWxzIGxpLmFjdGl2ZSB7XG5cdGNvbG9yOiAjNzdjOTYyO1xufVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMjb25ib2FyZGluZ19xdWVzdGlvbl8yX3NsaWRlcl9sYWJlbHMgbGkuYWN0aXZlIHtcblx0Y29sb3I6ICNmY2IyZmY7XG59XG5cbnVsLm9uYm9hcmRpbmctc2xpZGVyLWxhYmVscyNvbmJvYXJkaW5nX3F1ZXN0aW9uXzNfc2xpZGVyX2xhYmVscyBsaS5hY3RpdmUge1xuXHRjb2xvcjogIzc0YzhmZjtcbn1cblxudWwub25ib2FyZGluZy1zbGlkZXItbGFiZWxzI29uYm9hcmRpbmdfcXVlc3Rpb25fNF9zbGlkZXJfbGFiZWxzIGxpLmFjdGl2ZSB7XG5cdGNvbG9yOiAjZWQ3NTQzO1xufVxuXG51bC5vbmJvYXJkaW5nLXNsaWRlci1sYWJlbHMjb25ib2FyZGluZ19xdWVzdGlvbl81X3NsaWRlcl9sYWJlbHMgbGkuYWN0aXZlIHtcblx0Y29sb3I6ICM3N2M5NjI7XG59XG5cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRoZWlnaHQ6IDE2cHg7XG59XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjayB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8vaGVpZ2h0OiAwLjI1cmVtO1xuXHRoZWlnaHQ6IDE2cHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRoZWlnaHQ6IDRweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDZweDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMDtcbn1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW4ge1xuXHRjb250ZW50OiAnXFwwMGEwJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICB6LWluZGV4OiAxO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW46bnRoLWNoaWxkKDEpIHtcblx0bGVmdDogMDtcbn1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrLWZvdXIgc3BhbjpudGgtY2hpbGQoMikge1xuXHRsZWZ0OiAzMS42NjY2NiU7XG59XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1mb3VyIHNwYW46bnRoLWNoaWxkKDMpIHtcblx0bGVmdDogNjUlO1xufVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZm91ciBzcGFuOm50aC1jaGlsZCg0KSB7XG5cdHJpZ2h0OiAwO1xufVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZml2ZSBzcGFuOm50aC1jaGlsZCgyKSB7XG5cdGxlZnQ6IDI0JTtcbn1cblxuLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrLWZpdmUgc3BhbjpudGgtY2hpbGQoMykge1xuXHRsZWZ0OiA0OSU7XG59XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjay1maXZlIHNwYW46bnRoLWNoaWxkKDQpIHtcblx0bGVmdDogNzMlO1xufVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2stZml2ZSBzcGFuOm50aC1jaGlsZCg1KSB7XG5cdHJpZ2h0OiAwO1xufVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg5OTkpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdMZWZ0UmlnaHRDYXJldCgjZmZmKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyOmJlZm9yZSwgLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlcjphZnRlciB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzFfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW4sIFxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNV9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMxMzQ4NTI7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzJfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLXRyYWNrIHNwYW4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMzAwYzVlO1xufVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl8zX3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci10cmFjayBzcGFuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzA0MTk0NDtcbn1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNF9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItdHJhY2sgc3BhbiB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzFfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZSwgXG4jb25ib2FyZGluZ19xdWVzdGlvbl81X3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUge1xuXHRib3JkZXI6IDJweCBzb2xpZCAjNTBhZDQ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MGFkNDc7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzFfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZywgXG4jb25ib2FyZGluZ19xdWVzdGlvbl81X3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MGFkNDc7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzJfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZSB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICM5NjI5YWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk2MjlhZDtcbn1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fMl9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyOWFkO1xufVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl8zX3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUge1xuXHRib3JkZXI6IDJweCBzb2xpZCAjMDA1YWI4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVhYjg7XG59XG5cbiNvbmJvYXJkaW5nX3F1ZXN0aW9uXzNfc2xpZGVyLm9uYm9hcmRpbmdfcXVlc3Rpb25fc2xpZGVyLnNsaWRlciAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWFiODtcbn1cblxuI29uYm9hcmRpbmdfcXVlc3Rpb25fNF9zbGlkZXIub25ib2FyZGluZ19xdWVzdGlvbl9zbGlkZXIuc2xpZGVyIC5zbGlkZXItaGFuZGxlIHtcblx0Ym9yZGVyOiAycHggc29saWQgI2VkNzU0MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzO1xufVxuXG4jb25ib2FyZGluZ19xdWVzdGlvbl80X3NsaWRlci5vbmJvYXJkaW5nX3F1ZXN0aW9uX3NsaWRlci5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDc1NDM7XG59XG5cbi5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCB7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cbi5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwtaW5uZXIge1xuXHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRib3gtc2hhZG93OiAwIDdweCAzMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0cGFkZGluZzogMS40cmVtIDEuNHJlbSAxLjRyZW0gMS40cmVtO1xuXHRtaW4td2lkdGg6IDI3MHB4O1xuXHRtYXgtd2lkdGg6IDM0MHB4O1xuXHRtYXJnaW46IGF1dG87XG59XG5cbiNkYXNoYm9hcmQgLm9uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsIGgxIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRjb2xvcjogI2EyYTVhYTtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuI2Rhc2hib2FyZCAub25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWwgaDEgc3Ryb25nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogNDBweDtcblx0Y29sb3I6ICMyZDM1M2Y7XG59XG5cbiNkYXNoYm9hcmQgLm9uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsIC5idXR0b24sICNkYXNoYm9hcmQgLm9uYm9hcmRpbmctaW5wYWdlLW1vZGFsIC5idXR0b24ge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ4KTtcblx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDgpO1xufVxuXG4jZGFzaGJvYXJkIC5vbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbCAuYnV0dG9uLmdyZWVuLCAjZGFzaGJvYXJkIC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAuYnV0dG9uLmdyZWVuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzUxYWU0MDtcbn1cblxuI2Rhc2hib2FyZCAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwgcCwgI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzQgcCB7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbiNkYXNoYm9hcmQgLm9uYm9hcmRpbmctaW5wYWdlLW1vZGFsIHAub25ib2FyZGluZy1zdGVwLWNvdW50LCAjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfNCBwLm9uYm9hcmRpbmctc3RlcC1jb3VudCB7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cdGNvbG9yOiAjYTJhNWFhO1xufVxuXG4jb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiB7XG5cdC8vbWF4LXdpZHRoOiAzNDBweDtcblx0Ly90cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIxJSkgdHJhbnNsYXRlWSgtMTUlKTtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDYwcHg7XG5cdHJpZ2h0OiAtMjBweDtcblx0ei1pbmRleDogMTA7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbiNvbmJvYXJkaW5nX2Rhc2hib2FyZF9tb2RhbF8zIHtcblx0bWF4LXdpZHRoOiA0MDBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMHB4O1xuXHRyaWdodDogLTIwcHg7XG5cdHotaW5kZXg6IDEwO1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfNCB7XG5cdHBhZGRpbmc6IDEuNHJlbSAxLjRyZW0gMS40cmVtIDEuNHJlbTtcbn1cblxuI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzIgLmJ1dHRvbiwgI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzMgLmJ1dHRvbiwgI29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzQgLmJ1dHRvbiB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNkYXNoYm9hcmQgLnJlbGF0aXZlLXdyYXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNvbmJvYXJkaW5nIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1NCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNik7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgIGJvcmRlci1jb2xvcjogI0U0RThGMjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvZG93bi1jYXJldC5zdmcnICk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTEwcHggY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgICNvbmJvYXJkaW5nIHAgeyBcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcblx0fVxuXHRcbiAgICAjb25ib2FyZGluZyBoMSwgI2Rhc2hib2FyZCAub25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWwgaDEgeyBcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0fVxuXHRcbiAgICAjb25ib2FyZGluZyBoMSBzdHJvbmcsICNkYXNoYm9hcmQgLm9uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsIGgxIHN0cm9uZyB7IFxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuXHR9XG5cdFxuXHQjb25ib2FyZGluZyB1bC5xdWVzdGlvbl9saXN0IGxpIHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYyg1IDEwKTtcblx0fVxuXHRcblx0I29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCBsaSBpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0Ly9wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDggNTYpO1xuXHRcdG1pbi13aWR0aDogMTAwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0fVxuXHRcblx0I29uYm9hcmRpbmcgdWwucXVlc3Rpb25fbGlzdCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuXHR9XG5cdFxuXHQjb25ib2FyZGluZ19kYXNoYm9hcmRfbW9kYWxfMiB7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG8gMCBhdXRvO1xuXHRcdG1heC13aWR0aDogMzQwcHg7XG5cdFx0Ly90cmFuc2Zvcm06IG5vbmU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogYXV0bztcblx0XHRyaWdodDogYXV0bztcblx0XHR6LWluZGV4OiAxMDtcblx0fVxuXHRcblx0I29uYm9hcmRpbmdfZGFzaGJvYXJkX21vZGFsXzMge1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IGF1dG87XG5cdFx0cmlnaHQ6IGF1dG87XG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblx0XG5cdC5vbmJvYXJkaW5nLWlucGFnZS1tb2RhbCAub25ib2FyZGluZy1pbnBhZ2UtbW9kYWwtaW5uZXIge1xuXHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdH1cbn1cblxuIiwiLypcbiAqXG4gKiBIT01FIFNUWUxFU1xuICpcbiAqL1xuXG4jaG9tZSB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMjYwMHB4IDYwMHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvaG9tZS10b3AtaGVhZGVyLWJnLnN2ZycgKTtcblx0XG59XG5cbiNob21lIC5saWdodC1jdXJ2ZS1iZyB7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtdG9wLWhlYWRlci1saWdodC1jdXJ2ZS1iZy5zdmcnICk7XG5cdFxufVxuXG4jaG9tZSAuaG9tZS0tdG9wLWZlYXR1cmUtaW1hZ2Uge1xuXHRtYXJnaW4tcmlnaHQ6IDEwJTtcblx0bWFyZ2luLWxlZnQ6IC0xNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAtMTAlO1xufVxuXG5oZWFkZXIgLm1lbnUuaG9tZS1sb2dpbi1tZW51IGEge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Y29sb3I6ICMyZDM1M2Y7XG5cdG1hcmdpbjogMCAwLjFyZW0gMC4ycmVtIDA7XG5cdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbmhlYWRlciAubWVudS5ob21lLWxvZ2luLW1lbnUgYTpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMTE2LDIwMCwyNTUsMC40Mik7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmhvbWUgcCB7XG5cdGNvbG9yOiAjNWM2MjZhO1xuXHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ob21lIGEge1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ob21lIGgxIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGNvbG9yOiAjYTJhNWFhO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG59XG5cbi5ob21lIGgxIHN0cm9uZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDUwKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Y29sb3I6ICMyZDM1M2Y7XG59XG5cbi5ob21lIGgyIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5ob21lIGgzIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG4uaG9tZSBoMy5sYXJnZSB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHRjb2xvcjogIzJkMzUzZjtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufVxuXG4ud3JhcHBlci5saWdodC1ibHVlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2VlZjVmYjtcbn1cblxuLmhvbWUtLXdoaXRlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZWVmNWZiO1xufVxuXG4uaG9tZS0td2hpdGUtYmxvY2sgcCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGNvbG9yOiAjMTYxZjJhO1xuXHRwYWRkaW5nOiAxMHB4IDI1JSAxMHB4IDE1cHg7XG59XG5cbi5ob21lLS13aGl0ZS1ibG9jayBpbWcsIC5ob21lLS13aGl0ZS1ibG9jayBzdmcge1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMzApO1xufVxuXG4vKiAwIC0gNTc0cHggLSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTc0cHgpIHtcblx0LmhvbWUgaDEge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXHR9XG5cdC5ob21lIGgxIHN0cm9uZyB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygzOCk7XG5cdH1cblx0XG5cdC5ob21lLS13aGl0ZS1ibG9jayBwIHtcbiAgICBcdGZvbnQtc2l6ZTogMC44cmVtO1xuXHR9XG5cdC5ob21lLS13aGl0ZS1ibG9jayBpbWcsIC5ob21lLS13aGl0ZS1ibG9jayBzdmcge1xuXHRcdG1heC13aWR0aDogcmVtLWNhbGMoOTApO1xuXHR9XG5cdFxuXHQuaG9tZSBoMy5sYXJnZSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdH1cblx0XG59XG5cbi8qIDU3NXB4IC0gNzM5cHggLSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NTc1cHgpIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG5cdC5ob21lLS13aGl0ZS1ibG9jayBwIHtcbiAgICBcdGZvbnQtc2l6ZTogMXJlbTtcblx0fVxufVxuXG4vKiAwIC0gNzM5cHggLSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MCkgYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblx0I2hvbWUgLmhvbWUtLXRvcC1mZWF0dXJlLWltYWdlIHtcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLWJvdHRvbTogLTEwJTtcblx0XHRtYXgtd2lkdGg6IDk1JTtcblx0fVxuXHRcblx0I2hvbWUge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogNjk1cHggOTAwcHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtdG9wLWhlYWRlci1iZy1tb2JpbGUuc3ZnJyApO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcblx0fVxuXHRcblx0I2hvbWUgLmxpZ2h0LWN1cnZlLWJnIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1x0XG5cdH1cbn1cblxuLmhvbWUtLWxpbmstYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmctdG9wOiA2cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogNC43NXJlbTtcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQod2hpdGUsIGJsYWNrKTtcbn1cblxuLmhvbWUtLWxpbmstYmxvY2sgLnJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLmhvbWUtLWxpbmstYmxvY2s6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4uaG9tZS0tbGluay1ibG9jazpob3ZlcjphZnRlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi8qLmhvbWUtLWxpbmstYmxvY2s6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEyMCU7XG59Ki9cblxuLmhvbWUtLWxpbmstYmxvY2sgaDMge1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygyMik7XG59XG5cbi5ob21lLS1saW5rLWJsb2NrLS1wdXJwbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9ob21lLWxpbmstYmxvY2stYmctcHVycGxlLnBuZycgKTtcbn1cblxuLmhvbWUtLWxpbmstYmxvY2stLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvaG9tZS1saW5rLWJsb2NrLWJnLWdyZWVuLnBuZycgKTtcbn1cblxuLyogMCAtIDU3NHB4IC0gT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU3NHB4KSB7XG5cdC5ob21lLS1saW5rLWJsb2NrIHtcblx0XHRwYWRkaW5nLXRvcDogNHJlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMy41cmVtO1xuXHR9XG59XG5cbi5ob21lIC5idXR0b24sIC5sYW5nX21lbnVfbW9kYWwgLmJ1dHRvbiB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3OyBcblx0Ly9kaXNwbGF5OiBibG9jazsgXG5cdHBhZGRpbmc6IDEuMjVlbSAxZW07XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzIpO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XG5cdG1hcmdpbjogYXV0bztcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXHRib3JkZXI6IG5vbmU7XG5cdGNvbG9yOiAjZmZmO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbi5ob21lIC5idXR0b246aG92ZXIsIC5sYW5nX21lbnVfbW9kYWwgLmJ1dHRvbjpob3ZlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjNTBBRDQ3LCAkbGlnaHRuZXNzOiAtMTUlKTsgXG59XG5cbi5ob21lIC5idXR0b24ucHVycGxlIHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICNjYzVkZmY7IFxufVxuLmhvbWUgLmJ1dHRvbi5wdXJwbGU6aG92ZXIgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoI2NjNWRmZiwgJGxpZ2h0bmVzczogLTE1JSk7IFxufVxuXG4uaG9tZSAuYnV0dG9uLmdyZXkgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogIzczNzk3ZjsgXG59XG4uaG9tZSAuYnV0dG9uLmdyZXk6aG92ZXIgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoIzczNzk3ZiwgJGxpZ2h0bmVzczogLTE1JSk7IFxufVxuXG4uYnVzaW5lc3MtcGxhbi1pbWFnZSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJ1c2luZXNzLXBsYW4taW1hZ2UgaW1nIHtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uYnVzaW5lc3MtcGxhbi1pbWFnZSBoNCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA0NyU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRjb2xvcjogIzJkMzUzZjtcbn1cblxuI2hvbWVwYWdlX2Fib3V0X21vZGFsIHtcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg4MCk7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0bWF4LXdpZHRoOiA5NCU7XG59XG4jaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IDEuNHJlbTtcblx0Zm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0Y29sb3I6ICM3Mzc5N2Y7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4jaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMgc3Ryb25nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogNDBweDtcblx0Y29sb3I6ICMyZDM1M2Y7XG59XG5cblxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcblx0I2hvbWVwYWdlX2Fib3V0X21vZGFsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMik7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG5cdFxuXHQjaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHR9XG5cdCNob21lcGFnZV9hYm91dF9tb2RhbCBoMyBzdHJvbmcge1xuXHRcdGZvbnQtc2l6ZTogMzJweDtcblx0fVxufVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5vcmJpdC1jb250YWluZXI6YmVmb3JlLCAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5vcmJpdC1jb250YWluZXI6YWZ0ZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUge1xuXHRtaW4td2lkdGg6IDI4MHB4O1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5zbGlkZS1pbm5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0cGFkZGluZzogcmVtLWNhbGMoMzAgMjQgNDAgMjQpO1xuXHRib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMCk7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjMpO1xuXHQvL21hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi1yaWdodDogMDtcbn1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIHVsIGxpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0cGFkZGluZzogcmVtLWNhbGMoMTcgMTUgMTcgNTUpO1xuXHRib3JkZXItcmFkaXVzOiByZW0tY2FsYyg4KTtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGNvbG9yOiAjMmQzNTNmO1xufVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCBsaSBzcGFuIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDM0KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDk5OSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRjb2xvcjogI2ZmZjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtMSB1bCBsaSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M2Q2O1xufVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZS0yIHVsIGxpIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZDc1NDM7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTMgdWwgbGkgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Yzk2Mjtcbn1cblxuI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUtNCB1bCBsaSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQwZTkzO1xufVxuXG4jaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZS01IHVsIGxpIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5jaXJjbGUtbnVtYmVyIHtcblx0d2lkdGg6IHJlbS1jYWxjKDUwKTtcblx0aGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRkaXNwbGF5OiBibG9jaztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW46IDAgYXV0bztcblx0Zm9udC1zaXplOiByZW0tY2FsYygyNyk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luOiAxMXB4IGF1dG8gMCBhdXRvO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygzMik7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLy8gVEhBSVxuLmxhbmctdGggaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctdGggLmhvbWUgYSxcbi5sYW5nLXRoIC5ob21lIHAsXG4ubGFuZy10aCAuaG9tZSBoMixcbi5sYW5nLXRoIC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctdGggI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctdGggI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy10aCAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLXRoICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgICBmb250LWZhbWlseTogJ0syRCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLy8gUEFTSFRPXG4vLyBub3RvX25hc3RhbGlxX3VyZHVyZWd1bGFyXG4ubGFuZy1wcyBoZWFkZXIgLm1lbnUuaG9tZS1sb2dpbi1tZW51IGEsXG4ubGFuZy1wcyAuaG9tZSBhLFxuLmxhbmctcHMgLmhvbWUgcCxcbi5sYW5nLXBzIC5ob21lIGgyLFxuLmxhbmctcHMgLmhvbWUgLmhvbWUtLWxpbmstYmxvY2ssXG4ubGFuZy1wcyAjaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMsXG4ubGFuZy1wcyAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCxcbi5sYW5nLXBzICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5jaXJjbGUtbnVtYmVyLFxuLmxhbmctcHMgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAnbm90b19uYXN0YWxpcV91cmR1cmVndWxhcicsIHNhbnMtc2VyaWY7XG59XG5cbi8vIERBUklcbi8vIG5vdG9fbmFza2hfYXJhYmljX3VpcmVndWxhciAvIG5vdG9fbmFza2hfYXJhYmljX3VpYm9sZFxuLmxhbmctZmFfYWYgaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctZmFfYWYgLmhvbWUgYSxcbi5sYW5nLWZhX2FmIC5ob21lIHAsXG4ubGFuZy1mYV9hZiAuaG9tZSBoMixcbi5sYW5nLWZhX2FmIC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctZmFfYWYgI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctZmFfYWYgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy1mYV9hZiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLWZhX2FmICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgICBmb250LWZhbWlseTogJ25vdG9fbmFza2hfYXJhYmljX3VpcmVndWxhcicsIHNhbnMtc2VyaWY7XG59XG5cbi8vIEhJTkRJXG4vLyBOb3RvIFNhbnNcbi5sYW5nLWhpX2luIGhlYWRlciAubWVudS5ob21lLWxvZ2luLW1lbnUgYSxcbi5sYW5nLWhpX2luIC5ob21lIGEsXG4ubGFuZy1oaV9pbiAuaG9tZSBwLFxuLmxhbmctaGlfaW4gLmhvbWUgaDIsXG4ubGFuZy1oaV9pbiAuaG9tZSAuaG9tZS0tbGluay1ibG9jayxcbi5sYW5nLWhpX2luICNob21lcGFnZV9hYm91dF9tb2RhbCBoMyxcbi5sYW5nLWhpX2luICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIHVsLFxuLmxhbmctaGlfaW4gI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgLmNpcmNsZS1udW1iZXIsXG4ubGFuZy1oaV9pbiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSBoNCB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vLyBBWkVSQkFJSkFOSVxuLy8gTm90byBTYW5zXG4ubGFuZy1heiBoZWFkZXIgLm1lbnUuaG9tZS1sb2dpbi1tZW51IGEsXG4ubGFuZy1heiAuaG9tZSBhLFxuLmxhbmctYXogLmhvbWUgcCxcbi5sYW5nLWF6IC5ob21lIGgyLFxuLmxhbmctYXogLmhvbWUgLmhvbWUtLWxpbmstYmxvY2ssXG4ubGFuZy1heiAjaG9tZXBhZ2VfYWJvdXRfbW9kYWwgaDMsXG4ubGFuZy1heiAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSB1bCxcbi5sYW5nLWF6ICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIC5jaXJjbGUtbnVtYmVyLFxuLmxhbmctYXogI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJywgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLy8gQVJNRU5JQU5cbi8vIE5vdG8gU2Fuc1xuLmxhbmctaHkgaGVhZGVyIC5tZW51LmhvbWUtbG9naW4tbWVudSBhLFxuLmxhbmctaHkgLmhvbWUgYSxcbi5sYW5nLWh5IC5ob21lIHAsXG4ubGFuZy1oeSAuaG9tZSBoMixcbi5sYW5nLWh5IC5ob21lIC5ob21lLS1saW5rLWJsb2NrLFxuLmxhbmctaHkgI2hvbWVwYWdlX2Fib3V0X21vZGFsIGgzLFxuLmxhbmctaHkgI2hvbWVwYWdlX3NlY3Rpb25zX3NsaWRlciAuc2xpZGUgdWwsXG4ubGFuZy1oeSAjaG9tZXBhZ2Vfc2VjdGlvbnNfc2xpZGVyIC5zbGlkZSAuY2lyY2xlLW51bWJlcixcbi5sYW5nLWh5ICNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlIGg0IHtcbiAgICBmb250LWZhbWlseTogJ05vdG8gU2FucyBBcm1lbmlhbicsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTEgLnNsaWRlLWlubmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctMS5zdmcnICk7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTIgLnNsaWRlLWlubmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctMi5zdmcnICk7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTMgLnNsaWRlLWlubmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctMy5zdmcnICk7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTQgLnNsaWRlLWlubmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctNC5zdmcnICk7XG59XG5cbiNob21lcGFnZV9zZWN0aW9uc19zbGlkZXIgLnNsaWRlLTUgLnNsaWRlLWlubmVyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2hvbWUtc2VjdGlvbi1zbGlkZXItYmctNS5zdmcnICk7XG59XG5cbiNob21lIC5sZWZ0LWdyYWRpZW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jaG9tZSAubGVmdC1ncmFkaWVudDpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IC01cHg7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDU0cHg7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMzgsMjQ1LDI1MSwxKSAyMCUsIHJnYmEoMjM4LDI0NSwyNTEsMCkgOTclKTtcblx0ei1pbmRleDogMTtcbn1cblxuXG4vLyBPTEQgU1RZTEVTXG5cbi5ob21lIC5jcmVkaXRzIHtcblx0Zm9udC1zaXplOiByZW0tY2FsYygzNCk7XG5cdGNvbG9yOiAjMmQzNTNmO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuLmhvbWUgLmNyZWRpdHMgc3BhbiB7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRjb2xvcjogI2EyYTVhYTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uaG9tZSAuY3JlZGl0cy1saW5rcyBpbWcge1xuXHRtYXgtd2lkdGg6IDE2MHB4O1xufVxuXG5cblxuLyouaG9tZS0taXRlbV9wYW5lbHMge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE3NSk7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTApO1xuXHRjb2xvcjogIzAwMDtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5ob21lLS1pdGVtX3BhbmVscyBsaS5vbmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTAxLnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLnR3byB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYW5kaW5nLXBhZ2UtMDIuc3ZnJyk7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkudGhyZWUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTAzLnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLmZvdXIge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA0LnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLmZpdmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA1LnN2ZycpO1xufVxuLmhvbWUtLWl0ZW1fcGFuZWxzIGxpLnNpeCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYW5kaW5nLXBhZ2UtMDYuc3ZnJyk7XG59XG4uaG9tZS0taXRlbV9wYW5lbHMgbGkuc2V2ZW4ge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFuZGluZy1wYWdlLTA3LnN2ZycpO1xufSovIiwiLyogXG4gKiBTRUNUSU9OIDFcbiAqL1xuJHNlY3Rpb25fMV9iZ19jb2xvdXI6ICMwNDE5NDQ7XG4jc2VjdGlvbl8xIHsgXG4gICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzAxLWJnLXJpZ2h0LnN2ZycpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wMS1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb25fMV9iZ19jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvO1xufVxuI3NlY3Rpb25fMSAucmV2ZWFsLmZ1bGwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbl8xX2JnX2NvbG91cjsgY29sb3I6ICNmZmY7IH1cbiNzZWN0aW9uXzEgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2OyB9XG4jc2VjdGlvbl8xIC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoIzIwNjNENiwgJGxpZ2h0bmVzczogLTE1JSk7IH1cbiNzZWN0aW9uXzEgLmJ1dHRvbi5ob2xsb3cgeyBib3JkZXItY29sb3I6ICMyMDYzRDY7IGNvbG9yOiAjMjA2M0Q2OyB9XG4jc2VjdGlvbl8xIC5idXR0b24ub3V0bGluZWQgeyBib3JkZXItY29sb3I6ICMyMDYzRDY7IGJvcmRlci13aWR0aDogM3B4OyBjb2xvcjogIzIwNjNENjsgfVxuLyojc2VjdGlvbl8xIC53YXJuaW5nOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7IH0qL1xuI3NlY3Rpb25fMSAuc2VjdGlvbl90aXRsZSBzcGFuIHsgY29sb3I6ICRzZWN0aW9uXzFfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl8xIC5zZWN0aW9uX3RpdGxlIHNwYW4gc3ZnIHsgd2lkdGg6IDI2cHg7IH1cbiNzZWN0aW9uXzEgLnNlY3Rpb25fdGl0bGUgc3BhbiAudGlja19maWxsIHsgZmlsbDogJHNlY3Rpb25fMV9iZ19jb2xvdXI7IH1cbiBcbiNzZWN0aW9uXzEgLmNhbGxvdXRfYSAuY2lyY2xlLW51bWJlcixcbiNzZWN0aW9uXzEgLmNhbGxvdXRfYiAuY2lyY2xlLW51bWJlcixcbiNzZWN0aW9uXzEgLmNhbGxvdXRfYyAuY2lyY2xlLW51bWJlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMyMDYzRDYsIDAuOCk7IFxufVxuI3NlY3Rpb25fMSAuY2FsbG91dC5jb21wbGV0ZWQgLmNpcmNsZS1udW1iZXIgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgXG5cdGNvbG9yOiAjMjA2M0Q2O1xufVxuXG4jc2VjdGlvbl8xIGgyLCAjc2VjdGlvbl8xIGgzLCAjc2VjdGlvbl8xIGEgaDIsICNzZWN0aW9uXzEgYSBoMyB7IGNvbG9yOiAkc2VjdGlvbl8xX2JnX2NvbG91cjsgfVxuI3NlY3Rpb25fMSBoNC5wdW5jaCB7IGNvbG9yOiAjMDQzOUE1OyBmb250LXNpemU6IHJlbS1jYWxjKDQwKTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuI3NlY3Rpb25fMSB1bC5rZXlsaXN0IHsgfVxuI3NlY3Rpb25fMSAudHJhbnNwYXJlbnQgPiBwIHsgY29sb3I6ICNDQ0RFRkY7IHRleHQtc2hhZG93OiAwcHggN3B4IDZweCByZ2JhKDAsMCwwLDAuNCk7IH1cbiNzZWN0aW9uXzEgLmNhbGxvdXQuY29tcGxldGVkIHsgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjsgfVxuI3NlY3Rpb25fMSAuY2FsbG91dC5jb21wbGV0ZWQgaDMsICNzZWN0aW9uXzEgLmNhbGxvdXQuY29tcGxldGVkIHAgeyBjb2xvcjogI2ZmZjsgfVxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCMwNDE5NDQpO1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCNzZWN0aW9uXzEgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgjMDQxOTQ0KTtcbn1cblxuI3NlY3Rpb25fMSAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fMSB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl8xIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyLCAjYnVzaW5lc3NfcGxhbiB1bC5rZXlsaXN0IGxpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M2Q2O1xufVxuXG5cbiNzZWN0aW9uXzEgLm9yYml0LXNsaWRlIGg0IHsgY29sb3I6ICRzZWN0aW9uXzFfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl8xIC5vcmJpdC1jb250cm9scyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG4jc2VjdGlvbl8xIC5vcmJpdC1jb250cm9scyBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCMyMDYzRDYsICRsaWdodG5lc3M6IC0yNSUpO1xufVxuI3NlY3Rpb25fMSAub3JiaXQtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMyMDYzRDYsIDAuMik7XG59XG5cbiNzZWN0aW9uXzEgLnJldmVhbCBsYWJlbCB7XG4gICAgY29sb3I6ICMwNDE5NDQ7XG59XG5cbiNzZWN0aW9uXzEgaW1nLmljb24ge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG59XG5cblxuLyogU0VDVElPTiAxQiBTVFlMRVMgKi9cblxuLyogSU5TSURFIC8gT1VUU0lERSBQRU9QTEUgTElTVCAqL1xuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMge1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5tZW51IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAubWVudSBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDM2KTtcbn1cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5tZW51IGxpLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA0MjA2ODtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwcHgpO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAuaW5zaWRlIC5tZW51IGxpLm1lbnUtdGV4dCB7XG4gICAgY29sb3I6ICMyMDYzRDY7XG59XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5pbnNpZGUuZGlzYWJsZWQgLm1lbnUgbGkubWVudS10ZXh0IHtcbiAgICBjb2xvcjogI2VlZTtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm91dHNpZGUgLm1lbnUgbGkubWVudS10ZXh0IHtcbiAgICBjb2xvcjogIzA0MjA2ODtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkgLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAubWVudSBsaSAuYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkgLmJ1dHRvbiAucGx1cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiByZW0tY2FsYyg1MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoOTk5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDgpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm91dHNpZGUgLm1lbnUgbGkgLmJ1dHRvbiAucGx1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MjA2ODtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkgLmJ1dHRvbjpob3ZlciAucGx1cyB7XG4gICAgdG9wOiAtNXB4O1xuICAgIHdpZHRoOiByZW0tY2FsYyg2MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg1OCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUgbGkuYWRkX2J1dHRvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01OXB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1cHgpO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAuaW5zaWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlOGYyO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAuaW5zaWRlLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAub3V0c2lkZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLnBlb3BsZSBsaSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDc4cHg7XG59XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzIC5wZW9wbGUgbGkgYSwgLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIGEsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSBzcGFuLnN0YXRpY19wZW9wbGUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDZweCA1NnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogNTZweDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4yNXM7XG59XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSBzcGFuLnN0YXRpY19wZW9wbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAucGVvcGxlIGxpIGE6aG92ZXIsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHggNjBweDtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLnBlb3BsZSBsaSAucGVyc29uX25hbWUsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLnBlb3BsZSBsaSAucGVyc29uX25hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvL2JhY2tncm91bmQ6IHJlZDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNXB4KTtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHMgLmluc2lkZSAucGVvcGxlIGxpIGEsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLmluc2lkZSAucGVvcGxlIGxpIGEsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLmluc2lkZSAucGVvcGxlIGxpIHNwYW4uc3RhdGljX3Blb3BsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvMUEtSW5zaWRlQXZhdGFyLnN2ZycpO1xufVxuXG4uaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwcyAub3V0c2lkZSAucGVvcGxlIGxpIGEsIC5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgLm91dHNpZGUgLnBlb3BsZSBsaSBhLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5vdXRzaWRlIC5wZW9wbGUgbGkgc3Bhbi5zdGF0aWNfcGVvcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy8xQS1PdXRzaWRlQXZhdGFyLnN2ZycpO1xufVxuXG4jYWRkX2VkaXRfYV9wZXJzb25fbW9kYWwgaDMgLmFkZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4jYWRkX2VkaXRfYV9wZXJzb25fbW9kYWwgaDMgLmVkaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbnNpZGVfb3V0c2lkZV9yZWxhdGlvbnNoaXBzX3N0YWNrZWQgaDQge1xuICAgIGNvbG9yOiAkc2VjdGlvbl8xX2JnX2NvbG91cjtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAuaW5zaWRlOmFmdGVyLCAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5vdXRzaWRlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZThmMjtcbn1cblxuLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG4vKiBNb3ZlIC53YXZlcyB0byBtYWluIGN1c3RvbSBjc3MgZmlsZT8gKi9cbi53YXZlcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvd2F2ZXMuc3ZnJyksIHVybCgnLi4vaW1nL3dhdmVzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAtNTBweCByaWdodCAwLCBib3R0b20gLTUwcHggbGVmdCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMHB4O1xufVxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAud2F2ZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwcHg7XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fMSB7XG4gICAgICAgIGJhY2tncm91bmQ6IFxuICAgICAgICB1cmwoJy4uL2ltZy8wMS1iZy1yaWdodC5zdmcnKSB0b3AgMCByaWdodCAtNTAwcHggbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wMS1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgLTQ1MHB4IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MTk0NDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bztcbiAgICB9XG5cbn0iLCIvKiBcbiAqIFNFQ1RJT04gMlxuICovXG4kc2VjdGlvbl8yX2JnX2NvbG91cjogIzU3MDIzOTtcbiNzZWN0aW9uXzIgeyBcbiAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDItYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgMCBuby1yZXBlYXQsXG4gICAgICAgIHVybCgnLi4vaW1nLzAyLWJnLWxlZnQuc3ZnJykgdG9wIDAgbGVmdCAwIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbl8yX2JnX2NvbG91cjsgXG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvO1xufVxuI3NlY3Rpb25fMiAucmV2ZWFsLmZ1bGwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbl8yX2JnX2NvbG91cjsgY29sb3I6ICNmZmY7IH1cbiNzZWN0aW9uXzIgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG4jc2VjdGlvbl8yIC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoI0RFM0YzQSwgJGxpZ2h0bmVzczogLTE1JSk7IH1cbi8vI3NlY3Rpb25fMiAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCBzcGFuIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoI0RFM0YzQSwgJGxpZ2h0bmVzczogLTE1JSk7IH1cbiNzZWN0aW9uXzIgLmJ1dHRvbi5ob2xsb3cgeyBib3JkZXItY29sb3I6ICNERTNGM0E7IGNvbG9yOiAjREUzRjNBOyB9XG4jc2VjdGlvbl8yIC5idXR0b24ub3V0bGluZWQgeyBib3JkZXItY29sb3I6ICNERTNGM0E7IGJvcmRlci13aWR0aDogM3B4OyBjb2xvcjogI0RFM0YzQTsgfVxuLyojc2VjdGlvbl8yIC53YXJuaW5nOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH0qL1xuI3NlY3Rpb25fMiAuc2VjdGlvbl90aXRsZSBzcGFuIHsgY29sb3I6ICRzZWN0aW9uXzJfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl8yIC5zZWN0aW9uX3RpdGxlIHNwYW4gc3ZnIHsgd2lkdGg6IDI2cHg7IH1cbiNzZWN0aW9uXzIgLnNlY3Rpb25fdGl0bGUgc3BhbiAudGlja19maWxsIHsgZmlsbDogJHNlY3Rpb25fMl9iZ19jb2xvdXI7IH1cblxuI3NlY3Rpb25fMiAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMiAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fMiAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHsgXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0RFM0YzQSwgMC44KTsgXG59XG4jc2VjdGlvbl8yIC5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcblx0Y29sb3I6ICNERTNGM0E7XG59XG5cbiNzZWN0aW9uXzIgaDIsICNzZWN0aW9uXzIgaDMsICNzZWN0aW9uXzIgaDQsICNzZWN0aW9uXzIgYSBoMiwgI3NlY3Rpb25fMiBhIGgzIHsgY29sb3I6ICRzZWN0aW9uXzJfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl8yIC50cmFuc3BhcmVudCA+IHAgeyBjb2xvcjogI0ZGRTlERDsgdGV4dC1zaGFkb3c6IDBweCA3cHggNnB4IHJnYmEoMCwwLDAsMC40KTsgfVxuI3NlY3Rpb25fMiAuY2FsbG91dC5jb21wbGV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBOyB9XG4jc2VjdGlvbl8yIC5jYWxsb3V0LmNvbXBsZXRlZCBoMywgI3NlY3Rpb25fMiAuY2FsbG91dC5jb21wbGV0ZWQgcCB7IGNvbG9yOiAjZmZmOyB9XG4jc2VjdGlvbl8yIC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCM1NzAyMzkpO1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCNzZWN0aW9uXzIgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgjNTcwMjM5KTtcbn1cblxuI3NlY3Rpb25fMiAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fMiB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl8yIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzO1xufVxuXG4jc2VjdGlvbl8yIC5vcmJpdC1zbGlkZSBoNCB7IGNvbG9yOiAkc2VjdGlvbl8yX2JnX2NvbG91cjsgfVxuI3NlY3Rpb25fMiAub3JiaXQtY29udHJvbHMgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuI3NlY3Rpb25fMiAub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjREUzRjNBLCAkbGlnaHRuZXNzOiAtMjUlKTtcbn1cbiNzZWN0aW9uXzIgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjREUzRjNBLCAwLjIpO1xufVxuXG4jc2VjdGlvbl8yIGlucHV0IHtcbn1cbiNzZWN0aW9uXzIgbGFiZWwge1xuICAgIGNvbG9yOiAjNTcwQjczO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4jc2VjdGlvbl8yIGltZy5pY29uLCAjc2VjdGlvbl8yIC5zdmctYW5pbWF0ZWQtaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG59XG5cbiNzZWN0aW9uXzIgLnN2Zy1hbmltYXRlZC1pbWFnZSB7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4jc2VjdGlvbl8yIHRkIGxhYmVsLCAjc2VjdGlvbl8yIHRoIGxhYmVsLCAjc2VjdGlvbl8yIHRkIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbn1cblxuI3NlY3Rpb25fMiAudGltZV9wZXJfd2Vla19tb250aCB7fVxuI3NlY3Rpb25fMiAudGltZV9wZXJfd2Vla19tb250aCBpbnB1dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGJvZHkge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKCAjMDAwLCAwLjMgKTtcbn1cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0aCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XG59XG4jc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGFibGUgdGg6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogcmVtLWNhbGMoOCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygyMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNSk7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwjc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGFibGUgdGg6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE1cHg7XG59XG5cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0cjpudGgtY2hpbGQoMSkgdGg6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NjI5YWQ7XG59XG4jc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGFibGUgdHI6bnRoLWNoaWxkKDIpIHRoOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWI2MmM5O1xufVxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCgzKSB0aDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3Yzk2Mjtcbn1cbiNzZWN0aW9uXzIgLm1vbnRobHktd2Vla2x5LXRhYmxlcyB0YWJsZSB0cjpudGgtY2hpbGQoNCkgdGg6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVjNTk7XG59XG4jc2VjdGlvbl8yIC5tb250aGx5LXdlZWtseS10YWJsZXMgdGFibGUgdHI6bnRoLWNoaWxkKDUpIHRoOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M2Q2O1xufVxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRyOm50aC1jaGlsZCg2KSB0aDphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MzlhNTtcbn1cblxuI3NlY3Rpb25fMiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRkIHtcbiAgICB3aWR0aDogNSU7XG59XG5cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIGxpIHtcbiAgICB3aWR0aDogNTAlO1xufVxuI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgbGk6bnRoLWNoaWxkKDEpIGEge1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xufVxuI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgbGk6bnRoLWNoaWxkKDIpIGEge1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG59XG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMCU7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgb3BhY2l0eSAwLjVzO1xufVxuI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiA4MCU7XG59XG4jbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzU3MDIzOTtcbn1cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDgwJTtcbn1cbiNtb250aGx5LXdlZWtseS1ob3Vycy10YWJzIC50YWJzLXRpdGxlID4gYTpmb2N1cywgI3NlY3Rpb25fMiAjbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5cbi5jdC1jaGFydCB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG59XG4uY3Qtc2VyaWVzLWEgLmN0LXNsaWNlLXBpZSB7XG4gIC8qIGZpbGwgb2YgdGhlIHBpZSBzbGllY2VzICovXG4gIC8vZmlsbDogaHNsKDEyMCwgNDAlLCA2MCUpO1xuICAvKiBnaXZlIHlvdXIgcGllIHNsaWNlcyBzb21lIG91dGxpbmUgb3Igc2VwYXJhdGUgdGhlbSB2aXN1YWxseSBieSB1c2luZyB0aGUgYmFja2dyb3VuZCBjb2xvciBoZXJlICovXG4gIC8vc3Ryb2tlOiB3aGl0ZTtcbiAgLyogb3V0bGluZSB3aWR0aCAqL1xuICAvL3N0cm9rZS13aWR0aDogNHB4O1xufVxuXG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgICNzZWN0aW9uXzIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDItYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDItYmctbGVmdC5zdmcnKSB0b3AgMCBsZWZ0IC00NTBweCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87XG4gICAgfVxuXG59IiwiLyogXG4gKiBTRUNUSU9OIDNcbiAqL1xuJHNlY3Rpb25fM19iZ19jb2xvdXI6ICMxMzQ4NTI7XG4jc2VjdGlvbl8zIHsgXG4gICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzAzLWJnLXJpZ2h0LnN2ZycpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wMy1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb25fM19iZ19jb2xvdXI7IFxuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bztcbn1cbiNzZWN0aW9uXzMgLnJldmVhbC5mdWxsIHsgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb25fM19iZ19jb2xvdXI7IGNvbG9yOiAjZmZmOyB9XG4jc2VjdGlvbl8zIC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOm5vdCgubG96ZW5nZV9pdGVtKTpub3QoLmxvemVuZ2VfaXRlbV9zZWxlY3RlZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3OyB9XG4jc2VjdGlvbl8zIC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOm5vdCgubG96ZW5nZV9pdGVtKTpub3QoLmxvemVuZ2VfaXRlbV9zZWxlY3RlZCk6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjNTBBRDQ3LCAkbGlnaHRuZXNzOiAtMTUlKTsgfVxuI3NlY3Rpb25fMyAuYnV0dG9uLmhvbGxvdzpub3QoLmxvemVuZ2VfYWRkKSB7IGJvcmRlci1jb2xvcjogIzUwQUQ0NzsgY29sb3I6ICM1MEFENDc7IH1cbiNzZWN0aW9uXzMgLmJ1dHRvbi5vdXRsaW5lZCB7IGJvcmRlci1jb2xvcjogIzE5NkM2QTsgYm9yZGVyLXdpZHRoOiAzcHg7IGNvbG9yOiAjMTk2QzZBOyB9XG4vKiNzZWN0aW9uXzMgLndhcm5pbmc6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzUwQUQ0NzsgfSovXG4jc2VjdGlvbl8zIC5zZWN0aW9uX3RpdGxlIHNwYW4geyBjb2xvcjogJHNlY3Rpb25fM19iZ19jb2xvdXI7IH1cbiNzZWN0aW9uXzMgLnNlY3Rpb25fdGl0bGUgc3BhbiBzdmcgeyB3aWR0aDogMjZweDsgfVxuI3NlY3Rpb25fMyAuc2VjdGlvbl90aXRsZSBzcGFuIC50aWNrX2ZpbGwgeyBmaWxsOiAkc2VjdGlvbl8zX2JnX2NvbG91cjsgfVxuXG4jc2VjdGlvbl8zIC5jYWxsb3V0X2EgLmNpcmNsZS1udW1iZXIsXG4jc2VjdGlvbl8zIC5jYWxsb3V0X2IgLmNpcmNsZS1udW1iZXIsXG4jc2VjdGlvbl8zIC5jYWxsb3V0X2MgLmNpcmNsZS1udW1iZXIgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgjNTBBRDQ3LCAwLjgpOyBcbn1cbiNzZWN0aW9uXzMgLmNhbGxvdXQuY29tcGxldGVkIC5jaXJjbGUtbnVtYmVyIHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7IFxuXHRjb2xvcjogIzUwQUQ0Nztcbn1cblxuI3NlY3Rpb25fMyBoMiwgI3NlY3Rpb25fMyBoMywgI3NlY3Rpb25fMyBhIGgyLCAjc2VjdGlvbl8zIGEgaDMgeyBjb2xvcjogJHNlY3Rpb25fM19iZ19jb2xvdXI7IH1cbiNzZWN0aW9uXzMgLnRyYW5zcGFyZW50ID4gcCB7IGNvbG9yOiAjRjNGRkVDOyB0ZXh0LXNoYWRvdzogMHB4IDdweCA2cHggcmdiYSgwLDAsMCwwLjQpOyB9XG4jc2VjdGlvbl8zIC5jYWxsb3V0LmNvbXBsZXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICMxOTZDNkE7IH1cbiNzZWN0aW9uXzMgLmNhbGxvdXQuY29tcGxldGVkIGgzLCAjc2VjdGlvbl8zIC5jYWxsb3V0LmNvbXBsZXRlZCBwIHsgY29sb3I6ICNmZmY7IH1cbiNzZWN0aW9uXzMgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RyaWFuZ2xlQkcoIzEzNDg1Mik7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsI3NlY3Rpb25fMyAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHUlRMKCMxMzQ4NTIpO1xufVxuI3NlY3Rpb25fMyAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fMyB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl8zIC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBhZDQ3O1xufVxuXG4jc2VjdGlvbl8zIC5vcmJpdC1zbGlkZSBoNCB7IGNvbG9yOiAjNTBBRDQ3OyBtYXJnaW4tdG9wOiAwOyB9XG4jc2VjdGlvbl8zIC5vcmJpdC1jb250cm9scyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxOTZDNkE7XG59XG4jc2VjdGlvbl8zIC5vcmJpdC1jb250cm9scyBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCMxOTZDNkEsICRsaWdodG5lc3M6IC0yNSUpO1xufVxuI3NlY3Rpb25fMyAub3JiaXQtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxOTZDNkEsIDAuMik7XG59XG5cbiNzZWN0aW9uXzMgbGFiZWwge1xuICAgIGNvbG9yOiAjMTM0ODUyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4jc2VjdGlvbl8zIGltZy5pY29uIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4jc2VjdGlvbl8zIC51c3BfcGFnZSBsYWJlbCB7XG4gICAgY29sb3I6ICM2NjY7XG59XG5cbiNzZWN0aW9uXzMgc2VjdGlvbiBhcnRpY2xlID4gLmNvbHVtbnMudGludGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNkNGY1YzYsIDAuMyk7XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgICNzZWN0aW9uXzMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDMtYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDMtYmctbGVmdC5zdmcnKSB0b3AgMCBsZWZ0IC00NTBweCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzQ4NTI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87XG4gICAgfVxuXG59IiwiLyogXG4gKiBTRUNUSU9OIDRcbiAqL1xuJHNlY3Rpb25fNF9iZ19jb2xvdXI6ICMzMDBDNUU7XG4jc2VjdGlvbl80IHsgXG4gICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzA0LWJnLXJpZ2h0LnN2ZycpIHRvcCAwIHJpZ2h0IDAgbm8tcmVwZWF0LFxuICAgICAgICB1cmwoJy4uL2ltZy8wNC1iZy1sZWZ0LnN2ZycpIHRvcCAwIGxlZnQgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb25fNF9iZ19jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MDBweCBhdXRvO1xufVxuI3NlY3Rpb25fNCAucmV2ZWFsLmZ1bGwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbl80X2JnX2NvbG91cjsgY29sb3I6ICNmZmY7IH1cbiNzZWN0aW9uXzQgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwQjczOyB9XG4jc2VjdGlvbl80IC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoIzU3MEI3MywgJGxpZ2h0bmVzczogLTE1JSk7IH1cbiNzZWN0aW9uXzQgLmJ1dHRvbi5ob2xsb3cgeyBib3JkZXItY29sb3I6ICM1NzBCNzM7IGNvbG9yOiAjNTcwQjczOyB9XG4jc2VjdGlvbl80IC5idXR0b24ub3V0bGluZWQgeyBib3JkZXItY29sb3I6ICM1NzBCNzM7IGJvcmRlci13aWR0aDogM3B4OyBjb2xvcjogIzU3MEI3MzsgfVxuLyojc2VjdGlvbl80IC53YXJuaW5nOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7IH0qL1xuI3NlY3Rpb25fNCAuc2VjdGlvbl90aXRsZSBzcGFuIHsgY29sb3I6ICRzZWN0aW9uXzRfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl80IC5zZWN0aW9uX3RpdGxlIHNwYW4gc3ZnIHsgd2lkdGg6IDI2cHg7IH1cbiNzZWN0aW9uXzQgLnNlY3Rpb25fdGl0bGUgc3BhbiAudGlja19maWxsIHsgZmlsbDogJHNlY3Rpb25fNF9iZ19jb2xvdXI7IH1cblxuI3NlY3Rpb25fNCAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNCAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNCAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHsgXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0E3MUFFNCwgMC44KTsgXG59XG4jc2VjdGlvbl80IC5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcblx0Y29sb3I6ICNBNzFBRTQ7XG59XG5cbiNzZWN0aW9uXzQgaDIsICNzZWN0aW9uXzQgaDMsICNzZWN0aW9uXzQgYSBoMiwgI3NlY3Rpb25fNCBhIGgzIHsgY29sb3I6ICRzZWN0aW9uXzRfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl80IC50cmFuc3BhcmVudCA+IHAgeyBjb2xvcjogI0NEQkVGRjsgdGV4dC1zaGFkb3c6IDBweCA3cHggNnB4IHJnYmEoMCwwLDAsMC40KTsgfVxuI3NlY3Rpb25fNCAuY2FsbG91dC5jb21wbGV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGOyB9XG4jc2VjdGlvbl80IC5jYWxsb3V0LmNvbXBsZXRlZCBoMywgI3NlY3Rpb25fNCAuY2FsbG91dC5jb21wbGV0ZWQgcCB7IGNvbG9yOiAjZmZmOyB9XG4jc2VjdGlvbl80IC5jYWxsb3V0LmNvbXBsZXRlZDpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCMzMDBDNUUpO1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCNzZWN0aW9uXzQgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgjMzAwQzVFKTtcbn1cblxuI3NlY3Rpb25fNCAuY2FsbG91dCB1bCBsaTphZnRlciwgI3NlY3Rpb25fNCB1bC5rZXlsaXN0IGxpOmFmdGVyLCAjc2VjdGlvbl80IC5vcmJpdC1zbGlkZSBmaWdjYXB0aW9uIHVsIGxpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyOWFkO1xufVxuXG4jc2VjdGlvbl80IC5vcmJpdC1zbGlkZSBoNCB7IGNvbG9yOiAkc2VjdGlvbl80X2JnX2NvbG91cjsgfVxuI3NlY3Rpb25fNCAub3JiaXQtY29udHJvbHMgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M1REZGO1xufVxuI3NlY3Rpb25fNCAub3JiaXQtY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjQ0M1REZGLCAkbGlnaHRuZXNzOiAtMjUlKTtcbn1cbiNzZWN0aW9uXzQgLm9yYml0LWNvbnRyb2xzIGJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjQ0M1REZGLCAwLjIpO1xufVxuXG4jc2VjdGlvbl80IGlucHV0IHtcbiAgICAvL21hcmdpbi1ib3R0b206IDA7XG59XG4jc2VjdGlvbl80IGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IGxhYmVsIHtcbiAgICBjb2xvcjogIzU3MEI3MztcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jc2VjdGlvbl80IGZvcm0gdGQgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwjc2VjdGlvbl80IGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IGxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5ydGwjc2VjdGlvbl80IGZvcm0gdGQgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc2VjdGlvbl80IGZvcm0gdGQudGV4dC1jZW50ZXIgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3NlY3Rpb25fNCBmb3JtIHRkLnRleHQtY2VudGVyIGlucHV0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNzZWN0aW9uXzQgZm9ybSB0ZC54M2NvbCB7XG4gICAgIHdpZHRoOiAzMyU7XG59XG5cbiNzZWN0aW9uXzQgZm9ybSB0ZC54MmNvbCB7XG4gICAgIHdpZHRoOiA1MCU7XG59XG5cbiNzZWN0aW9uXzQgZm9ybSB0ci5ub2JvcmRlciB7XG4gICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5hY2NvcmRpb24taXRlbS5zZWN0aW9uXzQgdGQge1xuICAgIFxufVxuXG4jc2VjdGlvbl80IGltZy5pY29uIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4jc2VjdGlvbl80IHRkIGxhYmVsLCAjc2VjdGlvbl80IHRoIGxhYmVsLCAjc2VjdGlvbl80IHRkIGlucHV0LCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRkIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRoIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl80IHRkIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbn1cblxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpIHtcbiAgICB3aWR0aDogNTAlO1xufVxuI292ZXJoZWFkcy10YWJsZXMtdGFicyBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAjb3ZlcmhlYWRzLXRhYmxlcy10YWJzIGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cbi5ydGwgI292ZXJoZWFkcy10YWJsZXMtdGFicyBsaTpudGgtY2hpbGQoMikgYSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDAlO1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXMsIG9wYWNpdHkgMC41cztcbn1cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGE6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGE6aG92ZXI6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDgwJTtcbn1cbiNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM1NzBCNzM7XG59XG4jb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDgwJTtcbn1cbiNvdmVyaGVhZHMtdGFibGVzLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAjb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cblxuXG5cbiNzZWN0aW9uXzQgLnBsdXNfY2hhciwgI3NlY3Rpb25fNCAucGVyY2VudF9jaGFyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xufVxuLmRhaWx5X292ZXJoZWFkX3JhdGUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbn1cblxuLmFubnVhbF9idXNpbmVzc19vdmVyaGVhZHNfdG90YWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cbi5hbm51YWxfc2FsYXJ5X3RvdGFsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xufVxuXG4ubW9udGhseV9jb3N0c190b3RhbCwgLm1vbnRobHlfY29zdHNfdG90YWxfY3VycmVuY3kge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cbi53ZWVrbHlfY29zdHNfdG90YWwsIC53ZWVrbHlfY29zdHNfdG90YWxfY3VycmVuY3kge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cbi5kYWlseV9jb3N0c190b3RhbCwgLmRhaWx5X2Nvc3RzX3RvdGFsX2N1cnJlbmN5IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xufVxuXG4uYW5udWFsX2J1c2luZXNzX292ZXJoZWFkc19jb3N0c190b3RhbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbn1cblxuLmNvc3Rfb2ZfcHJvZHVjdF9vcl9zZXJ2aWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xufVxuXG4uc2VsbGluZ19wcmljZV9vZl9wcm9kdWN0X3NlcnZpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXRhaWxfcHJpY2Vfb2ZfcHJvZHVjdF9zZXJ2aWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5cbi8vIFByb2R1Y3QgVmFsdWVcbi5zbGlkZXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC8vaGVpZ2h0OiA0MDBweDtcbn1cblxuI3M0X2FfcHJvZHVjdF92YWx1ZV9hZGRfbW9kYWwgLnNsaWRlcnMge1xuICAgIGhlaWdodDogOXJlbTtcbn1cblxuLyouc2xpZGVycyAudmVydGljYWxfbGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDJweDtcbiAgICB6LWluZGV4OiAwO1xufSovXG5cbi5zbGlkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTdweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbGVmdC1jYXJldC1ncmV5LnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5zbGlkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogLTdweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvcmlnaHQtY2FyZXQtZ3JleS5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAwO1xufVxuXG5cbi5zbGlkZXIge1xuICAgIGhlaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG59XG5cbi5zbGlkZXJfd3JhcHBlciB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZGlzcGxheTogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jczRfYV9wcm9kdWN0X3ZhbHVlX2FkZF9tb2RhbCAucHJpY2VfcG9pbnRfc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2R1Y3RfdmFsdWVfc2xpZGVyX2lucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg0IHtcbiAgICBjb2xvcjogIzU3MEI3MztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aWR0aDogOTUlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg0IGEge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbi5wcmljZV9wb2ludF9zbGlkZXIgaDQgYTpob3ZlciB7XG5cdHRleHQtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwwLDAsMC4xKTtcbn1cbi5wcmljZV9wb2ludF9zbGlkZXIgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM1NzBCNzM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg1LmxlZnQge1xuICAgIGxlZnQ6IDA7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5wcmljZV9wb2ludF9zbGlkZXIgaDUubGVmdCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cbi5wcmljZV9wb2ludF9zbGlkZXIgaDUubGVmdCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQ1MCk7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5wcmljZV9wb2ludF9zbGlkZXIgaDUubGVmdCBzcGFuIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cblxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIGg1LnJpZ2h0IHtcbiAgICByaWdodDogMDtcbn1cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnByaWNlX3BvaW50X3NsaWRlciBoNS5yaWdodCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbn1cbi5wcmljZV9wb2ludF9zbGlkZXIgaDUucmlnaHQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVgoMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogcmVtLWNhbGMoNDUwKTtcbn1cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnByaWNlX3BvaW50X3NsaWRlciBoNS5yaWdodCBzcGFuIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGVYKDApO1xufVxuXG5cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMTRyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXIudmVydGljYWw6aG92ZXIge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzNF9hX3Byb2R1Y3RfdmFsdWVfYWRkX21vZGFsIC5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgaGVpZ2h0OiA5cmVtO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXIgLnNsaWRlci1oYW5kbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDk5OSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xlZnQtcmlnaHQtY2FyZXRzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIC8vei1pbmRleDogMjtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXIgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlciAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXItbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNDBweDtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgLy9tYXgtd2lkdGg6IDEwMCU7XG4gICAgLy9tYXgtd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiYmI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKSB0cmFuc2xhdGVZKDVweCk7XG4gICAgYm94LXNoYWRvdzogLTJweCAxcHggMTVweCByZ2JhKCRibGFjaywgMC4zKTtcbn1cblxuLnByaWNlX3BvaW50X3NsaWRlciAuc2xpZGVyLWxhYmVsIC5zbGlkZXItbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXItbGFiZWwgLmRlbGV0ZV9wcm9kdWN0X3ZhbHVlX2VudHJ5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogI2RkZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdF9wcmljZV9wb2ludF9zbGlkZXJfc3RlcF9hIC5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci1sYWJlbCAuZGVsZXRlX3Byb2R1Y3RfdmFsdWVfZW50cnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJpY2VfcG9pbnRfc2xpZGVyIC5zbGlkZXItbGFiZWwgLmRlbGV0ZV9wcm9kdWN0X3ZhbHVlX2VudHJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XG59XG5cbi5wcmljZV9wb2ludF9zbGlkZXIgLnNsaWRlci1sYWJlbDpiZWZvcmUge1xuXHRyaWdodDogMTAwJTtcblx0dG9wOiA1MCU7XG5cdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAwKTtcblx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAjYmJiO1xuXHRib3JkZXItd2lkdGg6IDEwcHg7XG5cdG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG5cbi5zbGlkZXItc3RhdGljIC5zbGlkZXItc3RhdGljLWhhbmRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoOTk5KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQTcxQUU0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy91cC1kb3duLWNhcmV0cy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA0MiU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWRlci1zdGF0aWMgLnNsaWRlci1zdGF0aWMtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogNDBweDtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgLy9tYXgtd2lkdGg6IDEwMCU7XG4gICAgLy9tYXgtd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNiYmI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICBib3gtc2hhZG93OiAtMnB4IDFweCAxNXB4IHJnYmEoJGJsYWNrLCAwLjMpO1xufVxuXG4uc2xpZGVyLXN0YXRpYyAuc2xpZGVyLXN0YXRpYy1sYWJlbDpiZWZvcmUge1xuXHRyaWdodDogMTAwJTtcblx0dG9wOiA1MCU7XG5cdGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXHRoZWlnaHQ6IDA7XG5cdHdpZHRoOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAwKTtcblx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiAjYmJiO1xuXHRib3JkZXItd2lkdGg6IDEwcHg7XG5cdG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4uc2xpZGVyLXN0YXRpYyAuc2xpZGVyLXN0YXRpYy1sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cblxuXG4jczRfYV9wcm9kdWN0X3ZhbHVlX2FkZF9tb2RhbCBoMyAuYWRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiNzNF9hX3Byb2R1Y3RfdmFsdWVfYWRkX21vZGFsIGgzIC5lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsIHsgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogNzAlO1xufVxuLnN0ZXBfaW5kaWNhdG9yLmhvcml6b250YWwuY2VudGVyZWQgeyBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0E3MUFFNDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogM3B4O1xuICAgIHJpZ2h0OiAzcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgei1pbmRleDogMDtcbn1cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsLm5vbGluZTphZnRlciB7IFxuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3A6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5zdGVwX2luZGljYXRvci5ob3Jpem9udGFsIGxpIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRkNCMkZGO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgIHdpZHRoOiByZW0tY2FsYygzNik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNCMkZGO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3RlcF9pbmRpY2F0b3IuaG9yaXpvbnRhbC5zaW5nbGUgbGkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDgpO1xuICAgIHdpZHRoOiByZW0tY2FsYyg0OCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ0KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbn1cblxuLnN0ZXBfaW5kaWNhdG9yLmhvcml6b250YWwgbGkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTcxQUU0O1xuICAgIGJvcmRlci1jb2xvcjogI0E3MUFFNDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLnN0ZXBfaW5kaWNhdG9yLnZlcnRpY2FsIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjApO1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuc3RlcF9pbmRpY2F0b3IudmVydGljYWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xufVxuLnN0ZXBfaW5kaWNhdG9yLnZlcnRpY2FsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNBNzFBRTQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogMTdweDtcbiAgICByaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAwO1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuc3RlcF9pbmRpY2F0b3IudmVydGljYWw6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNBNzFBRTQ7XG4gICAgcmlnaHQ6IDE3cHg7XG4gICAgbGVmdDogYXV0bztcbn1cbi5zdGVwX2luZGljYXRvci52ZXJ0aWNhbCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDUpO1xuICAgIHotaW5kZXg6IDE7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5zdGVwX2luZGljYXRvci52ZXJ0aWNhbCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cbi5zdGVwX2luZGljYXRvci52ZXJ0aWNhbCBsaSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0E3MUFFNDtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0E3MUFFNDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgbWFyZ2luLWxlZnQ6IC00NXB4O1xufVxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuc3RlcF9pbmRpY2F0b3IudmVydGljYWwgbGkgc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xuICAgIG1hcmdpbi1yaWdodDogLTQ1cHg7XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgICNzZWN0aW9uXzQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBcbiAgICAgICAgdXJsKCcuLi9pbWcvMDQtYmctcmlnaHQuc3ZnJykgdG9wIDAgcmlnaHQgLTUwMHB4IG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDQtYmctbGVmdC5zdmcnKSB0b3AgMCBsZWZ0IC00NTBweCBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMDBDNUU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IGF1dG87XG4gICAgfVxuXG4gICAgLnN0ZXBfaW5kaWNhdG9yLmhvcml6b250YWwgeyBcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgfVxuXG59XG5cbi8qIDAgLSAzNzRweCAtIFRpbnkgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjIzLjM3NWVtKSB7XG4gICAgLnNsaWRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cblxuLnByb2ZpdF9sb3NzX3RhYmxlIHtcbiAgICBcbn1cblxuLnByb2ZpdF9sb3NzX3RhYmxlIHRoLCAucHJvZml0X2xvc3NfdGFibGUgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3M0X2JfdGFibGVfbW9udGhseV9pbmNvbWUgdGQsICNzNF9iX3RhYmxlX21vbnRobHlfbWF0ZXJpYWxzX3Byb2R1Y3Rpb24gdGQge1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbiNzNF9iX3RhYmxlX21vbnRobHlfb3ZlcmhlYWRzIC5tb250aF9jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMzAlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbn1cblxuLypcbiAqIFRBQkxFIFNURVAgTU9OVEhcbiAqL1xuLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMge31cblxuLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMgLm1vbnRoLXByZXZpb3VzLCAudGFibGUtc3RlcC1tb250aC1jb250cm9scyAubW9udGgtbmV4dCB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiByZW0tY2FsYyg4NSk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xufVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyBidXR0b24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0E3MUFFNCwgMC4yKTtcbn1cblxuLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMgYnV0dG9uOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU3MEI3Mztcbn1cblxuI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgdGgge1xuICAgIGNvbG9yOiAjNTcwQjczO1xufVxuXG4jczRfYl90YWJsZV9tb250aGx5X292ZXJoZWFkcyB0ZC5wdWxzZSwgI3M0X2JfdGFibGVfbW9udGhseV9vdmVyaGVhZHMgdGgucHVsc2Uge1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMC41cyBlYXNlLWluLW91dCAxO1xuICAgIC8vYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG4vL0NDNURGRiBDREJFRkZcbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHsgYmFja2dyb3VuZC1jb2xvcjogI0NEQkVGRjsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbn1cblxuLnRhYmxlLXN0ZXAtbW9udGgtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyAubW9udGgtcHJldmlvdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sZWZ0LWFycm93LnN2ZycpO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC50YWJsZS1zdGVwLW1vbnRoLWNvbnRyb2xzIC5tb250aC1wcmV2aW91cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JpZ2h0LWFycm93LnN2ZycpO1xufVxuXG4udGFibGUtc3RlcC1tb250aC1jb250cm9scyAubW9udGgtbmV4dCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAxMDBweCAxMDBweCAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3JpZ2h0LWFycm93LnN2ZycpO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC50YWJsZS1zdGVwLW1vbnRoLWNvbnRyb2xzIC5tb250aC1uZXh0IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvbGVmdC1hcnJvdy5zdmcnKTtcbn1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xuICAgICNzNF9iX3RhYmxlX21vbnRobHlfb3ZlcmhlYWRzIC5tb250aF9jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDQ4JTtcbiAgICB9XG59XG5cbiIsIi8qIFxuICogU0VDVElPTiA1XG4gKi9cbiRzZWN0aW9uXzVfYmdfY29sb3VyOiAjNTQxRjNGO1xuI3NlY3Rpb25fNSB7IFxuICAgIGJhY2tncm91bmQ6IFxuICAgICAgICB1cmwoJy4uL2ltZy8wNS1iZy1yaWdodC5zdmcnKSB0b3AgMCByaWdodCAwIG5vLXJlcGVhdCxcbiAgICAgICAgdXJsKCcuLi9pbWcvMDUtYmctbGVmdC5zdmcnKSB0b3AgMCBsZWZ0IDAgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uXzVfYmdfY29sb3VyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHggYXV0bztcbn1cbiNzZWN0aW9uXzUgLnJldmVhbC5mdWxsIHsgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb25fNV9iZ19jb2xvdXI7IGNvbG9yOiAjZmZmOyB9XG4jc2VjdGlvbl81IC5idXR0b246bm90KC5ob2xsb3cpOm5vdCguY2xlYXIpOm5vdCgud2hpdGUpOm5vdCguaW5jb21lKTpub3QoLmNvc3QpOm5vdCgubG96ZW5nZV9pdGVtKSB7IGJhY2tncm91bmQtY29sb3I6ICNCQTE1Nzg7IH1cbiNzZWN0aW9uXzUgLmJ1dHRvbjpub3QoLmhvbGxvdyk6bm90KC5jbGVhcik6bm90KC53aGl0ZSk6bm90KC5pbmNvbWUpOm5vdCguY29zdCk6bm90KC5sb3plbmdlX2l0ZW0pOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoI0JBMTU3OCwgJGxpZ2h0bmVzczogLTE1JSk7IH1cbiNzZWN0aW9uXzUgLmJ1dHRvbi5ob2xsb3cgeyBib3JkZXItY29sb3I6ICM1NDFGM0Y7IGNvbG9yOiAjNTQxRjNGOyB9XG4jc2VjdGlvbl81IC5idXR0b24ub3V0bGluZWQgeyBib3JkZXItY29sb3I6ICM1NDFGM0Y7IGJvcmRlci13aWR0aDogM3B4OyBjb2xvcjogIzU0MUYzRjsgfVxuLyojc2VjdGlvbl81IC53YXJuaW5nOmJlZm9yZSB7IGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7IH0qL1xuI3NlY3Rpb25fNSAuc2VjdGlvbl90aXRsZSBzcGFuIHsgY29sb3I6ICRzZWN0aW9uXzVfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl81IC5zZWN0aW9uX3RpdGxlIHNwYW4gc3ZnIHsgd2lkdGg6IDI2cHg7IH1cbiNzZWN0aW9uXzUgLnNlY3Rpb25fdGl0bGUgc3BhbiAudGlja19maWxsIHsgZmlsbDogJHNlY3Rpb25fNV9iZ19jb2xvdXI7IH1cblxuI3NlY3Rpb25fNSAuY2FsbG91dF9hIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNSAuY2FsbG91dF9iIC5jaXJjbGUtbnVtYmVyLFxuI3NlY3Rpb25fNSAuY2FsbG91dF9jIC5jaXJjbGUtbnVtYmVyIHsgXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0JBMTU3OCwgMC44KTsgXG59XG4jc2VjdGlvbl81IC5jYWxsb3V0LmNvbXBsZXRlZCAuY2lyY2xlLW51bWJlciB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyBcblx0Y29sb3I6ICNFQTU3OEY7XG59XG5cbiNzZWN0aW9uXzUgaDIsICNzZWN0aW9uXzUgaDMsICNzZWN0aW9uXzUgYSBoMiwgI3NlY3Rpb25fNSBhIGgzIHsgY29sb3I6ICRzZWN0aW9uXzVfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl81IGg0IHsgY29sb3I6ICNCQTE1Nzg7IH1cbiNzZWN0aW9uXzUgLnRyYW5zcGFyZW50ID4gcCB7IGNvbG9yOiAjZmZmOyB0ZXh0LXNoYWRvdzogMHB4IDdweCA2cHggcmdiYSgwLDAsMCwwLjQpOyB9XG4jc2VjdGlvbl81IC5jYWxsb3V0LmNvbXBsZXRlZCB7IGJhY2tncm91bmQtY29sb3I6ICNFQTU3OEY7IH1cbiNzZWN0aW9uXzUgLmNhbGxvdXQuY29tcGxldGVkIGgzLCAjc2VjdGlvbl81IC5jYWxsb3V0LmNvbXBsZXRlZCBwIHsgY29sb3I6ICNmZmY7IH1cbiNzZWN0aW9uXzUgLmNhbGxvdXQuY29tcGxldGVkOmJlZm9yZSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RyaWFuZ2xlQkcoIzU0MUYzRik7XG59XG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsI3NlY3Rpb25fNSAuY2FsbG91dC5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHUlRMKCM1NDFGM0YpO1xufVxuXG4jc2VjdGlvbl81IC5jYWxsb3V0IHVsIGxpOmFmdGVyLCAjc2VjdGlvbl81IHVsLmtleWxpc3QgbGk6YWZ0ZXIsICNzZWN0aW9uXzUgLm9yYml0LXNsaWRlIGZpZ2NhcHRpb24gdWwgbGk6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYTE1Nzg7XG59XG5cbiNzZWN0aW9uXzUgLm9yYml0LXNsaWRlIGg0IHsgY29sb3I6ICRzZWN0aW9uXzVfYmdfY29sb3VyOyB9XG4jc2VjdGlvbl81IC5vcmJpdC1jb250cm9scyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhEQjk7XG59XG4jc2VjdGlvbl81IC5vcmJpdC1jb250cm9scyBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCNGRjhEQjksICRsaWdodG5lc3M6IC0yNSUpO1xufVxuI3NlY3Rpb25fNSAub3JiaXQtY29udHJvbHMgYnV0dG9uLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNGRjhEQjksIDAuMik7XG59XG5cbiNzZWN0aW9uXzUgaW5wdXQge1xufVxuI3NlY3Rpb25fNSBsYWJlbCwgLmFjY29yZGlvbi1pdGVtLnNlY3Rpb25fNSBsYWJlbCB7XG4gICAgY29sb3I6ICM1NDFGM0Y7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuI3NlY3Rpb25fNS5ydGwgbGFiZWwsIC5hY2NvcmRpb24taXRlbS5zZWN0aW9uXzUgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc2VjdGlvbl81IGZvcm0gdGQgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbiNzZWN0aW9uXzUucnRsIGZvcm0gdGQgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc2VjdGlvbl81IGZvcm0gdGQudGV4dC1jZW50ZXIgbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3NlY3Rpb25fNSBmb3JtIHRkLnRleHQtY2VudGVyIGlucHV0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNzZWN0aW9uXzUgZm9ybSB0ZC54M2NvbCB7XG4gICAgIHdpZHRoOiAzMyU7XG59XG5cbiNzZWN0aW9uXzUgZm9ybSB0ZC54MmNvbCB7XG4gICAgIHdpZHRoOiA1MCU7XG59XG5cbiNzZWN0aW9uXzUgZm9ybSB0ci5ub2JvcmRlciB7XG4gICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5hY2NvcmRpb24taXRlbS5zZWN0aW9uXzUgdGQge1xuICAgIFxufVxuXG4jc2VjdGlvbl81IGltZy5pY29uIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4jc2VjdGlvbl81IHRkIGxhYmVsLCAjc2VjdGlvbl81IHRoIGxhYmVsLCAjc2VjdGlvbl81IHRkIGlucHV0LCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRkIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRoIGxhYmVsLCAuYWNjb3JkaW9uLWl0ZW0uc2VjdGlvbl81IHRkIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygwKTtcbn1cblxuI3NlY3Rpb25fNSAucHJvZHVjdC1mbG93IC5jb2x1bW5zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jc2VjdGlvbl81IC5wcm9kdWN0LWZsb3cgLmNvbHVtbnM6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTE1MCUpO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdBcnJvdygjRkZDMkUxLCByaWdodCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4jc2VjdGlvbl81LnJ0bCAucHJvZHVjdC1mbG93IC5jb2x1bW5zOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTE1MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Z0Fycm93KCNGRkMyRTEsIGxlZnQpO1xufVxuXG4jc2VjdGlvbl81IC5wcm9kdWN0LWZsb3cgcCB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoOCk7XG59XG5cbiNzZWN0aW9uXzUgLnByb2R1Y3QtZmxvdy5leHRyYS1wYWRkaW5nIC5jb2x1bW5zIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAgXG4gICAgI3NlY3Rpb25fNSAucHJvZHVjdC1mbG93IC5jb2x1bW5zIC5pY29uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl81IC5wcm9kdWN0LWZsb3cgLmNvbHVtbnMubGVmdC1kb3duLWFycm93LXNtYWxsOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnRGlhZ29uYWxBcnJvdygjRkZDMkUxLCBsZWZ0ZG93bik7XG4gICAgfVxuICAgIFxuICAgIC8vIFJUTCBPdmVycmlkZXNcbiAgICAjc2VjdGlvbl81LnJ0bCAucHJvZHVjdC1mbG93IC5jb2x1bW5zLmxlZnQtZG93bi1hcnJvdy1zbWFsbDphZnRlciB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdEaWFnb25hbEFycm93KCNGRkMyRTEsIHJpZ2h0ZG93bik7XG4gICAgfVxuXG59XG5cblxuI3NlY3Rpb25fNSBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy50aW50ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzAwMCwgMC4yKTtcbn1cblxuI3NlY3Rpb25fNSBzZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucy5uby1vdmVyZmxvdyB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vKlxuICogU1VTVEFJTkFCSUxJVFkgU0xJREVSXG4gKi9cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIge1xufVxuXG4uc3VzdGFpbmFiaWxpdHktc2xpZGVyIC5vcmJpdC1jb250YWluZXIge1xufVxuXG4uc3VzdGFpbmFiaWxpdHktc2xpZGVyIGZpZ3VyZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWdjYXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG59XG5cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIgZmlndXJlIGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBib3R0b206IDQ4JTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzMCk7XG59XG5cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIgZmlndXJlIGg0IHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAvL2ZsZXgtc2hyaW5rOiAxO1xufVxuXG4uc3VzdGFpbmFiaWxpdHktc2xpZGVyIC5vcmJpdC1zbGlkZSB7XG59XG5cbi5zdXN0YWluYWJpbGl0eS1zbGlkZXIgLm9yYml0LXNsaWRlIGltZywgLnN1c3RhaW5hYmlsaXR5LXNsaWRlciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlIGltZyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciAub3JiaXQtc2xpZGUgaW1nOm5vdCguaW5zZXRfaW1hZ2UpLCAuc3VzdGFpbmFiaWxpdHktc2xpZGVyIC5vcmJpdC1zbGlkZS5pcy1hY3RpdmUgaW1nOm5vdCguaW5zZXRfaW1hZ2UpIHtcbn1cblxuLnN1c3RhaW5hYmlsaXR5LXNsaWRlciAub3JiaXQtc2xpZGUgaW1nLmluc2V0X2ltYWdlLCAuc3VzdGFpbmFiaWxpdHktc2xpZGVyIC5vcmJpdC1zbGlkZS5pcy1hY3RpdmUgaW1nLmluc2V0X2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTklO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDcwJTtcbn1cblxuLyogMCAtIDQ0OXB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDowKSBhbmQgKG1heC13aWR0aDo0NDlweCkge1xuICAgIC5zdXN0YWluYWJpbGl0eS1zbGlkZXItY29sdW1uIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbn1cblxuLyogNDUwcHggLSA1NzBweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NDUwcHgpIGFuZCAobWF4LXdpZHRoOjU3MHB4KSB7XG4gICAgLnN1c3RhaW5hYmlsaXR5LXNsaWRlci1jb2x1bW4ge1xuICAgICAgICBmbGV4OiAwIDAgODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgLnN1c3RhaW5hYmlsaXR5LXNsaWRlciBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgfVxufVxuXG4vKlxuICogU1VTVEFJTkFCSUxJVFkgQkFER0VTXG4gKi9cbi5zdXN0YWluYWJpbGl0eS1iYWRnZXMtY29udGFpbmVyIHtcbiAgICBcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgIFxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRkY4REI5O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoODAlIC0gNHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogIzU0MUYzRjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnN1c3RhaW5hYmlsaXR5LWJhZGdlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U2RTZFNjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIH1cbiAgICBcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2UuYWN0aXZlIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZS5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQzJFMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZDMkUxO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICB9XG4gICAgXG59XG5cbi5sYW5nLW1zX215IC5zdXN0YWluYWJpbGl0eS1iYWRnZXMtY29udGFpbmVyIHtcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAwIC0gNTUwcHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU1MHB4KSB7XG4gICAgLnN1c3RhaW5hYmlsaXR5LWJhZGdlcy1jb250YWluZXI6bm90KC5zdXN0YWluYWJpbGl0eS1sYWJlbC1iYWRnZXMtY29udGFpbmVyKSB7XG4gICAgXG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgICAgIH1cbiAgICAgICAgLnN1c3RhaW5hYmlsaXR5LWJhZGdlLmNvbHVtbnMge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbi8qIDc0MHB4IC0gMTAyM3B4IC0gTWVkaXVtIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0Ni4yNTBlbSkgYW5kIChtYXgtd2lkdGg6NjMuOTM4ZW0pIHtcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciB7XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubGFuZy1tc19teSAuc3VzdGFpbmFiaWxpdHktYmFkZ2VzLWNvbnRhaW5lciB7XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuXG4vKlxuICogU1VTVEFJTkFCSUxJVFkgTEFCRUxcbiAqL1xuI3N1c3RhaW5hYmlsaXR5X2xhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvc3VzdGFpbmFiaWxpdHlfbGFiZWxfYmdfbG93ZXIuc3ZnJyksIHVybCggJy4uL2ltZy9zdXN0YWluYWJpbGl0eV9sYWJlbF9iZ191cHBlci5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQsIHRvcCBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAzMiU7XG4gICAgXG4gICAgLnN1c3RhaW5hYmlsaXR5LWxhYmVsLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgIFxuICAgIC5zdXN0YWluYWJpbGl0eS1wdXJwb3NlLXN0YXRlbWVudCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmMyZTE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjgpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNjAlIC0gNHB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuc3VzdGFpbmFiaWxpdHktYmFkZ2U6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLnN1c3RhaW5hYmlsaXR5LWxhYmVsLWJhZGdlcy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIFxuICAgICAgICAucHVycG9zZS1zdGF0ZW1lbnQtYmFkZ2VzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5wcmV2aW91cy1leGVyY2lzZS1iYWRnZXMge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xuICAgICNzdXN0YWluYWJpbGl0eV9sYWJlbCB7XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3N1c3RhaW5hYmlsaXR5X2xhYmVsIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCwgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyOCAxMCAxNCAxMCk7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIGNvbG9yOiAjMmUzODQ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICMyZTM4NDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IFxuICAgIH1cbn1cblxuLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBcbiAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICAgICAgICBsZWZ0OiAtNiU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgICAgIFxuICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMSB7XG4gICAgICAgIHRvcDogNCU7XG4gICAgfVxuICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMiB7XG4gICAgICAgIHRvcDogNCU7XG4gICAgfVxuICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMyB7XG4gICAgICAgIHRvcDogNyU7XG4gICAgfVxuICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfNCB7XG4gICAgICAgIHRvcDogMjAlO1xuICAgIH1cbiAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzUge1xuICAgICAgICB0b3A6IDQyJTtcbiAgICB9XG4gICAgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF82IHtcbiAgICAgICAgdG9wOiA2MCU7XG4gICAgfVxuICAgIFxuICAgIC5uby1vdmVyZmxvdyB7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgICAvLyBTY3JvbGwgc3RyaXBzIGFkZCBhIG5hcnJvdyBiYW5kIGF0IGxlZnQgYW5kIHJpZ2h0IHRvIGVuYWJsZSB0b3VjaCBzY3JvbGxpbmcgb24gbW9iaWxlIGRldmljZXMgd2hlbiB0aGUgZHJhZ2dhYmxlIG1hcCBkaWFncmFtcyBhcmUgYWN0aXZlXG4gICAgLnNjcm9sbC1zdHJpcCB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuc2Nyb2xsLXN0cmlwLS1sZWZ0IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMCwwLDAuMiksIHJnYmEoMCwwLDAsMCkgKTtcbiAgICB9XG4gICAgLnNjcm9sbC1zdHJpcC0tcmlnaHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMCwwLDApLCByZ2JhKDAsMCwwLDAuMikgKTtcbiAgICB9XG5cbn1cblxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uXzVfYmdfY29sb3VyO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4jc2VjdGlvbl81LnJ0bCAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciB7XG4gICAgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC02JSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xuICAgIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIHtcbiAgICAgICAgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF8yIHtcbiAgICAgICAgICAgIHRvcDogMTAlO1xuICAgICAgICB9XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfMyB7XG4gICAgICAgICAgICB0b3A6IDIyJTtcbiAgICAgICAgfVxuICAgICAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzQge1xuICAgICAgICAgICAgdG9wOiA0NyU7XG4gICAgICAgIH1cbiAgICAgICAgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsI3N1c3RhaW5hYmlsaXR5X21hcF9tb2RhbF81IHtcbiAgICAgICAgICAgIHRvcDogNjUlO1xuICAgICAgICB9XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eV9zbWFsbF9tb2RhbCNzdXN0YWluYWJpbGl0eV9tYXBfbW9kYWxfNiB7XG4gICAgICAgICAgICB0b3A6IDgxJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiAwIC0gNzM5cHggT25seSBzbWFsbC0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDowKSBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIHtcbiAgICAgICAgLnN1c3RhaW5hYmlsaXR5X3NtYWxsX21vZGFsIHtcbiAgICAgICAgICAgIGxlZnQ6IDQlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc2Nyb2xsLXN0cmlwLS1sZWZ0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgLnNjcm9sbC1zdHJpcC0tcmlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBSVEwgT3ZlcnJpZGVzXG4gICAgI3NlY3Rpb25fNS5ydGwgLnN1c3RhaW5hYmlsaXR5LW1hcC1jb250YWluZXIge1xuICAgICAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiA0JSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuc3VzdGFpbmFiaWxpdHlfc21hbGxfbW9kYWwjc3VzdGFpbmFiaWxpdHlfbWFwX21vZGFsXzEge1xuICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubWFwLWNvbnRhaW5lci1wYW5lbCB7XG4gICAgICAgIC8vbWF4LWhlaWdodDogNzB2aDsgICBcbiAgICB9XG59XG5cbi8qIFN1c3RhaW5hYmlsaXR5IE1hcCAqL1xuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLCAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwIHtcbiAgICAvLy13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAvL3RyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwwLDAsMC4zNSk7XG4gICAgXG4gICAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50ID4gKiB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaDQ6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBoNC53aWRlci1saW5lOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiA2Ni43JTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU0MUYzRjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY2cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoIzAwMCwgMC40KTtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaDU6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgjMDAwLCAwLjQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxpOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBsaS5pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNCQTE1Nzg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxpLnBvc2l0aXZlLWltcGFjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICNCNUU5OUY7XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjREMyN0JFO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBcbiAgICBcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuI3NlY3Rpb25fNS5ydGwgLnN1c3RhaW5hYmlsaXR5LW1hcCwgI2J1c2luZXNzX3BsYW4ucnRsIC5zdXN0YWluYWJpbGl0eS1tYXAge1xuICAgIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXA6bm90KC5kaXNhYmxlZCk6aG92ZXIsIFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcDpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgY3Vyc29yOiBncmFiO1xufVxuXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXA6bm90KC5kaXNhYmxlZCkuZHJhZ2dpbmcsIFxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLmRyYWdnaW5nOm5vdCguZGlzYWJsZWQpOmhvdmVyLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcDpub3QoLmRpc2FibGVkKS5kcmFnZ2luZywgXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLmRyYWdnaW5nOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAjc3VzdGFpbmFiaWxpdHlfbWFwX3N0YXRpYyxcbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfZ2VuZXJhdGVkLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc3RhdGljLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfZ2VuZXJhdGVkIHtcbiAgICB3aWR0aDogMzIwMHB4O1xufVxuXG4jc2VjdGlvbl81IC56b29tLWNvbnRyb2xzLWNvbnRhaW5lciwgI2J1c2luZXNzX3BsYW4gLnpvb20tY29udHJvbHMtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbn1cblxuI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy5zbGlkZXI6YmVmb3JlLFxuI3NlY3Rpb25fNSAuem9vbS1jb250cm9scy5zbGlkZXI6YWZ0ZXIsXG4jYnVzaW5lc3NfcGxhbiAuem9vbS1jb250cm9scy5zbGlkZXI6YmVmb3JlLFxuI2J1c2luZXNzX3BsYW4gLnpvb20tY29udHJvbHMuc2xpZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4jc2VjdGlvbl81IC56b29tLWNvbnRyb2xzLnNsaWRlcixcbiNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLnNsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkY4REI5LCAwLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgXG4gICAgLnNsaWRlci1oYW5kbGUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9ICAgIFxuICAgIFxuICAgIC5zbGlkZXItZmlsbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH0gICAgXG59XG5cbi8qIDAgLSA1NTBweCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTUwcHgpIHtcbiAgICAjc2VjdGlvbl81IC56b29tLWNvbnRyb2xzLWNvbnRhaW5lcixcbiAgICAjYnVzaW5lc3NfcGxhbiAuem9vbS1jb250cm9scy1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBEaXNhYmxpbmcgc2VjdGlvbnMgZm9yIGluaXRpYWwgc3RhdGljIHZlcnNpb24gc2hvd24gYXQgc3RhcnQgb2YgZXhlcmNpc2Vcbi8vIFN0ZXAgMlxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGksXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtMiAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkge1xuICAgIGg1IHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGkuaXRlbS1kZXNjcmlwdGlvbiwgbGkucG9zaXRpdmUtaW1wYWN0LCBsaS5jaGFsbGVuZ2VzLWZhY2VkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgfVxuICAgICAgICBsaS5pdGVtLWRlc2NyaXB0aW9uOmFmdGVyLCBsaS5wb3NpdGl2ZS1pbXBhY3Q6YWZ0ZXIsIGxpLmNoYWxsZW5nZXMtZmFjZWQ6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gU3RlcCAzXG4jc2VjdGlvbl81IC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0zIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSxcbiNidXNpbmVzc19wbGFuIC5zdXN0YWluYWJpbGl0eS1tYXAuc3RlcC0zIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB1bCBsaSB7XG4gICAgdWwge1xuICAgICAgICBsaS5pdGVtLWRlc2NyaXB0aW9uLCBsaS5wb3NpdGl2ZS1pbXBhY3QsIGxpLmNoYWxsZW5nZXMtZmFjZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICB9XG4gICAgICAgIGxpLml0ZW0tZGVzY3JpcHRpb246YWZ0ZXIsIGxpLnBvc2l0aXZlLWltcGFjdDphZnRlciwgbGkuY2hhbGxlbmdlcy1mYWNlZDphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBTdGVwIDRcbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTQgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTQgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHtcbiAgICB1bCB7XG4gICAgICAgIGxpLnBvc2l0aXZlLWltcGFjdCwgbGkuY2hhbGxlbmdlcy1mYWNlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAgIH1cbiAgICAgICAgbGkucG9zaXRpdmUtaW1wYWN0OmFmdGVyLCBsaS5jaGFsbGVuZ2VzLWZhY2VkOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIFN0ZXAgNVxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGksXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLnN0ZXAtNSAuc3VzdGFpbmFiaWxpdHktbWFwLS1tYWluLXNlZ21lbnQgdWwgbGkge1xuICAgIHVsIHtcbiAgICAgICAgbGkuY2hhbGxlbmdlcy1mYWNlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAgIH1cbiAgICAgICAgbGkuY2hhbGxlbmdlcy1mYWNlZDphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBTdGVwIDZcbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTYgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpLFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5zdGVwLTYgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHVsIGxpIHtcbn1cblxuI3NlY3Rpb25fNSAuc3VzdGFpbmFiaWxpdHktbWFwLm9mZnNldC1sZWZ0LFxuI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcC5vZmZzZXQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwJTtcbn1cblxuLyogMCAtIDU1MHB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NTBweCkge1xuICAgICNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcC5vZmZzZXQtbGVmdCxcbiAgICAjYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwLm9mZnNldC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTtcbiAgICB9XG59XG5cbiNzZWN0aW9uXzUgLnN1c3RhaW5hYmlsaXR5LW1hcCNzdXN0YWluYWJpbGl0eV9tYXBfc2luZ2xlX3RyZWUsXG4jYnVzaW5lc3NfcGxhbiAuc3VzdGFpbmFiaWxpdHktbWFwI3N1c3RhaW5hYmlsaXR5X21hcF9zaW5nbGVfdHJlZSB7IC8vIFNpbmdsZSB0cmVlIGV4YW1wbGUgc3R5bGUgb3ZlcnJpZGVzXG4gICAgLnN1c3RhaW5hYmlsaXR5LW1hcC0tbWFpbi1zZWdtZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgXG4gICAgICAgIGg0OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0IwM0U5NjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgbGkuaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQjAzRTk2O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsaS5wb3NpdGl2ZS1pbXBhY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQjAzRTk2O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBsaS5jaGFsbGVuZ2VzLWZhY2VkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0IwM0U5NjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuLypcbiAqIENJUkNVTEFSIEVDT05PTVlcbiAqL1xuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3MCk7XG59XG5cbiNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaTpub3QoLmJhY2tncm91bmQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsMC41KTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDNweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuI3NlY3Rpb25fNS5ydGwgdWwuY2lyY3VsYXItZWNvbm9teSBsaTpub3QoLmJhY2tncm91bmQpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmJhY2tncm91bmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLm9uZSB7XG4gICAgdG9wOiAyJTtcbiAgICBsZWZ0OiA1NiU7XG4gICAgd2lkdGg6IDIwNnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4jc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudHdvIHtcbiAgICB0b3A6IDE5JTtcbiAgICBsZWZ0OiA4NSU7XG4gICAgd2lkdGg6IDEzNnB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnRocmVlIHtcbiAgICB0b3A6IDU1JTtcbiAgICBsZWZ0OiAxMDIlO1xuICAgIHdpZHRoOiAxODZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbiNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5mb3VyIHtcbiAgICB0b3A6IDc1JTtcbiAgICBsZWZ0OiA4MSU7XG4gICAgd2lkdGg6IDE1NnB4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZpdmUge1xuICAgIHRvcDogODQlO1xuICAgIGxlZnQ6IDIxJTtcbiAgICB3aWR0aDogMTc2cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbiNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5zaXgge1xuICAgIHRvcDogMzUlO1xuICAgIGxlZnQ6IDMlO1xuICAgIHdpZHRoOiAxMjZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vKiAwIC0gNzM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAjc2VjdGlvbl81IHtcbiAgICAgICAgYmFja2dyb3VuZDogXG4gICAgICAgIHVybCgnLi4vaW1nLzA1LWJnLXJpZ2h0LnN2ZycpIHRvcCAwIHJpZ2h0IC01MDBweCBuby1yZXBlYXQsXG4gICAgICAgIHVybCgnLi4vaW1nLzA1LWJnLWxlZnQuc3ZnJykgdG9wIDAgbGVmdCAtNDUwcHggbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMDBweCBhdXRvO1xuICAgIH1cblxufVxuXG4vKiAwIC0gNDc0cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjI5LjYyNWVtKSB7XG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGk6bm90KC5iYWNrZ3JvdW5kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkub25lIHtcbiAgICAgICAgdG9wOiAyJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG5cbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudHdvIHtcbiAgICAgICAgdG9wOiAxOSU7XG4gICAgICAgIGxlZnQ6IDc1JTtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkudGhyZWUge1xuICAgICAgICB0b3A6IDY0JTtcbiAgICAgICAgbGVmdDogNzAlO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuZm91ciB7XG4gICAgICAgIHRvcDogODYlO1xuICAgICAgICBsZWZ0OiA2MSU7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5maXZlIHtcbiAgICAgICAgdG9wOiA4NCU7XG4gICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgd2lkdGg6IDEzNHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnNpeCB7XG4gICAgICAgIHRvcDogMzUlO1xuICAgICAgICBsZWZ0OiAyMSU7XG4gICAgICAgIHdpZHRoOiA4NnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxufVxuXG4vKiA0NzVweCAtIDczOXB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoyOS42ODhlbSkgYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgIFxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaTpub3QoLmJhY2tncm91bmQpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxuICAgIFxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5vbmUge1xuICAgICAgICB0b3A6IDIlO1xuICAgICAgICBsZWZ0OiA1NiU7XG4gICAgICAgIHdpZHRoOiAxNTZweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cblxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS50d28ge1xuICAgICAgICB0b3A6IDE5JTtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS50aHJlZSB7XG4gICAgICAgIHRvcDogNTUlO1xuICAgICAgICBsZWZ0OiA4NCU7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5mb3VyIHtcbiAgICAgICAgdG9wOiA3NSU7XG4gICAgICAgIGxlZnQ6IDgxJTtcbiAgICAgICAgd2lkdGg6IDEyNnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZpdmUge1xuICAgICAgICB0b3A6IDg0JTtcbiAgICAgICAgbGVmdDogMjUlO1xuICAgICAgICB3aWR0aDogMTQycHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuc2l4IHtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgIGxlZnQ6IDExJTtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG59XG5cbi8qIDc0MHB4IC0gMTAyM3B4IC0gTWVkaXVtIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo0Ni4yNTBlbSkgYW5kIChtYXgtd2lkdGg6NjMuOTM4ZW0pIHtcbiAgIFxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpOm5vdCguYmFja2dyb3VuZCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLm9uZSB7XG4gICAgICAgIHRvcDogMiU7XG4gICAgICAgIGxlZnQ6IDU2JTtcbiAgICAgICAgd2lkdGg6IDE1NnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnR3byB7XG4gICAgICAgIHRvcDogMTklO1xuICAgICAgICBsZWZ0OiA4NSU7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLnRocmVlIHtcbiAgICAgICAgdG9wOiA1NSU7XG4gICAgICAgIGxlZnQ6IDEwMiU7XG4gICAgICAgIHdpZHRoOiAxMjZweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICNzZWN0aW9uXzUgdWwuY2lyY3VsYXItZWNvbm9teSBsaS5mb3VyIHtcbiAgICAgICAgdG9wOiA3NSU7XG4gICAgICAgIGxlZnQ6IDgxJTtcbiAgICAgICAgd2lkdGg6IDEyNnB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgI3NlY3Rpb25fNSB1bC5jaXJjdWxhci1lY29ub215IGxpLmZpdmUge1xuICAgICAgICB0b3A6IDg0JTtcbiAgICAgICAgbGVmdDogMjElO1xuICAgICAgICB3aWR0aDogMTQ2cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG5cbiAgICAjc2VjdGlvbl81IHVsLmNpcmN1bGFyLWVjb25vbXkgbGkuc2l4IHtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgIGxlZnQ6IDMlO1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICBcbn1cblxuXG4vKlxuICogVFJVRSBPUiBGQUxTRVxuICovXG4jc2VjdGlvbl81IC50cnVlLW9yLWZhbHNlIHtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICBjb2xvcjogI2JiYjtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgXG4gICAgYnV0dG9uIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwLjE1cmVtO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjRTZFNkU2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKCMwMDAsIDAuMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICAgIGJ1dHRvbjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgIzk5OTtcbiAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgfVxuICAgIGJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjQkExNTc4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgYnV0dG9uLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNCQTE1Nzg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICBidXR0b24uZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgIH1cbn1cblxuLypcbiAqIFBPU0lUSVZFIC8gTkVHQVRJVkVcbiAqL1xuI3NlY3Rpb25fNSAucG9zaXRpdmUtbmVnYXRpdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgXG4gICAgLm9wdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtIDEuMXJlbSAxcmVtO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjRTZFNkU2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgc3Ryb25nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgICAub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjMzMzO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICB9XG4gICAgLnBvc2l0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI0I1RTk5RjtcbiAgICB9XG4gICAgLm5lZ2F0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI0JBMTU3ODtcbiAgICB9XG4gICAgLnBvc2l0aXZlLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNCNUU5OUY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7ICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgLm5lZ2F0aXZlLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNCQTE1Nzg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7ICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbi8qXG4gKiBUUlVFIE9SIEZBTFNFXG4gKi9cbiNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzLCAjc2VjdGlvbl81IC5ncmlkLXgxLXBhbmVscyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBcbiAgICAuY29sdW1ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgcDpub3QoLmdyaWQteDQtcGFuZWwtaGVhZGluZykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuZ3JpZC14NC1wYW5lbC1oZWFkaW5nIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLmdyaWQteDQtcGFuZWwtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICB9XG4gICAgXG4gICAgaDQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgXG4gICAgLmdyaWQteDQtcGFuZWw6aG92ZXIsIC5ncmlkLXgxLXBhbmVsOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjMzMzO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICB9XG4gICAgLmdyaWQteDQtcGFuZWwtLXR5cGUtYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE1NzhGO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjNTQxRjNGO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnUXVlc3Rpb25NYXJrKCAjQjg0NDcwICk7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmdyaWQteDQtcGFuZWwtLXR5cGUtYi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQxRjNGO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjQkExNTc4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnUXVlc3Rpb25NYXJrKCAjNzMyQjU2ICk7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmlkLXg0LXBhbmVsLmFjdGl2ZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuI3NlY3Rpb25fNSAuZ3JpZC14NC1wYW5lbCwgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDEtcGFuZWwge1xuICAgIHBhZGRpbmc6IDAuODVyZW0gMC42NXJlbTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjRTZFNkU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKCMwMDAsIDAuMik7XG5cbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4yNXMsIGJhY2tncm91bmQtY29sb3IgMC4yNXM7XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdRdWVzdGlvbk1hcmsoICNGMkYyRjIgKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTBweCA4MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIGhyIHtcbiAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbn1cblxuI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDEtcGFuZWwge1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBoNCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbiNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWxzIC5ncmlkLXgxLXBhbmVsLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjNTQxRjNGO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgaDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbiNzZWN0aW9uXzUgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIHtcblxuICAgIGg0IHtcbiAgICAgICAgY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICBsYWJlbC5pc3N1ZXMsIGxhYmVsLnRhc2tzLCBsYWJlbC5pbXBhY3RzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtaW5kZW50OiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgbGFiZWwuaXNzdWVzLCAuc3RhdGVtZW50X2lzc3VlIHtcbiAgICAgICAgY29sb3I6ICNFQTU3OEY7XG4gICAgfVxuICAgIGxhYmVsLnRhc2tzLCAuc3RhdGVtZW50X3Rhc2sge1xuICAgICAgICBjb2xvcjogI0JBMTU3ODtcbiAgICB9XG4gICAgbGFiZWwuaW1wYWN0cywgLnN0YXRlbWVudF9pbXBhY3Qge1xuICAgICAgICBjb2xvcjogI0ZGOERCOTtcbiAgICB9XG4gICAgXG4gICAgLmRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNFQ0VFRjQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTIpO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvZG93bi1jYXJldC5zdmcnICk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xNHB4IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgjMDAwLCAwLjIpO1xuICAgIH1cbiAgICBcbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA2cHggcmdiYSgjMDAwLCAwLjYpO1xuICAgIH1cblxuICAgIC5ncmlkLXgxLXBhbmVsLS13aWRlIHtcbiAgICAgICAgcGFkZGluZzogMC44NXJlbSAwLjY1cmVtO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjRkZDMkUxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxODBweDtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgjMDAwLCAwLjIpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjI1cywgYmFja2dyb3VuZC1jb2xvciAwLjI1czsgICAgICAgIFxuICAgIH1cbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuI3NlY3Rpb25fNS5ydGwgLmdyaWQteDEtcGFuZWwtLXdpZGUtY29udGFpbmVyIHtcbiAgICBsYWJlbC5pc3N1ZXMsIGxhYmVsLnRhc2tzLCBsYWJlbC5pbXBhY3RzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgLTEycHggY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpO1xuICAgIH1cbn1cblxuXG4vKiAwIC0gNTUwcHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU1MHB4KSB7XG4gICAgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbC0td2lkZS1jb250YWluZXIge1xuICAgICAgICAuZHJvcGRvd24tY29udGFpbmVyIC5jb2x1bW5zIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5kcm9wZG93bi1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn1cblxuXG4jc2VjdGlvbl81IC5ncmlkLTN4LXBhbmVscyB7XG4gICAgaDQge1xuICAgICAgICBjb2xvcjogIzU0MUYzRjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuLy8gdGFza3NcbiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkExNTc4O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4vKiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkIHtcbiAgICBvcGFjaXR5OiAwLjc1O1xufSovXG5cbiNzZWN0aW9uXzUgLnRhc2tzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguYWxsLWFwcGxpZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNTQxRjNGO1xufVxuXG4jc2VjdGlvbl81IC50YXNrc19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hbGwtYXBwbGllZDpob3ZlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuI3NlY3Rpb25fNSAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuI3NlY3Rpb25fNSAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzU0MUYzRjtcbn1cbi8vIGltcGFjdHNcbiNzZWN0aW9uXzUgLmltcGFjdHNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhEQjk7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi8qI3NlY3Rpb25fNSAuaW1wYWN0c19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hbGwtYXBwbGllZCB7XG4gICAgb3BhY2l0eTogMC43NTtcbn0qL1xuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguYWxsLWFwcGxpZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNTQxRjNGO1xufVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtLmFsbC1hcHBsaWVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX3NlY3Rpb241IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuI3NlY3Rpb25fNSAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4jc2VjdGlvbl81IC5pbXBhY3RzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM1NDFGM0Y7XG59XG4vLyBpc3N1ZXNcbiNzZWN0aW9uXzUgLmlzc3Vlc19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLyojc2VjdGlvbl81IC5pc3N1ZXNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQge1xuICAgIG9wYWNpdHk6IDAuNzU7XG59Ki9cblxuI3NlY3Rpb25fNSAuaXNzdWVzX3NlY3Rpb241IC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguYWxsLWFwcGxpZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNTQxRjNGO1xufVxuXG4jc2VjdGlvbl81IC5pc3N1ZXNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQ6aG92ZXIge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbiNzZWN0aW9uXzUgLmlzc3Vlc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE1NzhGO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4jc2VjdGlvbl81IC5pc3N1ZXNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzU0MUYzRjtcbn1cblxuI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfdGFza19hZGQsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2ltcGFjdF9hZGQsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2lzc3VlX2FkZCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCwgYm9yZGVyIDAuMjVzIGVhc2Utb3V0O1xufVxuXG4jc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV90YXNrX2FkZDpub3QoLmRpc2FibGVkKTpob3ZlciwgI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaW1wYWN0X2FkZDpub3QoLmRpc2FibGVkKTpob3ZlciwgI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXNzdWVfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBjb2xvcjogIzU0MUYzRjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsMC43NSk7XG59XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYWxsLWFwcGxpZWQge1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZCwgI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbn1cblxuI3NlY3Rpb25fNSAudGFza3Nfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JBMTU3ODtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuI3NlY3Rpb25fNSAuaW1wYWN0c19zZWN0aW9uNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4REI5O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4jc2VjdGlvbl81IC5pc3N1ZXNfc2VjdGlvbjUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBNTc4RjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXRlbS5hcHBsaWVkOmhvdmVyLCAjc2VjdGlvbl81IC5idXR0b24ubG96ZW5nZV9pdGVtLmFwcGxpZWQ6aG92ZXIsICNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uYXBwbGllZDpob3ZlciB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX3Rhc2tfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNCQTE1Nzg7XG59XG5cbiNzZWN0aW9uXzUgLmJ1dHRvbi5sb3plbmdlX2ltcGFjdF9hZGQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGOERCOTtcbn1cblxuI3NlY3Rpb25fNSAuYnV0dG9uLmxvemVuZ2VfaXNzdWVfYWRkOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNFQTU3OEY7XG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSwgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXNpbmdsZSAucHVycG9zZS1jaXJjbGUtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAubG96ZW5nZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLnRhc2tzX2FwcGxpZWQsIC5pbXBhY3RzX2FwcGxpZWQsIC5pc3N1ZXNfYXBwbGllZCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50YXNrc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtLCAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtLCAuaXNzdWVzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0ge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMjU1LDI1NSwyNTUsMC45MCk7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgfVxuICAgIFxuICAgIC50YXNrc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOmhvdmVyOmFmdGVyLCAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOmhvdmVyOmFmdGVyLCAuaXNzdWVzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW06aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFMjQ0NDQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gICAgXG59XG5cbiAjc2VjdGlvbl81IHAudGFzay1pbXBhY3QtaXNzdWVzLXNlbGVjdGVkLWNvdW50IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjgpO1xuICAgIHRleHQtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsMC40KTtcbn1cblxuI3NlY3Rpb25fNSBoNC5idXNpbmVzcy1wdXJwb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2Ny41JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDIzJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIHdvcmQtc3BhY2luZzogNWVtO1xuICAgIC8vb3V0bGluZTogMXB4IHNvbGlkICNmZjAwMDA7XG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQudGFza3Mge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGhlaWdodDogMzklO1xuICAgIFxuICAgIGg0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMjAlKTtcbiAgICB9XG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQuaW1wYWN0cyB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogNTcuNSU7XG4gICAgXG4gICAgaDQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMjAwJSk7XG4gICAgfVxuICAgIFxuICAgIC5pbXBhY3RzX2FwcGxpZWQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM0JTtcbiAgICB9XG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQuaXNzdWVzIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDU3LjUlO1xuICAgIFxuICAgIGg0IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDIwMCUpO1xuICAgIH1cbiAgICBcbiAgICAuaXNzdWVzX2FwcGxpZWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNCU7XG4gICAgfVxufVxuXG4jc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50IHtcbiAgICAvL291dGxpbmU6IDFweCBzb2xpZCAjZmYwMDAwO1xuICAgIHdpZHRoOiA1Ny41JTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgaDQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG4gICAgXG4gICAgLmxvemVuZ2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIC50YXNrc19hcHBsaWVkLCAuaW1wYWN0c19hcHBsaWVkLCAuaXNzdWVzX2FwcGxpZWQge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAudGFza3NfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbSwgLmltcGFjdHNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbSwgLmlzc3Vlc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICB9XG4gICAgXG4gICAgLnRhc2tzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uc2VsZWN0ZWQsIC5pbXBhY3RzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW0uc2VsZWN0ZWQsIC5pc3N1ZXNfYXBwbGllZCAuYnV0dG9uLmxvemVuZ2VfaXRlbS5zZWxlY3RlZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgyNTUsMjU1LDI1NSwwLjkwKTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICB9XG4gICAgXG59XG5cbiNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS5oaWdobGlnaHQtc2VsZWN0ZWQtYnV0dG9ucyAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQge1xuICAgIC50YXNrc19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguc2VsZWN0ZWQpLCBcbiAgICAuaW1wYWN0c19hcHBsaWVkIC5idXR0b24ubG96ZW5nZV9pdGVtOm5vdCguc2VsZWN0ZWQpLCBcbiAgICAuaXNzdWVzX2FwcGxpZWQgLmJ1dHRvbi5sb3plbmdlX2l0ZW06bm90KC5zZWxlY3RlZCkge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4vKiAwIC0gNTUwcHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU1MHB4KSB7IFxuICAgICNzZWN0aW9uXzUgLmdyaWQteDQtcGFuZWxzIHtcbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fNSAuZ3JpZC14MS1wYW5lbHMgLmdyaWQteDEtcGFuZWwge1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICNzZWN0aW9uXzUgaDQuYnVzaW5lc3MtcHVycG9zZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl81IC5sb3plbmdlcy5saXN0X2FwcGxpZWQgbGkgYS5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgXG4gICAgI3NlY3Rpb25fNSAucHVycG9zZS1jaXJjbGUtdHJpcGxlIC5wdXJwb3NlLWNpcmNsZS10cmlwbGUtY29udGVudC50YXNrcyB7XG4gICAgICAgIGhlaWdodDogNDQlO1xuICAgIH1cbiAgICBcbiAgICAjc2VjdGlvbl81IC5wdXJwb3NlLWNpcmNsZS10cmlwbGUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZS1jb250ZW50Lmlzc3VlcyAuaXNzdWVzX2FwcGxpZWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMSU7XG4gICAgfVxuICAgIFxuICAgICNzZWN0aW9uXzUgLnB1cnBvc2UtY2lyY2xlLXRyaXBsZSAucHVycG9zZS1jaXJjbGUtdHJpcGxlLWNvbnRlbnQuaW1wYWN0cyAuaW1wYWN0c19hcHBsaWVkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMSU7XG4gICAgfVxuICAgIFxuICAgIFxufVxuXG4vKiA1NTFweCAtIDczOXB4IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1NTFweCkgYW5kIChtYXgtd2lkdGg6NDYuMTg4ZW0pIHtcbiAgICAjc2VjdGlvbl81IGg0LmJ1c2luZXNzLXB1cnBvc2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG59XG5cbiIsIi8qIFBST0dSRVNTIENJUkNMRVMgKi9cblxuc2VjdGlvbi50cmlnZ2VyIHtcbiAgICBib3JkZXItY29sb3I6IHJlZDtcbn1cblxuc3ZnIHt9XG5cbi5zd2F0Y2hfY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4OyB3aWR0aDogMjVweDsgaGVpZ2h0OiAyNXB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKlxuICogQ09MT1VSIERFRklOSVRJT05TXG4gKi9cbiRibHVlX2E6ICMwMDI3NkI7XG4kYmx1ZV9iOiAjMDAzMzkzO1xuJGJsdWVfYzogIzAwNDZBNjtcbiRibHVlX2Q6ICMwMDVBQjg7XG4kYmx1ZV9lOiAjNzRDOEZGO1xuJGJsdWVfYnV0dG9uOiAjMDQxOTQ0O1xuXG4kcmVkX2E6ICNBNjAwNEM7XG4kcmVkX2I6ICNFMjQ0NDQ7XG4kcmVkX2M6ICNGMzYwNDM7XG4kcmVkX2Q6ICNGNzdDNEQ7XG4kcmVkX2U6ICNGRkNFQjY7XG4kcmVkX2J1dHRvbjogIzU3MDIzOTtcblxuJGdyZWVuX2E6ICMxMTYwNDQ7XG4kZ3JlZW5fYjogIzUxQUU0MDtcbiRncmVlbl9jOiAjNjVDMDNGO1xuJGdyZWVuX2Q6ICM4NERENTU7XG4kZ3JlZW5fZTogI0I1RTk5RjtcbiRncmVlbl9idXR0b246ICMxMzQ4NTI7XG5cbiRwdXJwbGVfYTogIzU3MEI3MztcbiRwdXJwbGVfYjogIzhCMDBCQztcbiRwdXJwbGVfYzogI0E3MUFFNDtcbiRwdXJwbGVfZDogI0NDNURGRjtcbiRwdXJwbGVfZTogI0ZDQjJGRjtcbiRwdXJwbGVfYnV0dG9uOiAjMzAwQzVFO1xuXG4kcGlua19hOiAjNTQxRjNGO1xuJHBpbmtfYjogI0JBMTU3ODtcbiRwaW5rX2M6ICNFQTU3OEY7XG4kcGlua19kOiAjRkY4REI5O1xuJHBpbmtfZTogI0ZGOERCOTtcbiRwaW5rX2J1dHRvbjogIzU0MUYzRjtcblxuJHByb2dyZXNzX2dyZXk6ICNFMUUxRTE7XG4kcHJvZ3Jlc3NfZ3JleV9iOiAjMmQzNTNmO1xuXG5cbi8qXG4gKiBDT0xPVVIgU1dBVENIIENJUkNMRVNcbiAqL1xuLnN3YXRjaF9jaXJjbGUuYmx1ZS5idXR0b25fY29sb3VyIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfYnV0dG9uOyB9XG4uc3dhdGNoX2NpcmNsZS5ibHVlLmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9hOyB9XG4uc3dhdGNoX2NpcmNsZS5ibHVlLmIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9iOyB9XG4uc3dhdGNoX2NpcmNsZS5ibHVlLmMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9jOyB9XG4uc3dhdGNoX2NpcmNsZS5ibHVlLmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9kOyB9XG4uc3dhdGNoX2NpcmNsZS5ibHVlLmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9lOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnJlZC5idXR0b25fY29sb3VyIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9idXR0b247IH1cbi5zd2F0Y2hfY2lyY2xlLnJlZC5hIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9hOyB9XG4uc3dhdGNoX2NpcmNsZS5yZWQuYiB7IGJhY2tncm91bmQtY29sb3I6ICRyZWRfYjsgfVxuLnN3YXRjaF9jaXJjbGUucmVkLmMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkX2M7IH1cbi5zd2F0Y2hfY2lyY2xlLnJlZC5kIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9kOyB9XG4uc3dhdGNoX2NpcmNsZS5yZWQuZSB7IGJhY2tncm91bmQtY29sb3I6ICRyZWRfZTsgfVxuXG4uc3dhdGNoX2NpcmNsZS5ncmVlbi5idXR0b25fY29sb3VyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2J1dHRvbjsgfVxuLnN3YXRjaF9jaXJjbGUuZ3JlZW4uYSB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbl9hOyB9XG4uc3dhdGNoX2NpcmNsZS5ncmVlbi5iIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2I7IH1cbi5zd2F0Y2hfY2lyY2xlLmdyZWVuLmMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW5fYzsgfVxuLnN3YXRjaF9jaXJjbGUuZ3JlZW4uZCB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbl9kOyB9XG4uc3dhdGNoX2NpcmNsZS5ncmVlbi5lIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2U7IH1cblxuLnN3YXRjaF9jaXJjbGUucHVycGxlLmJ1dHRvbl9jb2xvdXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2J1dHRvbjsgfVxuLnN3YXRjaF9jaXJjbGUucHVycGxlLmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2E7IH1cbi5zd2F0Y2hfY2lyY2xlLnB1cnBsZS5iIHsgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9iOyB9XG4uc3dhdGNoX2NpcmNsZS5wdXJwbGUuYyB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfYzsgfVxuLnN3YXRjaF9jaXJjbGUucHVycGxlLmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2Q7IH1cbi5zd2F0Y2hfY2lyY2xlLnB1cnBsZS5lIHsgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9lOyB9XG5cbi5zd2F0Y2hfY2lyY2xlLnBpbmsuYnV0dG9uX2NvbG91ciB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfYnV0dG9uOyB9XG4uc3dhdGNoX2NpcmNsZS5waW5rLmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19hOyB9XG4uc3dhdGNoX2NpcmNsZS5waW5rLmIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19iOyB9XG4uc3dhdGNoX2NpcmNsZS5waW5rLmMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19jOyB9XG4uc3dhdGNoX2NpcmNsZS5waW5rLmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19kOyB9XG4uc3dhdGNoX2NpcmNsZS5waW5rLmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19lOyB9XG5cblxuLnByb2dyZXNzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIGhlaWdodDogMzgwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXM7XG59XG5cbi5wcm9ncmVzcyAuYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ucHJvZ3Jlc3MgLmJnIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuYmcge1xuICAgIHRvcDogMTklO1xuICAgIGxlZnQ6IDE1JTtcbiAgICByaWdodDogMTYlO1xuICAgIGJvdHRvbTogYXV0bztcbn1cbi5wcm9ncmVzcy5yZWQgLmJnIHtcbiAgICB0b3A6IDIzJTtcbiAgICBsZWZ0OiAxNyU7XG4gICAgcmlnaHQ6IDEyJTtcbiAgICBib3R0b206IGF1dG87XG59XG4ucHJvZ3Jlc3MuZ3JlZW4gLmJnIHtcbiAgICB0b3A6IDE4LjUlO1xuICAgIGxlZnQ6IDE5JTtcbiAgICByaWdodDogMTglO1xuICAgIGJvdHRvbTogYXV0bztcbn1cbi5wcm9ncmVzcy5wdXJwbGUgLmJnIHtcbiAgICB0b3A6IDE3JTtcbiAgICBsZWZ0OiAxNyU7XG4gICAgcmlnaHQ6IDE3JTtcbiAgICBib3R0b206IGF1dG87XG59XG5cbi5wcm9ncmVzcy5ncmV5IC5iZyB7XG4gICAgdG9wOiAxNCU7XG4gICAgbGVmdDogMTMlO1xuICAgIHJpZ2h0OiAxMyU7XG4gICAgYm90dG9tOiBhdXRvO1xufVxuXG4ucHJvZ3Jlc3MucGluayAuYmcge1xuICAgIHRvcDogMTQlO1xuICAgIGxlZnQ6IDEzJTtcbiAgICByaWdodDogMTMlO1xuICAgIGJvdHRvbTogYXV0bztcbn1cblxuLnByb2dyZXNzIHN2Zy5wcm9ncmVzc19fb3V0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHdpZHRoOiAzODBweDtcbiAgICBoZWlnaHQ6IDM4MHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXM7XG59XG5cbi5wcm9ncmVzcyAuc3RlcF9udW1iZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI3JTtcbiAgICBsZWZ0OiA0MCU7XG4gICAgcmlnaHQ6IDQwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5wcm9ncmVzcyAuc3RlcF9udW1iZXIgc3BhbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cywgaGVpZ2h0IDAuNXMsIGZvbnQtc2l6ZSAwLjVzLCBsaW5lLWhlaWdodCAwLjVzO1xufVxuLnByb2dyZXNzLmJsdWUgLnN0ZXBfbnVtYmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlX2E7XG59XG4ucHJvZ3Jlc3MucmVkIC5zdGVwX251bWJlciBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkX2E7XG59XG4ucHJvZ3Jlc3MuZ3JlZW4gLnN0ZXBfbnVtYmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbl9hO1xufVxuLnByb2dyZXNzLnB1cnBsZSAuc3RlcF9udW1iZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9hO1xufVxuLnByb2dyZXNzLmdyZXkgLnN0ZXBfbnVtYmVyIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzc19ncmV5X2I7XG59XG4ucHJvZ3Jlc3MucGluayAuc3RlcF9udW1iZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbmtfYTtcbn1cblxuLnByb2dyZXNzIC5zdGVwX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxNSU7XG4gICAgcmlnaHQ6IDE1JTtcbiAgICBib3R0b206IGNhbGMoMjglICsgNzhweCk7XG4gICAgei1pbmRleDogNDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjVzLCBmb250LXNpemUgMC41cztcbn1cblxuLnByb2dyZXNzIC5zdGVwX3RleHQuZGFyayB7XG4gICAgY29sb3I6ICMwMDA7ICAgXG59XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU4JTtcbiAgICBsZWZ0OiAxOSU7XG4gICAgcmlnaHQ6IDE5JTtcbiAgICBib3R0b206IGF1dG87XG4gICAgei1pbmRleDogNDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC41cztcbn1cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnByb2dyZXNzIC5idXR0b25fbWVudS5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSxcbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUuZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnByb2dyZXNzIC5kcm9wZG93bi5tZW51IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5wcm9ncmVzcyAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIyIDEwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC41cywgZm9udC1zaXplIDAuNXM7XG59XG4ucHJvZ3Jlc3MuYmx1ZSAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfYnV0dG9uO1xufVxuLnByb2dyZXNzLnJlZCAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9idXR0b247XG59XG4ucHJvZ3Jlc3MuZ3JlZW4gLmRyb3Bkb3duLm1lbnUgYS5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbl9idXR0b247XG59XG4ucHJvZ3Jlc3MucHVycGxlIC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2J1dHRvbjtcbn1cbi5wcm9ncmVzcy5ncmV5IC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNTNmO1xufVxuXG4ucHJvZ3Jlc3MucGluayAuZHJvcGRvd24ubWVudSBhLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbmtfYnV0dG9uO1xufVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKiB2IFRPUCBBUlJPVyBPTiBTVUJNRU5VICovXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuXHRib3R0b206IDEwMCU7XG5cdGxlZnQ6IDUwJTtcblx0Ym9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcblx0Y29udGVudDogXCIgXCI7XG5cdGhlaWdodDogMDtcblx0d2lkdGg6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcblx0Ym9yZGVyLXdpZHRoOiAxMHB4O1xuXHRtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCBcbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciB7IFxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlX2Q7IH1cbi5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHsgXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZF9kOyB9XG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCBcbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHsgXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyZWVuX2M7IH1cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgXG4ucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmFmdGVyIHsgXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHB1cnBsZV9kOyB9XG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTphZnRlciwgXG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6YWZ0ZXIgeyBcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcGlua19kOyB9XG4vKiBeIFRPUCBBUlJPVyBPTiBTVUJNRU5VICovXG5cbi8qIHYgTEVUVEVSIERPVCBPTiBTVUJNRU5VIElURU1TICovXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjQgMTAgMTUpO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSAxMCAyNCk7XG59XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5kaXNhYmxlZCBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC40O1xufVxuLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmRpc2FibGVkOm50aC1jaGlsZCgxKTphZnRlciB7IFxuICAgIG9wYWNpdHk6IDAuNDtcbn1cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5kaXNhYmxlZCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG4ucHJvZ3Jlc3MuYmx1ZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9lO1xufVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlX2U7XG59XG5cbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlX2Q7XG59XG4gICAgXG4ucHJvZ3Jlc3MucmVkIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWRfZTtcbn1cblxuLnByb2dyZXNzLnJlZCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRyZWRfZTtcbn1cblxuLnByb2dyZXNzLnJlZC5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcmVkX2Q7XG59XG5cbiAgICBcbi5wcm9ncmVzcy5ncmVlbiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW5fZTtcbn1cblxuLnByb2dyZXNzLmdyZWVuIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyZWVuX2U7XG59XG5cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZ3JlZW5fYztcbn1cbiAgICBcbi5wcm9ncmVzcy5wdXJwbGUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9lO1xufVxuXG4ucHJvZ3Jlc3MucHVycGxlIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHB1cnBsZV9lO1xufVxuXG4ucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwdXJwbGVfZDtcbn1cblxuLnByb2dyZXNzLmdyZXkgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZGFkYmRkO1xufVxuXG4ucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19lO1xufVxuXG4ucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwaW5rX2U7XG59XG5cbi5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKTpob3ZlcjphZnRlciwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpOmhvdmVyOmFmdGVyLCAucHJvZ3Jlc3MucGluay5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwaW5rX2Q7XG59XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHNwYW4ge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMyKTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDgpO1xufVxuXG4ucHJvZ3Jlc3MuYmx1ZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlX2M7XG59XG4ucHJvZ3Jlc3MucmVkIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9jO1xufVxuLnByb2dyZXNzLmdyZWVuIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2I7XG59XG4ucHJvZ3Jlc3MucHVycGxlIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9jO1xufVxuLnByb2dyZXNzLnBpbmsgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkgYSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19jO1xufVxuXG4ucHJvZ3Jlc3MgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCRygkZGFyay1ncmF5KTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMTAlO1xuICAgIHdpZHRoOiA0M3B4O1xuICAgIGhlaWdodDogNDNweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcblx0Ym9yZGVyLXJhZGl1czogMCA1cHggMCAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb2dyZXNzLmJsdWUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCRibHVlX2J1dHRvbik7XG59XG4ucHJvZ3Jlc3MucmVkIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmNvbXBsZXRlZCBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCRygkcmVkX2J1dHRvbik7XG59XG4ucHJvZ3Jlc3MuZ3JlZW4gLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCRncmVlbl9idXR0b24pO1xufVxuLnByb2dyZXNzLnB1cnBsZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RyaWFuZ2xlQkcoJHB1cnBsZV9idXR0b24pO1xufVxuLnByb2dyZXNzLnBpbmsgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHKCRwaW5rX2J1dHRvbik7XG59XG5cbi5wcm9ncmVzcyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdUaWNrKCNmZmYpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE1cHgpIHJlbS1jYWxjKDE1cHgpO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNnB4O1xuICAgIHJpZ2h0OiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDAgNXB4IDAgMDtcblx0bWFyZ2luLXRvcDogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmNvbXBsZXRlZCBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgkZGFyay1ncmF5KTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDA7XG59XG5cbi5ydGwgLnByb2dyZXNzLmJsdWUgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHUlRMKCRibHVlX2J1dHRvbik7XG59XG4ucnRsIC5wcm9ncmVzcy5yZWQgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGkuY29tcGxldGVkIGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBzdmdUcmlhbmdsZUJHUlRMKCRyZWRfYnV0dG9uKTtcbn1cbi5ydGwgLnByb2dyZXNzLmdyZWVuIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmNvbXBsZXRlZCBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogc3ZnVHJpYW5nbGVCR1JUTCgkZ3JlZW5fYnV0dG9uKTtcbn1cbi5ydGwgLnByb2dyZXNzLnB1cnBsZSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RyaWFuZ2xlQkdSVEwoJHB1cnBsZV9idXR0b24pO1xufVxuLnJ0bCAucHJvZ3Jlc3MucGluayAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaS5jb21wbGV0ZWQgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHN2Z1RyaWFuZ2xlQkdSVEwoJHBpbmtfYnV0dG9uKTtcbn1cbi5ydGwgLnByb2dyZXNzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpLmNvbXBsZXRlZCBhOmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG59XG5cbi5wcm9ncmVzcy5ncmV5IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGEge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwKTtcbn1cbi5wcm9ncmVzcy5ncmV5IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpIGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZ3Jlc3MuZ3JleSAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYmRkO1xufVxuXG4vKiBeIExFVFRFUiBET1QgT04gU1VCTUVOVSBJVEVNUyAqL1xuXG4vKiBERUZBVUxUUyAqL1xuLnByb2dyZXNzLnByb2dyZXNzXzAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc18wIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMykgYSB7XG4gICAgLyogbm8gY2hhbmdlICovXG59XG4ucHJvZ3Jlc3MucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5wcm9ncmVzcy5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLnByb2dyZXNzLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDMpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgY29sb3I6ICNmZmY7XG59XG4vKiBCTFVFICovXG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfZDtcbn1cblxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlX2Q7XG59XG5cbi5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfZDtcbn1cblxuLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMykgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfZDtcbn1cbi8qIFJFRCAqL1xuLnByb2dyZXNzLnJlZC5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9kO1xufVxuXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzUwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkX2Q7XG59XG5cbi5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDIpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWRfZDtcbn1cblxuLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5yZWQucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMykgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9kO1xufVxuLyogR1JFRU4gKi9cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18zMyAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2M7XG59XG5cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2M7XG59XG5cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc182NiAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW5fYztcbn1cblxuLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMykgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2M7XG59XG4vKiBQVVJQTEUgKi9cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMzMgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfZDtcbn1cblxuLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9kO1xufVxuXG4ucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2Q7XG59XG5cbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLnB1cnBsZS5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDMpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfZDtcbn1cbi8qIFBJTksgKi9cbi5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzMzIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgxKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19kO1xufVxuXG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc181MCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMSkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbmtfZDtcbn1cblxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNjYgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzY2IC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgyKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19kO1xufVxuXG4ucHJvZ3Jlc3MucGluay5wcm9ncmVzc18xMDAgLmJ1dHRvbl9tZW51IHVsLnN1Ym1lbnUgbGk6bnRoLWNoaWxkKDEpIGEsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAuYnV0dG9uX21lbnUgdWwuc3VibWVudSBsaTpudGgtY2hpbGQoMikgYSwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5idXR0b25fbWVudSB1bC5zdWJtZW51IGxpOm50aC1jaGlsZCgzKSBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19kO1xufVxuXG5cbi5wcm9ncmVzc19fb3V0ZXIge31cblxuLnByb2dyZXNzX19saW5lIHtcbiAgICBzdHJva2U6ICRwcm9ncmVzc19ncmV5O1xuICAgIHN0cm9rZS13aWR0aDogNztcbiAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxNy41O1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICBmaWxsOiBub25lO1xufVxuXG4ucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMCwgNzQwO1xuICAgIHN0cm9rZTogJHByb2dyZXNzX2dyZXk7XG4gICAgc3Ryb2tlLXdpZHRoOiA5O1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICBmaWxsOiBub25lO1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtZmlsbCAycyByZXZlcnNlO1xufVxuLnByb2dyZXNzLmJsdWUgLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICAgIHN0cm9rZTogJGJsdWVfZTtcbn1cbi5wcm9ncmVzcy5yZWQgLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICAgIHN0cm9rZTogJHJlZF9lO1xufVxuLnByb2dyZXNzLmdyZWVuIC5wcm9ncmVzc19faW5kaWNhdG9yIHtcbiAgICBzdHJva2U6ICRncmVlbl9lO1xufVxuLnByb2dyZXNzLnB1cnBsZSAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gICAgc3Ryb2tlOiAkcHVycGxlX2U7XG59XG4ucHJvZ3Jlc3MucGluayAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gICAgc3Ryb2tlOiAkcGlua19lO1xufVxuXG5zZWN0aW9uLnRyaWdnZXIgLnByb2dyZXNzXzMzIC5wcm9ncmVzc19faW5kaWNhdG9yIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWZpbGwtMzMgM3MgZWFzZS1vdXQgMS41cyBmb3J3YXJkcztcbn1cbnNlY3Rpb24udHJpZ2dlciAucHJvZ3Jlc3NfNTAgLnByb2dyZXNzX19pbmRpY2F0b3Ige1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MtZmlsbC01MCAzcyBlYXNlLW91dCAxLjVzIGZvcndhcmRzO1xufVxuc2VjdGlvbi50cmlnZ2VyIC5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1maWxsLTY2IDNzIGVhc2Utb3V0IDEuNXMgZm9yd2FyZHM7XG59XG5zZWN0aW9uLnRyaWdnZXIgLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2luZGljYXRvciB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1maWxsLTEwMCAzcyBlYXNlLW91dCAxLjVzIGZvcndhcmRzO1xufVxuXG4ucHJvZ3Jlc3NfX2RvdCB7XG4gICAgZmlsbDogI2ZmZjtcbiAgICBzdHJva2U6ICRwcm9ncmVzc19ncmV5O1xuICAgIHN0cm9rZS13aWR0aDogMjtcbn1cblxuLnByb2dyZXNzX19kb3QxLCAucHJvZ3Jlc3NfX2RvdF90aWNrMSB7XG4gICAgXG59XG4ucHJvZ3Jlc3NfX2RvdF90d28gLnByb2dyZXNzX19kb3QyLCAucHJvZ3Jlc3NfX2RvdF90d28gLnByb2dyZXNzX19kb3RfdGljazIge1xuICAgIC8qY3g6IDEyO1xuICAgIGN5OiAxMzA7Ki9cbn1cbi5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdDNfMngsIC5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdF90aWNrM18yeCwgLnByb2dyZXNzX19kb3RfdHdvIC5wcm9ncmVzc19fZG90Ml8zeCwgLnByb2dyZXNzX19kb3RfdHdvIC5wcm9ncmVzc19fZG90X3RpY2syXzN4IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnByb2dyZXNzX19kb3RfdGhyZWUgLnByb2dyZXNzX19kb3QyXzJ4LCAucHJvZ3Jlc3NfX2RvdF90aHJlZSAucHJvZ3Jlc3NfX2RvdF90aWNrMl8yeCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdDMsIC5wcm9ncmVzc19fZG90X3R3byAucHJvZ3Jlc3NfX2RvdF90aWNrMyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzX19kb3QzX2hpZ2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNob3cgLyBIaWRlIDJ4LzN4IGRvdCBsYXlvdXRzICovXG4ucHJvZ3Jlc3NfX2RvdF90d28gLmRvdHNfMngsIC5wcm9ncmVzc19fZG90X3RocmVlIC5kb3RzXzN4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5wcm9ncmVzc19fZG90X3R3byAuZG90c18zeCwgLnByb2dyZXNzX19kb3RfdGhyZWUgLmRvdHNfMngge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyogUHJvZ3Jlc3MgZG90IHN0eWxpbmcgYXMgdXNlciBwcm9ncmVzc2VzIHRocm91Z2ggZXhjZXJjaXNlcyAqL1xuLnByb2dyZXNzLnByb2dyZXNzXzMzIC5wcm9ncmVzc19fZG90MSwgLnByb2dyZXNzLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MSwgLnByb2dyZXNzLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MSwgLnByb2dyZXNzLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDEsIC5wcm9ncmVzcy5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDIsIC5wcm9ncmVzcy5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QyLCAucHJvZ3Jlc3MucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MyB7XG4gICAgZmlsbDogJHByb2dyZXNzX2dyZXk7XG4gICAgc3Ryb2tlOiAkcHJvZ3Jlc3NfZ3JleTtcbiAgICBzdHJva2Utd2lkdGg6IDI7XG59XG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18zMyAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfNTAgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5ibHVlLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QxX2hpZ2gsXG4ucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLmJsdWUucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MuYmx1ZS5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QzX2hpZ2gge1xuICAgIGZpbGw6ICRibHVlX2I7XG4gICAgc3Ryb2tlOiAkYmx1ZV9iO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnByb2dyZXNzLnJlZC5wcm9ncmVzc18zMyAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc181MCAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QxX2hpZ2gsXG4ucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MucmVkLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLnJlZC5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QzX2hpZ2gge1xuICAgIGZpbGw6ICRyZWRfYjtcbiAgICBzdHJva2U6ICRyZWRfYjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18zMyAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLmdyZWVuLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QxX2hpZ2gsXG4ucHJvZ3Jlc3MuZ3JlZW4ucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5ncmVlbi5wcm9ncmVzc18xMDAgLnByb2dyZXNzX19kb3QzX2hpZ2gge1xuICAgIGZpbGw6ICRncmVlbl9iO1xuICAgIHN0cm9rZTogJGdyZWVuX2I7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzMzIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzY2IC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDFfaGlnaCxcbi5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5wdXJwbGUucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90Ml9oaWdoLCAucHJvZ3Jlc3MucHVycGxlLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDNfaGlnaCB7XG4gICAgZmlsbDogJHB1cnBsZV9iO1xuICAgIHN0cm9rZTogJHB1cnBsZV9iO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxufVxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMzMgLnByb2dyZXNzX19kb3QxX2hpZ2gsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzUwIC5wcm9ncmVzc19fZG90MV9oaWdoLCAucHJvZ3Jlc3MucGluay5wcm9ncmVzc182NiAucHJvZ3Jlc3NfX2RvdDFfaGlnaCwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90MV9oaWdoLFxuLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfNjYgLnByb2dyZXNzX19kb3QyX2hpZ2gsIC5wcm9ncmVzcy5waW5rLnByb2dyZXNzXzEwMCAucHJvZ3Jlc3NfX2RvdDJfaGlnaCwgLnByb2dyZXNzLnBpbmsucHJvZ3Jlc3NfMTAwIC5wcm9ncmVzc19fZG90M19oaWdoIHtcbiAgICBmaWxsOiAkcGlua19iO1xuICAgIHN0cm9rZTogJHBpbmtfYjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBcbn1cbi8qIFBST0dSRVNTIERPVCBUSUNLUyAtIFRJQ0tTIENBTidUIEJFIEFEREVEIFNJTVBMWSBBUyBDU1MgQkFDS0dST1VORFMsIFNPIEVYVFJBIFNWRyBFTEVNRU5UIFVTRUQgVEhBVCBJUyBTSE9XTiAvIEhJRERFTiBBUyBORUVERUQgKi9cbi5wcm9ncmVzc19fZG90X3RpY2sxLCAucHJvZ3Jlc3NfX2RvdF90aWNrMiwgLnByb2dyZXNzX19kb3RfdGljazMge1xuICAgIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmNvbmZldHRpLnBhcnRpY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHotaW5kZXg6IDA7XG59XG4uY29uZmV0dGkuY3NxdWFyZSB7XG4gICAgXG59XG4uY29uZmV0dGkuY3JvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cbi5jb25mZXR0aS5jdHJpYW5nbGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmNvbmZldHRpLmN0cmlhbmdsZTphZnRlciB7XG4gICAgaGVpZ2h0OiAxNDAlO1xuICAgIHdpZHRoOiAxNDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xMDUlO1xuICAgIHRvcDogLTIwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5wcm9ncmVzcy5ibHVlIC5jc3F1YXJlLnRpbnQxLCAucHJvZ3Jlc3MuYmx1ZSAuY3JvdW5kLnRpbnQxLCAucHJvZ3Jlc3MuYmx1ZSAuY3RyaWFuZ2xlLnRpbnQxOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfYTsgfVxuLnByb2dyZXNzLmJsdWUgLmNzcXVhcmUudGludDIsIC5wcm9ncmVzcy5ibHVlIC5jcm91bmQudGludDIsIC5wcm9ncmVzcy5ibHVlIC5jdHJpYW5nbGUudGludDI6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9iOyB9XG4ucHJvZ3Jlc3MuYmx1ZSAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLmJsdWUgLmNyb3VuZC50aW50MywgLnByb2dyZXNzLmJsdWUgLmN0cmlhbmdsZS50aW50MzphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRibHVlX2M7IH1cbi5wcm9ncmVzcy5ibHVlIC5jc3F1YXJlLnRpbnQ0LCAucHJvZ3Jlc3MuYmx1ZSAuY3JvdW5kLnRpbnQ0LCAucHJvZ3Jlc3MuYmx1ZSAuY3RyaWFuZ2xlLnRpbnQ0OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsdWVfZDsgfVxuLnByb2dyZXNzLmJsdWUgLmNzcXVhcmUudGludDUsIC5wcm9ncmVzcy5ibHVlIC5jcm91bmQudGludDUsIC5wcm9ncmVzcy5ibHVlIC5jdHJpYW5nbGUudGludDU6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZV9lOyB9XG4ucHJvZ3Jlc3MucmVkIC5jc3F1YXJlLnRpbnQxLCAucHJvZ3Jlc3MucmVkIC5jcm91bmQudGludDEsIC5wcm9ncmVzcy5yZWQgLmN0cmlhbmdsZS50aW50MTphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRyZWRfYTsgfVxuLnByb2dyZXNzLnJlZCAuY3NxdWFyZS50aW50MiwgLnByb2dyZXNzLnJlZCAuY3JvdW5kLnRpbnQyLCAucHJvZ3Jlc3MucmVkIC5jdHJpYW5nbGUudGludDI6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkX2I7IH1cbi5wcm9ncmVzcy5yZWQgLmNzcXVhcmUudGludDMsIC5wcm9ncmVzcy5yZWQgLmNyb3VuZC50aW50MywgLnByb2dyZXNzLnJlZCAuY3RyaWFuZ2xlLnRpbnQzOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZF9jOyB9XG4ucHJvZ3Jlc3MucmVkIC5jc3F1YXJlLnRpbnQ0LCAucHJvZ3Jlc3MucmVkIC5jcm91bmQudGludDQsIC5wcm9ncmVzcy5yZWQgLmN0cmlhbmdsZS50aW50NDphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRyZWRfZDsgfVxuLnByb2dyZXNzLnJlZCAuY3NxdWFyZS50aW50NSwgLnByb2dyZXNzLnJlZCAuY3JvdW5kLnRpbnQ1LCAucHJvZ3Jlc3MucmVkIC5jdHJpYW5nbGUudGludDU6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkX2U7IH1cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50MSwgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDEsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQxOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2E7IH1cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50MiwgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDIsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQyOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2I7IH1cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDMsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQzOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2M7IH1cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50NCwgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDQsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQ0OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2Q7IH1cbi5wcm9ncmVzcy5ncmVlbiAuY3NxdWFyZS50aW50NSwgLnByb2dyZXNzLmdyZWVuIC5jcm91bmQudGludDUsIC5wcm9ncmVzcy5ncmVlbiAuY3RyaWFuZ2xlLnRpbnQ1OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuX2U7IH1cbi5wcm9ncmVzcy5wdXJwbGUgLmNzcXVhcmUudGludDEsIC5wcm9ncmVzcy5wdXJwbGUgLmNyb3VuZC50aW50MSwgLnByb2dyZXNzLnB1cnBsZSAuY3RyaWFuZ2xlLnRpbnQxOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9hOyB9XG4ucHJvZ3Jlc3MucHVycGxlIC5jc3F1YXJlLnRpbnQyLCAucHJvZ3Jlc3MucHVycGxlIC5jcm91bmQudGludDIsIC5wcm9ncmVzcy5wdXJwbGUgLmN0cmlhbmdsZS50aW50MjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfYjsgfVxuLnByb2dyZXNzLnB1cnBsZSAuY3NxdWFyZS50aW50MywgLnByb2dyZXNzLnB1cnBsZSAuY3JvdW5kLnRpbnQzLCAucHJvZ3Jlc3MucHVycGxlIC5jdHJpYW5nbGUudGludDM6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlX2M7IH1cbi5wcm9ncmVzcy5wdXJwbGUgLmNzcXVhcmUudGludDQsIC5wcm9ncmVzcy5wdXJwbGUgLmNyb3VuZC50aW50NCwgLnByb2dyZXNzLnB1cnBsZSAuY3RyaWFuZ2xlLnRpbnQ0OmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZV9kOyB9XG4ucHJvZ3Jlc3MucHVycGxlIC5jc3F1YXJlLnRpbnQ1LCAucHJvZ3Jlc3MucHVycGxlIC5jcm91bmQudGludDUsIC5wcm9ncmVzcy5wdXJwbGUgLmN0cmlhbmdsZS50aW50NTphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGVfZTsgfVxuLnByb2dyZXNzLnBpbmsgLmNzcXVhcmUudGludDEsIC5wcm9ncmVzcy5waW5rIC5jcm91bmQudGludDEsIC5wcm9ncmVzcy5waW5rIC5jdHJpYW5nbGUudGludDE6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19hOyB9XG4ucHJvZ3Jlc3MucGluayAuY3NxdWFyZS50aW50MiwgLnByb2dyZXNzLnBpbmsgLmNyb3VuZC50aW50MiwgLnByb2dyZXNzLnBpbmsgLmN0cmlhbmdsZS50aW50MjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRwaW5rX2I7IH1cbi5wcm9ncmVzcy5waW5rIC5jc3F1YXJlLnRpbnQzLCAucHJvZ3Jlc3MucGluayAuY3JvdW5kLnRpbnQzLCAucHJvZ3Jlc3MucGluayAuY3RyaWFuZ2xlLnRpbnQzOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHBpbmtfYzsgfVxuLnByb2dyZXNzLnBpbmsgLmNzcXVhcmUudGludDQsIC5wcm9ncmVzcy5waW5rIC5jcm91bmQudGludDQsIC5wcm9ncmVzcy5waW5rIC5jdHJpYW5nbGUudGludDQ6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGlua19kOyB9XG4ucHJvZ3Jlc3MucGluayAuY3NxdWFyZS50aW50NSwgLnByb2dyZXNzLnBpbmsgLmNyb3VuZC50aW50NSwgLnByb2dyZXNzLnBpbmsgLmN0cmlhbmdsZS50aW50NTphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICRwaW5rX2U7IH1cblxuXG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbC0yNSB7XG4gICAgZnJvbSB7IHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxuICAgIHRvIHsgc3Ryb2tlLWRhc2hhcnJheTogMTg1LCA3NDA7IH1cbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsLTMzIHtcbiAgICBmcm9tIHsgc3Ryb2tlLWRhc2hhcnJheTogMCwgNzQwOyB9XG4gICAgdG8geyBzdHJva2UtZGFzaGFycmF5OiAyODAsIDc0MDsgfVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWZpbGwtNTAge1xuICAgIGZyb20geyBzdHJva2UtZGFzaGFycmF5OiAwLCA3NDA7IH1cbiAgICB0byB7IHN0cm9rZS1kYXNoYXJyYXk6IDM3MCwgNzQwOyB9XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbC02NiB7XG4gICAgZnJvbSB7IHN0cm9rZS1kYXNoYXJyYXk6IDA2LCA3NDA7IH1cbiAgICB0byB7IHN0cm9rZS1kYXNoYXJyYXk6IDQ2MiwgNzQwOyB9XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtZmlsbC03NSB7XG4gICAgZnJvbSB7IHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxuICAgIHRvIHsgc3Ryb2tlLWRhc2hhcnJheTogNTU1LCA3NDA7IH1cbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsLTEwMCB7XG4gICAgZnJvbSB7IHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxuICAgIHRvIHsgc3Ryb2tlLWRhc2hhcnJheTogNzQwLCA3NDA7IH1cbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzcy1maWxsIHtcbiAgICB0byB7IHN0cm9rZS1kYXNoYXJyYXk6IDAsIDc0MDsgfVxufVxuXG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuICAgLnByb2dyZXNzIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZ3Jlc3Mgc3ZnLnByb2dyZXNzX19vdXRlciB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDtcbiAgICB9XG4gICAgXG4gICAgLnByb2dyZXNzIC5zdGVwX251bWJlciBzcGFuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvZ3Jlc3MgLnN0ZXBfdGV4dCB7XG4gICAgICAgIGJvdHRvbTogY2FsYygyMCUgKyA3OHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIFxuICAgIC5wcm9ncmVzcyAuYnV0dG9uX21lbnUge1xuICAgICAgICB0b3A6IDU4JTtcbiAgICB9XG4gICAgXG4gICAgLnByb2dyZXNzIC5kcm9wZG93bi5tZW51IGEuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTggMTApO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbn0iLCIvKiBcbiAqIENBTEVOREFSXG4gKi9cbiNjYWxlbmRhcl9tb250aHNfc291cmNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuI2NhbGVuZGFyX3N0YXJ0X21vbnRoLCAjY2FsZW5kYXJfZW50cnlfZm9ybSBzZWxlY3Qge1xuICAgIGhlaWdodDogcmVtLWNhbGMoNTQpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBib3JkZXItY29sb3I6ICNFNEU4RjI7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIgNy40XCI+PHBhdGggZmlsbD1cIiMwNDE5NDRcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjQgMEwwIDEuNGw2IDYgNi02TDEwLjYgMCA2IDQuNiAxLjQgMHpcIi8+PC9zdmc+Jyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2Rvd24tY2FyZXQuc3ZnJyApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xMHB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsICNjYWxlbmRhcl9zdGFydF9tb250aCwgLnJ0bCAjY2FsZW5kYXJfZW50cnlfZm9ybSBzZWxlY3Qge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTBweCBjZW50ZXI7XG59XG5cbi5jYWxlbmRhciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyIGgzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLmNhbGVuZGFyIGgzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNhbGVuZGFyIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jYWxlbmRhciA+IGxpIHtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYWxlbmRhciA+IGxpOm5vdCguY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQpOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgei1pbmRleDogMDtcbn1cblxuXG4uY2FsZW5kYXIgdWwubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYSB7XG4gICAgYmFja2dyb3VuZDogIzIwNjNENjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEyKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyOm5vdCgucmVhZG9ubHkpIC5jYWxlbmRhcl9lbnRyeSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjA2M0Q2O1xufVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaGkge1xuICAgIGJhY2tncm91bmQ6ICMwNDIwNjg7XG59XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuc2VjdGlvbl8xLmhpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjMjA2M0Q2LCAkbGlnaHRuZXNzOiAtMjUlKTtcbn1cbiAgICBcbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkgYS5zZWN0aW9uXzIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuc2VjdGlvbl8yLmhpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjREUzRjNBLCAkbGlnaHRuZXNzOiAtMjUlKTtcbn1cblxuLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uY2FsZW5kYXIuYWN0aXZpdHlfdHlwZXMgLmNhbGVuZGFyX2VudHJ5IGE6aG92ZXIsIC5jYWxlbmRhci5yZWFkb25seSAuY2FsZW5kYXJfZW50cnkgYTpob3ZlciB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uY2FsZW5kYXI6bm90KC5hZGRfZWRpdF9hY3Rpdml0aWVzKSAuY2FsZW5kYXJfZW50cnkgYS5jb3N0LFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuY29zdCB7XG4gICAgYmFja2dyb3VuZDogI0VCN0M3QztcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLmNhbGVuZGFyOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLmNhbGVuZGFyX2VudHJ5IGEuaGkuY29zdCxcbiNzZWN0aW9uXzIgLnNlY3Rpb25fMmIgLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhLmhpLmNvc3Qge1xuICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCNFQjdDN0MsICRsaWdodG5lc3M6IC01JSk7XG59XG5cbi5jYWxlbmRhcjpub3QoLmFkZF9lZGl0X2FjdGl2aXRpZXMpIC5jYWxlbmRhcl9lbnRyeSBhLmluY29tZSxcbiNzZWN0aW9uXzIgLnNlY3Rpb25fMmIgLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhLmluY29tZSB7XG4gICAgYmFja2dyb3VuZDogI0E3RDZBMztcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLmNhbGVuZGFyOm5vdCguYWRkX2VkaXRfYWN0aXZpdGllcykgLmNhbGVuZGFyX2VudHJ5IGEuaGkuaW5jb21lLFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5IGEuaGkuaW5jb21lIHtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigjQTdENkEzLCAkbGlnaHRuZXNzOiAtNSUpO1xufVxuXG4uY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX3N0YXJ0IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDAgMCAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX3N0YXJ0IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeS5tb250aF9jZW50cmUgYSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYWxlbmRhciAuY2FsZW5kYXJfZW50cnkubW9udGhfZW5kIGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMTAwcHggMTAwcHggMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuY2FsZW5kYXIgLmNhbGVuZGFyX2VudHJ5Lm1vbnRoX2VuZCBhIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAwIDAgMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbmxpLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDUwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmNhbGVuZGFyLmFjdGl2aXR5X3R5cGVzIGxpLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5saS5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdC5ub19lbnRyaWVzIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAwO1xufVxuXG4uY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYS5idXR0b24ge1xuICAgIHBhZGRpbmc6IDEuMjVlbSAxZW0gMS4yNWVtIDIuMmVtO1xufVxuXG4uY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYSB7fVxuXG4uY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICAvL2JhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gICAgY29sb3I6ICMyMDYzRDY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEycHg7XG59XG5cbiNzZWN0aW9uXzEgLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjtcbn1cblxuI3NlY3Rpb25fMSAuY2FsZW5kYXJfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjA2M0Q2O1xufVxuXG4jc2VjdGlvbl8yIC5jYWxlbmRhcl9lbnRyeV9hZGRfZWRpdCBhIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbiNzZWN0aW9uXzIgLmNhbGVuZGFyX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgICBjb2xvcjogI0RFM0YzQTtcbn1cblxuI3NlY3Rpb25fMSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG5cbiNzZWN0aW9uXzIgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jY2FsZW5kYXJfYWRkX2VkaXRfZW50cnlfbW9kYWwge1xuICAgIFxufVxuI3NlY3Rpb25fMSAjY2FsZW5kYXJfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICAgIGNvbG9yOiAjMDQxOTQ0O1xufVxuI3NlY3Rpb25fMiAjY2FsZW5kYXJfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICAgIGNvbG9yOiAjNTcwMjM5O1xufVxuI2NhbGVuZGFyX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5hZGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI2NhbGVuZGFyX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jc2VjdGlvbl8xIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG4jc2VjdGlvbl8yIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG5cbiNjYWxlbmRhcl9lbnRyeV9mb3JtIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMjA2M0Q2O1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIge31cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgLmNhbGVuZGFyX3RleHRfYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU4ZjI7XG4gICAgaGVpZ2h0OiAyNjBweDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMTYgMTYgMTYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgLmNhbGVuZGFyX3RleHRfYmxvY2sgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIHAge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwNDE5NDQ7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5idXR0b24uaW5jb21lIHtcbiAgICBiYWNrZ3JvdW5kOiAjQTdENkEzO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsICNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5idXR0b24uaW5jb21lIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgLmJ1dHRvbi5pbmNvbWU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCNBN0Q2QTMsICRsaWdodG5lc3M6IC0xMCUpO1xufVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmNvc3Qge1xuICAgIGJhY2tncm91bmQ6ICNFQjdDN0M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAjY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmNvc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYnV0dG9uLmNvc3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCNFQjdDN0MsICRsaWdodG5lc3M6IC0xMCUpO1xufVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBjb250ZW50OiAnJztcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtbmV4dC5kb19ub3RfcHJvY2VlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuI2NhbGVuZGFyX2FjdGl2aXRpZXNfdHlwZV9zbGlkZXIgLm9yYml0LW5leHQuZG9fbm90X3Byb2NlZWQ6aG92ZXIge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dCAuYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5pbmNvbWUgLmJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjQTdENkEzO1xufVxuXG4jY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQuY29zdCAuYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNFQjdDN0M7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dCBoNCB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5hY3Rpdml0eS10eXBlLWJ1dHRvbnMge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLyojY2FsZW5kYXJfYWN0aXZpdGllc190eXBlX3NsaWRlciAuYWN0aXZpdHktdHlwZS1idXR0b25zOjpiZWZvcmUsICNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5hY3Rpdml0eS10eXBlLWJ1dHRvbnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lO1xufSovXG5cbiNjYWxlbmRhcl9hY3Rpdml0aWVzX3R5cGVfc2xpZGVyIC5hY3Rpdml0eS10eXBlLWJ1dHRvbnMtc291cmNlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDYWxlbmRhciBidXR0b24gc3R5bGVzICovXG4vKi5idXR0b24uY2FsZW5kYXJfZG9uZSwgLmJ1dHRvbi5leHBhbmRlZC5jYWxlbmRhcl9kb25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSovIiwiLyogXG4gKiBUQVNLU1xuICovXG5cbi50YXNrcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGFza3MgaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4udGFza3MgLmNvbHVtbiB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnRhc2tzIC50YXNrc19lbnRyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi50YXNrcyAudGFza3NfZW50cnkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qLnRhc2tzIC50YXNrc19lbnRyeSAudGFzay1lbnRyeS1lZGl0LXRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHN2Z1BlbmNpbEljb24oICMyZDM1M2YgKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA5cHggY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcblx0Y29sb3I6ICMyZDM1M2Y7XG5cdGJvcmRlcjogMnB4IHNvbGlkICMyZDM1M2Y7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE1IDEwIDMwKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRib3gtc2hhZG93OiAwcHggNHB4IDEwcHggcmdiYSgwLDAsMCwwLjMpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50YXNrcyAudGFza3NfZW50cnkgLnRhc2stZW50cnktZWRpdC10b29sdGlwOmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAxMHB4O1xuXHRoZWlnaHQ6IDEwcHg7XG5cdGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogIzJkMzUzZjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IC0yMHB4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn0qL1xuXG4udGFza3MgLnRhc2tzX2VudHJ5IGEsIC50YXNrc19jYXRlZ29yeV9saXN0IHVsIGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSggIzAwMCwgMC4zICk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cztcbn1cblxuLnRhc2tzIC50YXNrc19lbnRyeSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoICMwMDAsIDAuNSApO1xufVxuXG5cbi50YXNrcyAudGFza3NfZW50cnkgYS5zZWN0aW9uXzEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG4gICAgXG4udGFza3MgLnRhc2tzX2VudHJ5IGEuc2VjdGlvbl8yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4udGFza3MgLnRhc2tzX2VudHJ5IGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi50YXNrcy5hY3Rpdml0eV90eXBlcyAudGFza3NfZW50cnkgYTpob3ZlciB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4udGFza3M6bm90KC5hZGRfZWRpdF9hY3Rpdml0aWVzKSAudGFza3NfZW50cnkgYS5jb3N0LCBcbiNzZWN0aW9uXzIgLnNlY3Rpb25fMmIgLnRhc2tzIC50YXNrc19lbnRyeSBhLmNvc3Qge1xuICAgIGJhY2tncm91bmQ6ICNFQjdDN0M7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi50YXNrczpub3QoLmFkZF9lZGl0X2FjdGl2aXRpZXMpIC50YXNrc19lbnRyeSBhLmhpLmNvc3QsIFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAudGFza3NfZW50cnkgYS5oaS5jb3N0IHtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigjRUI3QzdDLCAkbGlnaHRuZXNzOiAtNSUpO1xufVxuXG4udGFza3M6bm90KC5hZGRfZWRpdF9hY3Rpdml0aWVzKSAudGFza3NfZW50cnkgYS5pbmNvbWUsIFxuI3NlY3Rpb25fMiAuc2VjdGlvbl8yYiAudGFza3MgLnRhc2tzX2VudHJ5IGEuaW5jb21lIHtcbiAgICBiYWNrZ3JvdW5kOiAjQTdENkEzO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4udGFza3M6bm90KC5hZGRfZWRpdF9hY3Rpdml0aWVzKSAudGFza3NfZW50cnkgYS5oaS5pbmNvbWUsXG4jc2VjdGlvbl8yIC5zZWN0aW9uXzJiIC50YXNrcyAudGFza3NfZW50cnkgYS5oaS5pbmNvbWUge1xuICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCNBN0Q2QTMsICRsaWdodG5lc3M6IC01JSk7XG59XG5cbi50YXNrcy5hY3Rpdml0eV90eXBlcyBsaS50YXNrc19lbnRyeV9hZGRfZWRpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxubGkudGFza3NfZW50cnlfYWRkX2VkaXQubm9fZW50cmllcyB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMDtcbn1cblxuLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIHdpZHRoOiAxMDRweDtcbiAgICBoZWlnaHQ6IDEwNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gICAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSggIzAwMCwgMC4yNSApO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cztcbn1cblxuLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSggIzAwMCwgMC40NSApO1xufVxuXG4udGFza3NfZW50cnlfYWRkX2VkaXQgYTpiZWZvcmUge1xuICAgIG1hcmdpbjogMTJweCBhdXRvIDVweCBhdXRvO1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNzZWN0aW9uXzEgLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG5cbiNzZWN0aW9uXzEgLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgICBjb2xvcjogIzIwNjNENjtcbn1cblxuI3NlY3Rpb25fMiAudGFza3NfZW50cnlfYWRkX2VkaXQgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbiNzZWN0aW9uXzIgLnRhc2tzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgICBjb2xvcjogI0RFM0YzQTtcbn1cblxuI3NlY3Rpb25fMSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG5cbiNzZWN0aW9uXzIgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jdGFza3NfYWRkX2VkaXRfZW50cnlfbW9kYWwge1xuICAgIFxufVxuI3NlY3Rpb25fMSAjdGFza3NfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICAgIGNvbG9yOiAjMDQxOTQ0O1xufVxuI3NlY3Rpb25fMiAjdGFza3NfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMge1xuICAgIGNvbG9yOiAjNTcwMjM5O1xufVxuI3Rhc2tzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5hZGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI3Rhc2tzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIC5lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jc2VjdGlvbl8xIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG4jc2VjdGlvbl8yIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG4jc2VjdGlvbl8zIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG4jc2VjdGlvbl80IC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG4jdG9kb3MgLmJ1dHRvbi5kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDtcbn1cblxuI3Rhc2tzX2VudHJ5X2Zvcm0gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICMyMDYzRDY7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIHt9XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tfdGV4dF9ibG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWFlMDtcbiAgICBtaW4taGVpZ2h0OiAzMTVweDtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMTYgMTYgMTYpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tfdGV4dF9ibG9jayBwLCAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrX3RleHRfYmxvY2sgb2wgbGkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xufVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIHAsICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tfdGV4dF9ibG9jayBvbCBsaSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzA0MTk0NDtcbn1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza190ZXh0X2Jsb2NrIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbn1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBjb250ZW50OiAnJztcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1uZXh0LmRvX25vdF9wcm9jZWVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1uZXh0LmRvX25vdF9wcm9jZWVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0IC5ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSggIzAwMCwgMC4zICk7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIGg0IHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNik7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0IGg0IHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0LmlkZWEgLmJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUQ3NTQzO1xufVxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC5vcmJpdC1zbGlkZSAuYmxvY2tfdGV4dC5wcm9kdWN0aW9uIC5ibG9jayB7XG4gICAgYmFja2dyb3VuZDogI0RFM0YzQTtcbn1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQubWFya2V0aW5nIC5ibG9jayB7XG4gICAgYmFja2dyb3VuZDogI0FDMDI0NDtcbn1cblxuI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQubWFuYWdlbWVudCAuYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICM1NzAyMzk7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0LmlkZWEgaDQsICN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0LnByb2R1Y3Rpb24gaDQsICN0YXNrc190eXBlc19zbGlkZXIgLm9yYml0LXNsaWRlIC5ibG9ja190ZXh0Lm1hcmtldGluZyBoNCwgI3Rhc2tzX3R5cGVzX3NsaWRlciAub3JiaXQtc2xpZGUgLmJsb2NrX3RleHQubWFuYWdlbWVudCBoNCB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cblxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICBib3JkZXI6IDA7XG59XG5cbiN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24uaWRlYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VENzU0Mztcbn1cbiNzZWN0aW9uXzIgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza3MtdHlwZXMtYnV0dG9ucyAuYnV0dG9uLnByb2R1Y3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG4jc2VjdGlvbl8yICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbi5tYXJrZXRpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBQzAyNDQ7XG59XG4jc2VjdGlvbl8yICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbi5tYW5hZ2VtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTcwMjM5O1xufVxuI3NlY3Rpb25fMiAjdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zIC5idXR0b24uaWRlYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogc2NhbGUtY29sb3IoI0VENzU0MywgJGxpZ2h0bmVzczogLTIwJSk7XG59XG4jc2VjdGlvbl8yICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbi5wcm9kdWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigjREUzRjNBLCAkbGlnaHRuZXNzOiAtMjAlKTtcbn1cbiNzZWN0aW9uXzIgI3Rhc2tzX3R5cGVzX3NsaWRlciAudGFza3MtdHlwZXMtYnV0dG9ucyAuYnV0dG9uLm1hcmtldGluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogc2NhbGUtY29sb3IoI0FDMDI0NCwgJGxpZ2h0bmVzczogLTIwJSk7XG59XG4jc2VjdGlvbl8yICN0YXNrc190eXBlc19zbGlkZXIgLnRhc2tzLXR5cGVzLWJ1dHRvbnMgLmJ1dHRvbi5tYW5hZ2VtZW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigjNTcwMjM5LCAkbGlnaHRuZXNzOiAtMjAlKTtcbn1cblxuXG4jdGFza3NfdHlwZXNfc2xpZGVyIC50YXNrcy10eXBlcy1idXR0b25zLXNvdXJjZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbn1cblxuLnRhc2tzX2NhdGVnb3J5X2xpc3QgPiBsaSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50YXNrc19jYXRlZ29yeV9saXN0IHVsLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnRhc2tzX2NhdGVnb3J5X2xpc3QgdWwubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuXG4udGFza3NfY2F0ZWdvcnlfbGlzdCB1bCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5jYXRlZ29yeSB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG59XG4udGFza3NfY2F0ZWdvcnlfbGlzdCBsaS5pZGVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUQ3NTQzO1xufVxuLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkucHJvZHVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbn1cbi50YXNrc19jYXRlZ29yeV9saXN0IGxpLm1hcmtldGluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FDMDI0NDtcbn1cbi50YXNrc19jYXRlZ29yeV9saXN0IGxpLm1hbmFnZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzAyMzk7XG59IiwiLyogXG4gKiBTRUNUSU9OIDUgTElTVFNcbiAqL1xuXG4ubGlzdHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpc3RzIGgzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuLmxpc3RzIC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5saXN0cyAubGlzdC1oZWFkaW5ncyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIFxuICAgIHAge1xuICAgICAgICBjb2xvcjogIzU0MUYzRjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG59XG5cbi5saXN0cyAubGlzdHNfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmxpc3RzIC5saXN0c19lbnRyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjQpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0cyAubGlzdHNfZW50cnkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5saXN0cyAubGlzdHNfZW50cnkgYSAucm93IGRpdiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpc3RzIC5saXN0c19lbnRyeSBhIC5yb3cgZGl2Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5saXN0cyAubGlzdHNfZW50cnkgYSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1mYW1pbHk6IFwiU291cmNlIFNhbnMgUHJvXCIsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKCAjMDAwLCAwLjMgKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzO1xufVxuXG4ubGlzdHMgLmxpc3RzX2VudHJ5IGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSggIzAwMCwgMC41ICk7XG59XG5cbi5saXN0cyAubGlzdHNfZW50cnkgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxubGkubGlzdHNfZW50cnlfYWRkX2VkaXQubm9fZW50cmllcyB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMDtcbn1cblxuLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIHdpZHRoOiAxMDRweDtcbiAgICBoZWlnaHQ6IDEwNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG4gICAgYm9yZGVyLXJhZGl1czogMTUwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggcmdiYSggIzAwMCwgMC4yNSApO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cztcbn1cblxuLmxhbmctbXNfbXkgLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIHdpZHRoOiAxMjZweDtcbiAgICBoZWlnaHQ6IDEyNnB4O1xufVxuXG4ubGlzdHNfZW50cnlfYWRkX2VkaXQgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMjBweCByZ2JhKCAjMDAwLCAwLjQ1ICk7XG59XG5cbi5saXN0c19lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gICAgbWFyZ2luOiAxMnB4IGF1dG8gNXB4IGF1dG87XG4gICAgY29udGVudDogJysnO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiAzNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxhbmctbXNfbXkgLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGE6YmVmb3JlIHtcbiAgICBtYXJnaW46IDEycHggYXV0byAxMHB4IGF1dG87XG59XG5cbiNzZWN0aW9uXzUgLmxpc3RzX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCQTE1Nzg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4jc2VjdGlvbl81IC5saXN0c19lbnRyeV9hZGRfZWRpdCBhOmJlZm9yZSB7XG4gICAgY29sb3I6ICNCQTE1Nzg7XG59XG5cbiNzZWN0aW9uXzUgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jbGlzdHNfYWRkX2VkaXRfZW50cnlfbW9kYWwge1xuICAgIFxufVxuI2xpc3RzX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIHtcbiAgICBjb2xvcjogIzU3MDIzOTtcbn1cbiNsaXN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuYWRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiNsaXN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuZWRpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI2xpc3RzX2VudHJ5X2Zvcm0gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNCQTE1Nzg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4ubGlzdHNfY2F0ZWdvcnlfbGlzdCA+IGxpIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG4vKiAwIC0gNzM5cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjApIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAgLmxpc3RzIC5saXN0c19lbnRyeSBhIC5yb3cgZGl2LmZpZWxkLTE6YmVmb3JlLCAubGlzdHMgLmxpc3RzX2VudHJ5IGEgLnJvdyBkaXYuZmllbGQtMjpiZWZvcmUsIC5saXN0cyAubGlzdHNfZW50cnkgYSAucm93IGRpdi5maWVsZC0zOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYWJlbCknOiAnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICM1NDFGM0Y7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICBcbiAgICAubGlzdHMgLmxpc3RzX2VudHJ5IGEgLnJvdyBkaXYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgfVxuICAgIFxuICAgIC5saXN0cyAubGlzdHNfZW50cnkgYSAucm93IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40cmVtO1xuICAgIH1cbiAgICBcbn1cbiIsIi8qIFxuICogVE9ET1NcbiAqL1xuXG4udG9kb3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvZG9zIGgzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICBtYXJnaW46IDAgMCA1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50b2RvcyAuY29sdW1uIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udG9kb3MgLmxvYWRpbmcge1xuICAgIHdpZHRoOiByZW0tY2FsYyg5MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvZG9zIC5sb2FkaW5nIHAge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTYwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgei1pbmRleDogMTtcbn1cblxuLnRvZG9zIC5sb2FkaW5nIC5yaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDkwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDA7XG59XG4udG9kb3MgLmxvYWRpbmcgLnJpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiByZW0tY2FsYyg5MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg5MCk7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogOHB4IHNvbGlkIGNhZGV0Ymx1ZTtcbiAgICBib3JkZXItY29sb3I6IGNhZGV0Ymx1ZSB0cmFuc3BhcmVudCBjYWRldGJsdWUgdHJhbnNwYXJlbnQ7XG4gICAgYW5pbWF0aW9uOiByaW5nIDEuMnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyByaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cblxuLnRvZG9zIC50b2Rvc19lbnRyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSBhIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyMCAyMCA1Nik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggcmdiYSggIzAwMCwgMC4zICk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cztcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAudG9kb3MgLnRvZG9zX2VudHJ5IGEge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDU2IDIwIDIwKTtcbn1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMnB4IHJnYmEoICMwMDAsIDAuNSApO1xufVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGEuc2VjdGlvbl8xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjA2M0Q2O1xufVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGEuc2VjdGlvbl8yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi50b2RvcyAudG9kb3NfZW50cnkgYnV0dG9uLnN0YXR1cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTNweDtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRleHQtaW5kZW50OiAtNTAwMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAudG9kb3MgLnRvZG9zX2VudHJ5IGJ1dHRvbi5zdGF0dXMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEycHg7XG59XG5cbi50b2RvcyAudG9kb3NfZW50cnkgYnV0dG9uLnN0YXR1czpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYXJnZS10aWNrLnN2ZycgKTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoICMwMDAsIDAuMyApO1xufVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IGJ1dHRvbi5zdGF0dXMuY29tcGxldGVkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLi9pbWcvbGFyZ2Utd2hpdGUtdGljay5zdmcnICk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbn1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3gge1xuICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGxhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFxuICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNDApO1xuICAgIFxuICAgIGJvcmRlcjogMXB4IHNvbGlkOyAgIFxufVxuXG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogNnB4O1xuICAgIHdpZHRoOiA5cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG4gICAgXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvL3RleHQtaW5kZW50OiAtNTAwMHB4O1xuICAgIFxufVxuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSxcbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGxhYmVsOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLypPdXRlci1ib3gqL1xuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiAzcHg7XG59XG4vKkNoZWNrbWFyayovXG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDRweDtcbiAgICB0b3A6IDdweDtcbn1cbi8qSGlkZSB0aGUgY2hlY2ttYXJrIGJ5IGRlZmF1bHQqL1xuLnRvZG9zIC50b2Rvc19lbnRyeSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xufVxuLypVbmhpZGUgdGhlIGNoZWNrbWFyayBvbiB0aGUgY2hlY2tlZCBzdGF0ZSovXG4udG9kb3MgLnRvZG9zX2VudHJ5IC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbn1cbi8qQWRkaW5nIGZvY3VzIHN0eWxlcyBvbiB0aGUgb3V0ZXItYm94IG9mIHRoZSBmYWtlIGNoZWNrYm94Ki9cbi50b2RvcyAudG9kb3NfZW50cnkgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICAgIG91dGxpbmU6IHJnYig1OSwgMTUzLCAyNTIpIGF1dG8gNXB4O1xufVxuXG5cbi5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbi5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuKi9cblxuLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQgLmJ1dHRvbiB7XG59XG4uY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCBzcGFuIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA3MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg0OCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG5cblxuXG4jc2VjdGlvbl8xIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMwNDM5QTUsIDAuOCk7XG59XG4jc2VjdGlvbl8xIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDQzOUE1LCAxKTsgfVxuI3NlY3Rpb25fMSAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7IGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7IH1cbiNzZWN0aW9uXzEgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjMjA2M0Q2LCAkbGlnaHRuZXNzOiAtMTAlKTsgfVxuXG4jc2VjdGlvbl8yIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNFRDc1NDMsIDAuOCk7XG59XG4jc2VjdGlvbl8yIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRUQ3NTQzLCAxKTsgfVxuI3NlY3Rpb25fMiAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7IGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7IH1cbiNzZWN0aW9uXzIgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjREUzRjNBLCAkbGlnaHRuZXNzOiAtMTAlKTsgfVxuXG4jc2VjdGlvbl8zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCM2MkI2NTMsIDAuOCk7XG59XG4jc2VjdGlvbl8zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjNjJCNjUzLCAxKTsgfVxuI3NlY3Rpb25fMyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7IGJhY2tncm91bmQtY29sb3I6ICMxOTZDNkE7IH1cbiNzZWN0aW9uXzMgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjMTk2QzZBLCAkbGlnaHRuZXNzOiAtMTAlKTsgfVxuXG4jc2VjdGlvbl80IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNCMDMxRTcsIDAuOCk7XG59XG4jc2VjdGlvbl80IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjQjAzMUU3LCAxKTsgfVxuI3NlY3Rpb25fNCAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7IGJhY2tncm91bmQtY29sb3I6ICNDQzVERkY7IH1cbiNzZWN0aW9uXzQgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjQ0M1REZGLCAkbGlnaHRuZXNzOiAtMTAlKTsgfVxuXG4jc2VjdGlvbl81IC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNCQTE1NzgsIDEpO1xufVxuI3NlY3Rpb25fNSAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdDpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0JBMTU3OCwgMC44KTsgfVxuI3NlY3Rpb25fNSAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCAucGx1cyB7IGJhY2tncm91bmQtY29sb3I6ICNGRjhEQjk7IH1cbiNzZWN0aW9uXzUgLmNhbGxvdXQudG9kb3NfZW50cnlfYWRkX2VkaXQ6aG92ZXIgLnBsdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjRkY4REI5LCAkbGlnaHRuZXNzOiAtMTAlKTsgfVxuI3NlY3Rpb25fNSAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCBoNCB7IGNvbG9yOiAjZmZmOyB9XG5cbiN0b2RvcyAuY2FsbG91dC50b2Rvc19lbnRyeV9hZGRfZWRpdCB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMzMzLCAwLjgpO1xufVxuI3RvZG9zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMzMzLCAxKTsgfVxuI3RvZG9zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0IC5wbHVzIHsgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuI3RvZG9zIC5jYWxsb3V0LnRvZG9zX2VudHJ5X2FkZF9lZGl0OmhvdmVyIC5wbHVzIHsgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoIzMzMywgJGxpZ2h0bmVzczogLTEwJSk7IH1cblxuXG4udG9kb3NfZW50cnlfYWRkX2VkaXQubm9fZW50cmllcyB7XG4gICAgXG59XG5cbiNzZWN0aW9uXzEgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jc2VjdGlvbl8yIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbn1cblxuI3NlY3Rpb25fMyBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbiNzZWN0aW9uXzQgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jc2VjdGlvbl81IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbn1cblxuI3RvZG9zIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbn1cblxuI3RvZG9zX2FkZF9lZGl0X2VudHJ5X21vZGFsIHtcbiAgICBcbn1cbiNzZWN0aW9uXzEgI3RvZG9zX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIHtcbiAgICBjb2xvcjogIzA0MTk0NDtcbn1cbiNzZWN0aW9uXzIgI3RvZG9zX2FkZF9lZGl0X2VudHJ5X21vZGFsIGgzIHtcbiAgICBjb2xvcjogIzU3MDIzOTtcbn1cbiN0b2Rvc19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuYWRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiN0b2Rvc19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyAuZWRpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3NlY3Rpb25fMSAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuI3NlY3Rpb25fMiAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuI3NlY3Rpb25fMyAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuI3NlY3Rpb25fNCAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuI3NlY3Rpb25fNSAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuI3RvZG9zIC5idXR0b24uZGVsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkICFpbXBvcnRhbnQ7XG59XG5cbiN0b2Rvc19lbnRyeV9mb3JtIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAjMjA2M0Q2O1xuICAgIG1hcmdpbjogYXV0bztcbn1cblxuXG4udG9kb19saXN0IGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbn0iLCIvKiBcbiAqIFBST0RVQ1RTXG4gKi9cblxuLnByb2R1Y3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9kdWN0cyBoMyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucHJvZHVjdHMgLmNvbHVtbiB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogNjBweDtcbn1cblxuLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyMCAyMCAyMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuI3NlY3Rpb25fMSAucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEge1xuICAgIGNvbG9yOiAjMjA2M0Q2O1xufVxuXG4jc2VjdGlvbl8yIC5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYSB7XG4gICAgY29sb3I6ICNERTNGM0E7XG59XG5cbiNzZWN0aW9uXzMgLnByb2R1Y3RzIC5wcm9kdWN0c19lbnRyeSBhIHtcbiAgICBjb2xvcjogIzUwQUQ0Nztcbn1cblxuI3NlY3Rpb25fNCAucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEge1xuICAgIGNvbG9yOiAjNTBBRDQ3O1xufVxuXG4ucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGEuYWRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDNweCBkYXNoZWQgcmdiYSgjZmZmLCAwLjc1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNzUpO1xufVxuXG4ucHJvZHVjdHMgLnByb2R1Y3RzX2VudHJ5IGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDEycHggcmdiYSggIzAwMCwgMC41ICk7XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5zZWN0aW9uXzEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDYzRDY7XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYS5zZWN0aW9uXzIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBNzFBRTQ7XG59XG5cbi5wcm9kdWN0cyAucHJvZHVjdHNfZW50cnkgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG5cbi5wcm9kdWN0c19lbnRyeV9hZGRfZWRpdC5ub19lbnRyaWVzIHtcbiAgICBcbn1cblxuI3NlY3Rpb25fMSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbiNzZWN0aW9uXzIgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREUzRjNBO1xufVxuXG4jc2VjdGlvbl8zIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RFM0YzQTtcbn1cblxuI3NlY3Rpb25fNCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbiNwcm9kdWN0cyBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERTNGM0E7XG59XG5cbiNwcm9kdWN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCB7XG4gICAgXG59XG4jc2VjdGlvbl8xICNwcm9kdWN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gICAgY29sb3I6ICMwNDE5NDQ7XG59XG4jc2VjdGlvbl8yICNwcm9kdWN0c19hZGRfZWRpdF9lbnRyeV9tb2RhbCBoMyB7XG4gICAgY29sb3I6ICM1NzAyMzk7XG59XG4jcHJvZHVjdHNfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMgLmFkZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4jcHJvZHVjdHNfYWRkX2VkaXRfZW50cnlfbW9kYWwgaDMgLmVkaXQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzZWN0aW9uXzEgLmJ1dHRvbi5kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDtcbn1cbiNzZWN0aW9uXzIgLmJ1dHRvbi5kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDtcbn1cbiNzZWN0aW9uXzMgLmJ1dHRvbi5kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDtcbn1cbiNzZWN0aW9uXzQgLmJ1dHRvbi5kZWxldGUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtyZWQgIWltcG9ydGFudDtcbn1cbiNwcm9kdWN0cyAuYnV0dG9uLmRlbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya3JlZCAhaW1wb3J0YW50O1xufVxuXG4jcHJvZHVjdHNfZW50cnlfZm9ybSAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzIwNjNENjtcbiAgICBtYXJnaW46IGF1dG87XG59XG5cblxuLnByb2R1Y3RzIGxpIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbn1cblxuXG4ucHJvZHVjdF9wYWdlIHt9XG4ucHJvZHVjdF9wYWdlIC5kZXNjcmlwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wcm9kdWN0X3BhZ2UgLmRlc2NyaXB0aW9uIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9kdWN0X3BhZ2UgbGFiZWwsIC5wcm9kdWN0X21hcmtldHNfcGFnZSBsYWJlbCB7XG4gICAgY29sb3I6ICMxMzQ4NTI7XG59XG5cbiNzZWN0aW9uXzEgLnByb2R1Y3RfcGFnZSBoNCwgI3NlY3Rpb25fMSAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgaDQgeyBjb2xvcjogIzA0MTk0NDsgbWFyZ2luLXRvcDogMDsgfVxuI3NlY3Rpb25fMiAucHJvZHVjdF9wYWdlIGg0LCAjc2VjdGlvbl8yIC5wcm9kdWN0X21hcmtldHNfcGFnZSBoNCB7IGNvbG9yOiAjNTcwMjM5OyBtYXJnaW4tdG9wOiAwOyB9XG4jc2VjdGlvbl8zIC5wcm9kdWN0X3BhZ2UgaDQsICNzZWN0aW9uXzMgLnByb2R1Y3RfbWFya2V0c19wYWdlIGg0IHsgY29sb3I6ICM1MEFENDc7IG1hcmdpbi10b3A6IDA7IH1cbiNzZWN0aW9uXzQgLnByb2R1Y3RfcGFnZSBoNCwgI3NlY3Rpb25fNCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgaDQgeyBjb2xvcjogIzMwMEM1RTsgbWFyZ2luLXRvcDogMDsgfVxuXG4ucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciB7XG4gICAgXG59XG5cbi5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGEge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDIwIDU2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKCAjMDAwLCAwLjMgKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzO1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGEge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDU2IDIwIDIwKTtcbn1cblxuLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYS5jaGVja2VkLCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhLmNoZWNrZWQ6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MEFENDc7XG59XG5cbi5wcm9kdWN0X21hcmtldHNfcGFnZSAucHJvZHVjdF9tYXJrZXRfcGlja2VyIGxpIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEzcHg7XG4gICAgbGVmdDogMTJweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMzIpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICB0ZXh0LWluZGVudDogLTUwMDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYTphZnRlciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTJweDtcbn1cblxuLnByb2R1Y3RfbWFya2V0c19wYWdlIC5wcm9kdWN0X21hcmtldF9waWNrZXIgbGkgYS5jaGVja2VkOmFmdGVyLCAucHJvZHVjdF9tYXJrZXRzX3BhZ2UgLnByb2R1Y3RfbWFya2V0X3BpY2tlciBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4uL2ltZy9sYXJnZS1ncmVlbi10aWNrLnN2ZycgKTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoICMwMDAsIDAuMyApO1xufVxuIiwiLypcbiAqIExBTkdVQUdFIFNFTEVDVE9SXG4gKi9cbi5sYW5ndWFnZS1tZW51LWljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2IDMwIDQgMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZDM1M2Y7XG5cdGNvbG9yOiAjMmQzNTNmO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdDYXJldEFycm93KCMyZDM1M2YsIGRvd24pO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMTFweDtcbn1cblxuLmxhbmd1YWdlLW1lbnUtaWNvbjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jbGFuZ3VhZ2VfbWVudSBoMSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdHBhZGRpbmctdG9wOiAxcmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMS40cmVtO1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcblx0Y29sb3I6ICM3Mzc5N2Y7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNsYW5ndWFnZV9tZW51IGgxIHN0cm9uZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDQwcHg7XG5cdGNvbG9yOiAjMmQzNTNmO1xufVxuXG4jbGFuZ3VhZ2VfbWVudSBoMiB7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xufVxuXG4jbGFuZ3VhZ2VfbWVudSBoMiBzdHJvbmcge1xuXHRmb250LXdlaWdodDogNzAwO1xuXHQvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xufVxuXG4ucm93LmNsb3NlLWJ1dHRvbi1yb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDUwJTtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA3MHB4O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciB1bC5yYWRpb2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciB1bC5yYWRpb2J1dHRvbnMgbGkge1xuXHRmbGV4OiAwIDAgNTAlO1xuXHRtYXgtd2lkdGg6IDUwJTtcblx0cGFkZGluZzogcmVtLWNhbGMoMTApO1xufVxuXG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTAgMTAgNTYpO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2VlZjVmYiwgMC4zKTtcblx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggcmdiYSgwLDAsMCwwLjEpO1xuXHRjb2xvcjogIzczNzk3Zjtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cztcbn1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBsYWJlbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjc1KSAhaW1wb3J0YW50O1xuXHQvL2JveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC4yKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjNWM2MjZhICFpbXBvcnRhbnQ7XG5cdC8qZm9udC13ZWlnaHQ6IDcwMDtcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2NSk7Ki9cbn1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDE5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjQpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDk5OSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgjMTYxZjJhLDAuMTApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBsYWJlbDpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICBjb2xvcjogIzVjNjI2YTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2NSk7XG59XG5cbi5sYW5ndWFnZV9zZWxlY3RvciBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBBRDQ3O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdUaWNrKCNmZmYpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHJlbS1jYWxjKDE5KTtcblx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0d2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0bGVmdDogMTFweDtcbn1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubGFuZ3VhZ2Vfc2VsZWN0b3IgbGFiZWw6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxhbmd1YWdlX3NlbGVjdG9yIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0Ni4xODhlbSkge1xuXHRcblx0XG5cdCNsYW5ndWFnZV9tZW51IGgyIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcblx0fVxuXHRcblx0Lmxhbmd1YWdlX3NlbGVjdG9yIHVsLnJhZGlvYnV0dG9ucyBsaSB7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuXHR9XG5cdFxuXHQubGFuZ3VhZ2Vfc2VsZWN0b3IgaW5wdXRbdHlwZT1yYWRpb10gKyBsYWJlbCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDggMTAgOCA1Nik7XG5cdFx0bWluLXdpZHRoOiAxMDBweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHR9XG5cdFxuXHQubGFuZ3VhZ2Vfc2VsZWN0b3IgdWwucmFkaW9idXR0b25zIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG5cdH1cbn0iLCIvKiBcbiAqIFRSSUFOR0xFUyAvIENJUkNMRVMgTElTVCBFTEVNRU5UU1xuICovXG4uc291cmNlX2xpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzE5Mzc5MywgMC45KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAucmVzZXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAyJTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjI1cztcbn1cblxuLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQudHJpYW5nbGVfYWRkIHtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgaGVpZ2h0OiAxNDNweDtcbn1cblxuLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQuY2lyY2xlX2FkZCB7XG4gICAgd2lkdGg6IDExNHB4O1xuICAgIGhlaWdodDogMTE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNjNENjtcbiAgICBib3JkZXItcmFkaXVzOiAxNTBweDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cywgaGVpZ2h0IDAuMjVzLCBtYXJnaW4tYm90dG9tIDAuMjVzO1xufVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC5jaXJjbGVfYWRkOmhvdmVyIHtcbiAgICB3aWR0aDogMTI0cHg7XG4gICAgaGVpZ2h0OiAxMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xufVxuXG4ubGFuZy1oeSAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC5jaXJjbGVfYWRkIHtcbiAgICB3aWR0aDogMTI2cHg7XG4gICAgaGVpZ2h0OiAxMjZweDtcbn1cblxuLmxhbmctaHkgLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQuY2lyY2xlX2FkZDpob3ZlciB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbn1cblxuLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xufVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMzZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkLnRyaWFuZ2xlX2FkZDpiZWZvcmUge1xuICAgIG1hcmdpbjogMzhweCBhdXRvIDhweCBhdXRvO1xufVxuXG4udHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZC5jaXJjbGVfYWRkOmJlZm9yZSB7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMnB4IGF1dG87XG59XG5cbiNzZWN0aW9uXzEgLnRyaWFuZ2xlc19jaXJjbGVzX3NlbGVjdG9yIC5hZGQudHJpYW5nbGVfYWRkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy90cmlhbmdsZS1ibHVlLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTUlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgMC4yNXM7XG59XG4jc2VjdGlvbl8xIC50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAuYWRkLnRyaWFuZ2xlX2FkZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xufVxuI3NlY3Rpb25fMSAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLmFkZDpiZWZvcmUge1xuICAgIGNvbG9yOiAjMjA2M0Q2O1xufVxuXG4udHJpYW5nbGVzLCAuY2lyY2xlcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogI2ZmZjtcbn1cbi50cmlhbmdsZXMgbGksIC5jaXJjbGVzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udHJpYW5nbGVzIGxpIGRpdiwgLmNpcmNsZXMgbGkgZGl2IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMC4yNSwgMC4xLCAwLjI1KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udHJpYW5nbGVzIGxpIGEsIC5jaXJjbGVzIGxpIGEge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRleHQtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsMCwwLDAuNSk7XG59XG5cblxuLnRyaWFuZ2xlcyBsaSBkaXYucG9wcGVkLCAuY2lyY2xlcyBsaSBkaXYucG9wcGVkIHtcbiAgICBhbmltYXRpb246IHBvcHBlZCAwLjM1cyBlYXNlLW91dCAxO1xufVxuXG4udHJpYW5nbGVzIGxpIGRpdi5wb3BwZWQgYSwgLmNpcmNsZXMgbGkgZGl2LnBvcHBlZCBhIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRyaWFuZ2xlcyBsaSBkaXYucG9wcGVkOmhvdmVyIGEsIC5jaXJjbGVzIGxpIGRpdi5wb3BwZWQ6aG92ZXIgYSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5Aa2V5ZnJhbWVzIHBvcHBlZCB7XG4gICAgMCUgeyAgfVxuLy8gICAxMiUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yZGVnKTsgfVxuLy8gICAzMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyZGVnKTsgfVxuLy8gICA0NSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7IH1cbi8vICAgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbi8vICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjUpIHJvdGF0ZSgtMmRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbn1cblxuXG4udHJpYW5nbGVzIGxpIGRpdjpub3QoLnBvcHBlZCkuYW5pbV8xLCAuY2lyY2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpLmFuaW1fMSB7XG4gICAgYW5pbWF0aW9uOiBhbmltXzEgMS4xNXMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLnRyaWFuZ2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpLmFuaW1fMiwgLmNpcmNsZXMgbGkgZGl2Om5vdCgucG9wcGVkKS5hbmltXzIge1xuICAgIGFuaW1hdGlvbjogYW5pbV8yIDEuMjVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbkBrZXlmcmFtZXMgYW5pbV8xIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHRyYW5zbGF0ZVkoLTFweCkgc2NhbGUoMC45OSk7IH1cbiAgIDI1JSB7IHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTsgfVxuICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHRyYW5zbGF0ZVkoMXB4KSBzY2FsZSgxLjAxKTsgfVxuICAgNzUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHRyYW5zbGF0ZVkoLTFweCkgc2NhbGUoMC45OSk7IH1cbn1cblxuQGtleWZyYW1lcyBhbmltXzIge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHRyYW5zbGF0ZVkoMXB4KSBzY2FsZSgwLjk5KTsgfVxuICAgMjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMmRlZyk7IH1cbiAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHRyYW5zbGF0ZVkoLTFweCkgc2NhbGUoMS4wMSk7IH1cbiAgIDc1JSB7IHRyYW5zZm9ybTogcm90YXRlKC0yZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHRyYW5zbGF0ZVkoMXB4KSBzY2FsZSgwLjk5KTsgfVxufVxuXG5cbi8qQGtleWZyYW1lcyBqaWdnbGVfYSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTsgfVxuICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGppZ2dsZV9iIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKTsgfVxuICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMS4xZGVnKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgamlnZ2xlX2Mge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEuMmRlZyk7IH1cbiAgIDUwJSB7IHRyYW5zZm9ybTogcm90YXRlKDEuMmRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0xLjJkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgamlnZ2xlX2Qge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEuM2RlZyk7IH1cbiAgIDUwJSB7IHRyYW5zZm9ybTogcm90YXRlKDEuMWRlZyk7IH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0xLjNkZWcpOyB9XG59Ki9cblxuLnRyaWFuZ2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpOmhvdmVyLCAuY2lyY2xlcyBsaSBkaXY6bm90KC5wb3BwZWQpOmhvdmVyIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpICFpbXBvcnRhbnQ7XG59XG5cbi50cmlhbmdsZXMgbGkgYSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvdHJpYW5nbGUuc3ZnJykgMCAwIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMHB4IDkwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRyaWFuZ2xlcyBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTI0NDQ0O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLmNpcmNsZXMgbGkgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDk1cHg7XG4gICAgaGVpZ2h0OiA5NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmxhbmctaHkgLmNpcmNsZXMgbGkgYSB7XG5cdHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xufVxuXG4uY2lyY2xlcyBsaSBhOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTI0NDQ0O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAudHJpYW5nbGVzX2NpcmNsZXNfc2VsZWN0b3IgLnJlc2V0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbn0iLCIvKiBcbiAqIExPWkVOR0VTIExJU1QgRUxFTUVOVFNcbiAqL1xuXG4ubG96ZW5nZXMge1xuICAgIFxufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMge1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgjMDAwLCAwLjMpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDUzIDEyIDApO1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDY4KTtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDAgMTIgNTMpO1xufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwubm8tc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMubm9faW50ZXJhY3Rpb24gdWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDAgMTIgMCk7XG59XG5cbi5sb3plbmdlX2l0ZW1fY291bnQge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCNUU5OUY7XG4gICAgY29sb3I6ICMxMzQ4NTI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTIgMTIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTBweDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAubG96ZW5nZV9pdGVtX2NvdW50IHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMubm9faW50ZXJhY3Rpb24gLmxvemVuZ2VfaXRlbV9jb3VudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4ubG96ZW5nZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICNmZmY7XG59XG4ubG96ZW5nZXMgbGksIC5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bCBsaSwgdWwuc2VsZWN0ZWRfd29yZHNfbGlzdCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTApO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmxvemVuZ2VzIGxpLCAubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwgbGksIHVsLnNlbGVjdGVkX3dvcmRzX2xpc3QgbGkge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNSk7XG4gICAgcGFkZGluZzogMDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmxvemVuZ2VzIGxpIGEsIC5sb3plbmdlc19zZWxlY3RlZF93b3JkcyB1bCBsaSBhLCB1bC5zZWxlY3RlZF93b3Jkc19saXN0IGxpIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmxvemVuZ2VzIGxpIGEuYnV0dG9uLCAubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwgbGkgYS5idXR0b24sIHVsLnNlbGVjdGVkX3dvcmRzX2xpc3QgbGkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMC44KTtcbiAgICBjb2xvcjogIzExNjA0NDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xufVxuXG4ubG96ZW5nZXNfc2VsZWN0ZWRfd29yZHMgdWwgbGkgYS5idXR0b24sIHVsLnNlbGVjdGVkX3dvcmRzX2xpc3QgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzY1QzAzRiwgMSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIGxpIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigjNjVDMDNGLCAkbGlnaHRuZXNzOiAtMTUlKTtcbn1cblxuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzLm5vX2ludGVyYWN0aW9uIHVsIGxpIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCM2NUMwM0YsIDEpO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzIHVsIGxpIGEuYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTI0NDQ0O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmxvemVuZ2VzX3NlbGVjdGVkX3dvcmRzLm5vX2ludGVyYWN0aW9uIHVsIGxpIGEuYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubG96ZW5nZXMgbGkgYS5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwgMSk7XG59XG5cbi5sb3plbmdlX2FkZC5ob2xsb3cge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA0MCk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xufVxuLmxvemVuZ2VfYWRkLmhvbGxvdzpmb2N1cywgLmxvemVuZ2VfYWRkLmhvbGxvdzpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMxMTYwNDQ7XG59XG5cblxuLyogMCAtIDczOXB4IC0gU21hbGwgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAvKi50cmlhbmdsZXNfY2lyY2xlc19zZWxlY3RvciAucmVzZXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIH0qL1xuXG59IiwiLyogXG4gKiBQUk9EVUNUIFJBTkRPTUlTRVJcbiAqL1xuXG4ucHJvZHVjdF9yYW5kb21pc2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLypiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9yYW5kb21pc2VyLWJnLnN2ZycpIDAgMCBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyovXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICAgIGJveC1zaGFkb3c6IDBweCA3cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKm92ZXJmbG93OiBoaWRkZW47Ki9cbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDclO1xuICAgIGJvdHRvbTogMjAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDdweCByZ2JhKCRibGFjaywgMC45KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHdpZHRoOiAyOS4zMzMzJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDI1JTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIwNSwyMDUsMjA1LDAuOSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgei1pbmRleDogMTA7XG59XG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMjUlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDIwNSwyMDUsMjA1LDAuOSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgdWwuYW5pbWF0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM1NzAyMzk7XG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgIGhlaWdodDogNzBweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAvKmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOyovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlci5tYXRlcmlhbHMgdWwgbGkge1xuICAgIGNvbG9yOiAjQkExNTc4O1xufVxuXG4vKiAwIC0gNDQ5cHggT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjApIGFuZCAobWF4LXdpZHRoOjQ0OXB4KSB7XG4gICAgLnByb2R1Y3RfcmFuZG9taXNlciB1bCBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbn1cblxuXG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgdWwgbGkucXVlc3Rpb25fbWFyayB7XG4gICAgY29sb3I6ICM1NzAyMzk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgLy9tYXJnaW4tdG9wOiA1MCU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciB1bCBsaS5kZWZhdWx0IHtcbiAgICAvL2NvbG9yOiAjNTcwMjM5O1xuICAgIC8vZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgLy9tYXJnaW4tdG9wOiA1MCU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciB1bCBsaSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LnBsYWNlLCAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90Lm9uZSB7XG4gICAgbGVmdDogNCU7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyLCAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LnR3byB7XG4gICAgbGVmdDogMzUuMzMzMzMlO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaSB7XG4gICAgd2lkdGg6IDY2cHg7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMnB4IGF1dG87XG59XG5cbi8qLmxhbmctaHkgLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkge1xuICAgIHdpZHRoOiAxMDZweDtcbiAgICBoZWlnaHQ6IDEwNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDZweDtcbn0qL1xuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5xdWVzdGlvbl9tYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIGNvbG9yOiAjNTcwMjM5O1xuICAgIC8vbWFyZ2luLXRvcDogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I0MTU0OTtcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkucmVkIHNwYW4ge1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMzMzLCAtMXB4IC0xcHggMXB4ICMzMzM7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkYzAxYztcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkueWVsbG93IHNwYW4ge1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjZmZmLCAtMXB4IC0xcHggMXB4ICNmZmY7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjg1YmQ7XG4gICAgY29sb3I6ICMzMzM7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnBpbmsgc3BhbiB7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICNmZmYsIC0xcHggLTFweCAxcHggI2ZmZjtcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MGFkNDc7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLmdyZWVuIHNwYW4ge1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMzMzLCAtMXB4IC0xcHggMXB4ICMzMzM7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLmdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTQ1NGU7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLmdyZXkgc3BhbiB7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzMsIC0xcHggLTFweCAxcHggIzMzMztcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkub3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQ3NTQzO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5vcmFuZ2Ugc3BhbiB7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzMsIC0xcHggLTFweCAxcHggIzMzMztcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkuYXF1YSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3YmFlMztcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLnByb2R1Y3RfcmFuZG9taXNlciAuc2xvdC5jb2xvdXIgbGkuYXF1YSBzcGFuIHtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggI2ZmZiwgLTFweCAtMXB4IDFweCAjZmZmO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LmNvbG91ciBsaS5wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1MjBkOTc7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgLnNsb3QuY29sb3VyIGxpLnB1cnBsZSBzcGFuIHtcbiAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzMzMywgLTFweCAtMXB4IDFweCAjMzMzO1xufVxuXG4ucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90Lm9jY2FzaW9uLCAucHJvZHVjdF9yYW5kb21pc2VyIC5zbG90LnRocmVlIHtcbiAgICBsZWZ0OiA2Ni42NjY2NiU7XG59XG5cbi5wcm9kdWN0X3JhbmRvbWlzZXIgYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDc1JSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNik7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgbGluZS1oZWlnaHQ6IDAuNztcbiAgICB3aWR0aDogODAlO1xufVxuIiwiLyogXG4gKiBDVVNUT01FUiBDUkVBVE9SXG4gKi9cblxuLmN1c3RvbWVyX2NyZWF0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLy9tYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4ge1xuICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgLy9ib3JkZXI6IDEwcHggc29saWQgI2ZmZjtcbiAgICAvKmhlaWdodDogMDsqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgkYmxhY2ssIDAuMyk7XG4gICAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuICAgIC8qcGFkZGluZy1ib3R0b206IDQ4JTsqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5jdXN0b21lcl9ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG4uY3VzdG9tZXJfYmxvY2sgLmN1c3RvbWVyX2NyZWF0b3Ige1xuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xufVxuXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXG4gICAgaGVpZ2h0OiAxMDAlOyBcbiAgICB3aWR0aDogMTAwJTsgXG4gICAgbGVmdDogMDsgXG4gICAgdG9wOiAwO1xufVxuXG4uc3ZnX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5hY2Nlc3NvcmllcyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmFjY2Vzc29yaWVzID4gcGF0aCxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuaGF0cyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmhhdHMgPiBwYXRoLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5leWVzID4gZyxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuZXllcyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmZyaW5nZXMgPiBnLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5mcmluZ2VzID4gcGF0aCxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAubm9zZXMgPiBnLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ub3NlcyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLm1vdXRocyA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLm1vdXRocyA+IHBhdGgsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmJvZHkgLnB1cnBsZS1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYm9keSAucmVkLWJvZHkxLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ib2R5IC5ibHVlLWJvZHkxLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5ib2R5IC5ncmVlbi1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYm9keSAuZGVmYXVsdC1ib2R5MSxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuaGFpciA+IGcsXG4uY3VzdG9tZXJfY3JlYXRvciAubWFpbiBzdmcgLmhhaXIgPiBwYXRoLFxuLmN1c3RvbWVyX2NyZWF0b3IgLm1haW4gc3ZnIC5iYWNrZ3JvdW5kID4gZyxcbi5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHN2ZyAuYmFja2dyb3VuZCA+IHBhdGgge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy9ib3gtc2hhZG93OiAwIDAgMTVweCByZ2JhKCRibGFjaywgMC4zKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29sX3NlbGVjdGlvbiB1bCB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLy90ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29sX3NlbGVjdGlvbiB1bCBsaSB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMTBweCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDEwIDApO1xufVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbF9zZWxlY3Rpb24gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHM6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiA5cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgc2VsZWN0IHtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDU0KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNEU4RjI7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgY29sb3I6ICMxMzQ4NTI7XG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIgNy40XCI+PHBhdGggZmlsbD1cIiMwNDE5NDRcIiBmaWxsLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xLjQgMEwwIDEuNGw2IDYgNi02TDEwLjYgMCA2IDQuNiAxLjQgMHpcIi8+PC9zdmc+Jyk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCAnLi4vaW1nL2Rvd24tY2FyZXQuc3ZnJyApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xNXB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xufVxuXG4vLyBSVEwgT3ZlcnJpZGVzXG4ucnRsIC5jdXN0b21lcl9jcmVhdG9yIC50b29scyBzZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDE1cHggY2VudGVyO1xufVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDEwIDVweCAxMCk7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIHVsLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIGxpIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBsaSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGNUY1RjU7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIG1hcmdpbjogMDtcbiAgICAvKnRleHQtaW5kZW50OiAtNTAwMHB4OyovXG59XG5cbi5jdXN0b21lcl9jcmVhdG9yIC50b29scyBsaSBhOmhvdmVyLCAuY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgbGkgYS5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzUwQUQ0Nztcbn1cblxuLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xzIGxpIGEubm9uZSB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8vdGV4dC1pbmRlbnQ6IC01MDAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3VzdG9tZXJfY3JlYXRvciAudG9vbHMgbGkgYS5ub25lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNzE1JztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxOTZDNkE7XG4gICAgLyp3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7Ki9cbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5hZGRfY3VzdG9tZXJfeWVhcmx5X2luY29tZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG59XG5cbi5jdXN0b21lcnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY3VzdG9tZXJzIGxpIHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAyMCAwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdXN0b21lcnMgLmFkZF9jdXN0b21lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAzcHggZGFzaGVkIHJnYmEoIzE5NkM2QSwgMC43NSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzE5NkM2QTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDIwKTtcbn1cblxuLmN1c3RvbWVycyAuYWRkX2N1c3RvbWVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1c3RvbWVycyAudG90YWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gUlRMIE92ZXJyaWRlc1xuLnJ0bCAuY3VzdG9tZXJzIC50b3RhbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jdXN0b21lcl8xIC50aHVtYm5haWwsIC5jdXN0b21lcl8xIC50b3RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdXN0b21lcl8yIC50aHVtYm5haWwuYWx3YXlzX3Nob3csIC5jdXN0b21lcl8yIC50b3RhbC5hbHdheXNfc2hvdywgLmN1c3RvbWVyXzMgLnRodW1ibmFpbC5hbHdheXNfc2hvdywgLmN1c3RvbWVyXzMgLnRvdGFsLmFsd2F5c19zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmN1c3RvbWVycyAucmVkb19jdXN0b21lciB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8vYm9yZGVyOiAzcHggZGFzaGVkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiByZ2JhKCMxOTZDNkEsIDAuNyk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG59XG5cbi8vIFJUTCBPdmVycmlkZXNcbi5ydGwgLmN1c3RvbWVycyAucmVkb19jdXN0b21lciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmN1c3RvbWVycyAucmVkb19jdXN0b21lcjpob3ZlciB7XG4gICAgLy9ib3JkZXI6IDNweCBkYXNoZWQgcmdiYSgjMTk2QzZBLCAwLjc1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLy9jb2xvcjogcmdiYSgjMTk2QzZBLCAxKTtcbiAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQgNik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cblxuLmN1c3RvbWVycyAucmVkb19jdXN0b21lci5mYWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG5cbi5jdXN0b21lcnMgLnRvdGFsIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG59XG5cbi5jdXN0b21lcnMgLnRvdGFsIHAubWVtb3JhYmxlX25hbWUge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG59XG5cbi5jdXN0b21lcnMgLnRvdGFsIHAubWVtb3JhYmxlX25hbWUsIC5jdXN0b21lcnMgLnRvdGFsIHAgc3Bhbi5jdXJyZW5jeV9zeW1ib2wsIC5jdXN0b21lcnMgLnRvdGFsIHAgc3Bhbi50b3RhbF90ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcblx0Y29sb3I6ICMxOTZDNkE7XG59XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCAuY3VzdG9tZXJfY3JlYXRvciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXM7XG59XG5cbi5jdXN0b21lcnMgLnRodW1ibmFpbCAuY3VzdG9tZXJfY3JlYXRvciAubWFpbiB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cblxuLyogMCAtIDkwMHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTYuMjUwZW0pIHtcbiAgICAuY3VzdG9tZXJfY3JlYXRvciAudG9vbF9zZWxlY3Rpb24gdWwgbGkge1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxMHB4KTtcbiAgICB9XG59XG5cbi8qIDAgLSA3MzlweCAtIFNtYWxsIE9ubHkgKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ2LjE4OGVtKSB7XG4gICAgLmN1c3RvbWVyX2NyZWF0b3IgLnRvb2xfc2VsZWN0aW9uIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMTBweCk7XG4gICAgfVxuICAgIC5jdXN0b21lcl9jcmVhdG9yIC5tYWluIHtcbiAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogOTclO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIH1cblx0XG5cdC5jdXN0b21lcnMgLnRvdGFsIHAge1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHR9XG5cdFxuXHQuY3VzdG9tZXJzIC50b3RhbCBwLm1lbW9yYWJsZV9uYW1lLCAuY3VzdG9tZXJzIC50b3RhbCBwIHNwYW4uY3VycmVuY3lfc3ltYm9sLCAuY3VzdG9tZXJzIC50b3RhbCBwIHNwYW4udG90YWxfdGV4dCB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMSk7XG5cdH1cblx0XG59XG5cbi8qIDAgLSA0NjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjI4Ljc1MGVtKSB7XG4gICAgLmN1c3RvbWVycyAudGh1bWJuYWlsIC5jdXN0b21lcl9jcmVhdG9yIHtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgIH1cblx0XG5cdC5jdXN0b21lcnMgLnJlZG9fY3VzdG9tZXIge1xuICAgIFx0d2lkdGg6IDExMHB4O1xuICAgIFx0aGVpZ2h0OiAxMTBweDtcblx0fVxufVxuXG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0cGFkZGluZy1ib3R0b206IDJyZW07XG5cdG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIC8vZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXHRcdC8vZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRmbGV4LWZsb3c6IGNvbHVtbjtcblx0XHQvL2p1c3RpZnktaXRlbXM6IHN0YXJ0O1xuXHRcdC8vYWxpZ24taXRlbXM6ZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblx0XG5cdC8vcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMDApO1xufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXMsIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuXHR3aWR0aDogNzBweDtcblx0aGVpZ2h0OiA0NHB4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2Zvcm06IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtODBweDtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR6LWluZGV4OiAyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmQzNTNmO1xuXHRib3JkZXItcmFkaXVzOiA5OTlweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cztcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXM6aG92ZXIsIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6aG92ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzJkMzUzZiwgMC43NSk7XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXByZXZpb3VzIHtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnQXJyb3coI2ZmZiwgcmlnaHQpO1xuXHRtYXJnaW4tcmlnaHQ6IDA7XG5cdGxlZnQ6IDgwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDAgOTk5cHggOTk5cHggMDtcbn0gXG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdBcnJvdygjZmZmLCBsZWZ0KTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxlZnQ6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDk5OXB4IDAgMCA5OTlweDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXMuc2xpY2stZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBzdmdBcnJvdygjY2NjLCByaWdodCk7XG5cdG9wYWNpdHk6IDAuNDtcbn0gXG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQgIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0YmFja2dyb3VuZC1pbWFnZTogc3ZnQXJyb3coI2NjYywgbGVmdCk7XG5cdG9wYWNpdHk6IDAuNDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXMuc2xpY2stZGlzYWJsZWQ6aG92ZXIsIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6aG92ZXIgIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLXNsaWRlOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyouc2xpY2stc2xpZGUgKiB7XG5cdGZsZXg6IDEwMCU7XG59Ki9cblxuXG4vLy8qIFNtYWxsICovXG4vL0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDowKSBhbmQgKG1heC13aWR0aDo3MzlweCkgeyBcbi8vXHQuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2aW91cyB7XG4vL1x0XHRsZWZ0OiA4MHB4O1xuLy9cdH0gXG4vL1xuLy9cdC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuLy9cdFx0cmlnaHQ6IDgwcHg7XG4vL1x0fVxuLy9cdFxuLy9cdC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXZpb3VzLCAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbi8vXHRcdHRvcDogLTU1cHg7XG4vL1x0XHQvL2JvdHRvbTogLTE1cHg7XG4vL1x0XHR0cmFuc2Zvcm06IG5vbmU7XG4vL1x0XHR3aWR0aDogMzZweDtcbi8vXHRcdGhlaWdodDogMzZweDtcbi8vXHRcdGJhY2tncm91bmQtc2l6ZTogMTZweDtcbi8vXHR9XG4vL31cbi8vXG4vLy8qIE1lZGl1bSAqL1xuLy9AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzQwcHgpIGFuZCAobWF4LXdpZHRoOjEwMjNweCkgeyBcbi8vXHQuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2aW91cyB7XG4vL1x0XHRsZWZ0OiAtNDBweDtcbi8vXHR9IFxuLy9cbi8vXHQuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0IHtcbi8vXHRcdHJpZ2h0OiAtNDBweDtcbi8vXHR9XG4vL1x0XG4vL1x0LnNsaWNrLXNsaWRlciAuc2xpY2stcHJldmlvdXMsIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuLy9cdFx0d2lkdGg6IDM2cHg7XG4vL1x0XHRoZWlnaHQ6IDM2cHg7XG4vL1x0XHRiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG4vL1x0fVxuLy99XG4vL1xuLy8vKiBMYXJnZSAqL1xuLy9AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNHB4KSB7IFxuLy9cdC5zbGljay1zbGlkZXIgLnNsaWNrLXByZXZpb3VzIHtcbi8vXHRcdGxlZnQ6IC03MHB4O1xuLy9cdH0gXG4vL1xuLy9cdC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQge1xuLy9cdFx0cmlnaHQ6IC03MHB4O1xuLy9cdH1cbi8vfSIsIkBpbXBvcnQgXCJjaGFydGlzdC1zZXR0aW5nc1wiO1xuXG5AbWl4aW4gY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCR3aWR0aDogMTAwJSwgJHJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkd2lkdGg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkcmF0aW8gKiAxMDAlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gID4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuQG1peGluIGN0LWFsaWduLWp1c3RpZnkoJGN0LXRleHQtYWxpZ246ICRjdC10ZXh0LWFsaWduLCAkY3QtdGV4dC1qdXN0aWZ5OiAkY3QtdGV4dC1qdXN0aWZ5KSB7XG4gIC13ZWJraXQtYm94LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGN0LXRleHQtYWxpZ247XG4gIC1tcy1mbGV4LWFsaWduOiAkY3QtdGV4dC1hbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtd2Via2l0LWJveC1wYWNrOiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAganVzdGlmeS1jb250ZW50OiAkY3QtdGV4dC1qdXN0aWZ5O1xuICAvLyBGYWxsYmFjayB0byB0ZXh0LWFsaWduIGZvciBub24tZmxleCBicm93c2Vyc1xuICBAaWYoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1zdGFydCcpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9IEBlbHNlIGlmICgkY3QtdGV4dC1qdXN0aWZ5ID09ICdmbGV4LWVuZCcpIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBtaXhpbiBjdC1mbGV4KCkge1xuICAvLyBGYWxsYmFjayB0byBibG9ja1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtdGV4dC1saW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQpIHtcbiAgZmlsbDogJGN0LXRleHQtY29sb3I7XG4gIGNvbG9yOiAkY3QtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAkY3QtdGV4dC1zaXplO1xuICBsaW5lLWhlaWdodDogJGN0LXRleHQtbGluZS1oZWlnaHQ7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1ncmlkKCRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSkge1xuICBzdHJva2U6ICRjdC1ncmlkLWNvbG9yO1xuICBzdHJva2Utd2lkdGg6ICRjdC1ncmlkLXdpZHRoO1xuXG4gIEBpZiAoJGN0LWdyaWQtZGFzaGFycmF5KSB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJGN0LWdyaWQtZGFzaGFycmF5O1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydC1wb2ludCgkY3QtcG9pbnQtc2l6ZTogJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZTogJGN0LXBvaW50LXNoYXBlKSB7XG4gIHN0cm9rZS13aWR0aDogJGN0LXBvaW50LXNpemU7XG4gIHN0cm9rZS1saW5lY2FwOiAkY3QtcG9pbnQtc2hhcGU7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWxpbmUtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtbGluZS13aWR0aDtcblxuICBAaWYgKCRjdC1saW5lLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1saW5lLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtYXJlYSgkY3QtYXJlYS1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5KSB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbC1vcGFjaXR5OiAkY3QtYXJlYS1vcGFjaXR5O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGg6ICRjdC1iYXItd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtYmFyLXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgpIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZG9udXQtd2lkdGg7XG59XG5cbkBtaXhpbiBjdC1jaGFydC1zZXJpZXMtY29sb3IoJGNvbG9yKSB7XG4gIC4jeyRjdC1jbGFzcy1wb2ludH0sIC4jeyRjdC1jbGFzcy1saW5lfSwgLiN7JGN0LWNsYXNzLWJhcn0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIHN0cm9rZTogJGNvbG9yO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLXBpZX0sIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dC1zb2xpZH0sIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgZmlsbDogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBjdC1jaGFydCgkY3QtY29udGFpbmVyLXJhdGlvOiAkY3QtY29udGFpbmVyLXJhdGlvLCAkY3QtdGV4dC1jb2xvcjogJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemU6ICRjdC10ZXh0LXNpemUsICRjdC1ncmlkLWNvbG9yOiAkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGg6ICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheSwgJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSwgJGN0LWxpbmUtd2lkdGg6ICRjdC1saW5lLXdpZHRoLCAkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoLCAkY3QtZG9udXQtd2lkdGg6ICRjdC1kb251dC13aWR0aCwgJGN0LXNlcmllcy1uYW1lczogJGN0LXNlcmllcy1uYW1lcywgJGN0LXNlcmllcy1jb2xvcnM6ICRjdC1zZXJpZXMtY29sb3JzKSB7XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtbGFiZWwoJGN0LXRleHQtY29sb3IsICRjdC10ZXh0LXNpemUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWxpbmV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWZsZXgoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1waWV9IC4jeyRjdC1jbGFzcy1sYWJlbH0sXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1kb251dH0gLiN7JGN0LWNsYXNzLWxhYmVsfSB7XG4gICAgZG9taW5hbnQtYmFzZWxpbmU6IGNlbnRyYWw7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LWVuZCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGNlbnRlcik7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LXN0YXJ0LCBjZW50ZXIpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICAvL0BpbmNsdWRlIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplLCBjZW50ZXIsICRjdC12ZXJ0aWNhbC10ZXh0LWp1c3RpZnkpO1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoY2VudGVyLCBmbGV4LWVuZCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoY2VudGVyLCBmbGV4LXN0YXJ0KTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IGVuZDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1ncmlkfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtZ3JpZCgkY3QtZ3JpZC1jb2xvciwgJGN0LWdyaWQtd2lkdGgsICRjdC1ncmlkLWRhc2hhcnJheSk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtZ3JpZC1iYWNrZ3JvdW5kfSB7XG4gICAgZmlsbDogJGN0LWdyaWQtYmFja2dyb3VuZC1maWxsO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXBvaW50fSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtcG9pbnQoJGN0LXBvaW50LXNpemUsICRjdC1wb2ludC1zaGFwZSk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGluZX0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWxpbmUoJGN0LWxpbmUtd2lkdGgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWFyZWF9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1hcmVhKCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtYmFyfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYmFyKCRjdC1iYXItd2lkdGgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLXNsaWNlLWRvbnV0fSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtZG9udXQoJGN0LWRvbnV0LXdpZHRoKTtcbiAgfVxuXG4gIEBpZiAkY3QtaW5jbHVkZS1jb2xvcmVkLXNlcmllcyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zZXJpZXMtbmFtZXMpIHtcbiAgICAgIC4jeyRjdC1jbGFzcy1zZXJpZXN9LSN7bnRoKCRjdC1zZXJpZXMtbmFtZXMsICRpICsgMSl9IHtcbiAgICAgICAgJGNvbG9yOiBudGgoJGN0LXNlcmllcy1jb2xvcnMsICRpICsgMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgY3QtY2hhcnQtc2VyaWVzLWNvbG9yKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpZiAkY3QtaW5jbHVkZS1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgY3QtY2hhcnQoKTtcblxuICBAaWYgJGN0LWluY2x1ZGUtYWx0ZXJuYXRpdmUtcmVzcG9uc2l2ZS1jb250YWluZXJzIHtcbiAgICBAZm9yICRpIGZyb20gMCB0byBsZW5ndGgoJGN0LXNjYWxlcy1uYW1lcykge1xuICAgICAgLiN7bnRoKCRjdC1zY2FsZXMtbmFtZXMsICRpICsgMSl9IHtcbiAgICAgICAgQGluY2x1ZGUgY3QtcmVzcG9uc2l2ZS1zdmctY29udGFpbmVyKCRyYXRpbzogbnRoKCRjdC1zY2FsZXMsICRpICsgMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY3QtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1zaGFkb3c6ICNmZmYgLTFweCAtMXB4IDFweCwgI2ZmZiAxcHggMXB4IDFweCwgI2ZmZiAtMXB4IDFweCAxcHgsICNmZmYgMXB4IC0xcHggMXB4O1xufVxuXG4vKiAwIC0gNjM5cHggLSBTbWFsbCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjM5cHgpIHtcbiAgICAuY3QtbGFiZWwge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1zaGFkb3c6ICMwMDAgLTFweCAtMXB4IDFweCwgIzAwMCAxcHggMXB4IDFweCwgIzAwMCAtMXB4IDFweCAxcHgsICMwMDAgMXB4IC0xcHggMXB4O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxufSIsIi8vIFNjYWxlcyBmb3IgcmVzcG9uc2l2ZSBTVkcgY29udGFpbmVyc1xuJGN0LXNjYWxlczogKCgxKSwgKDE1LzE2KSwgKDgvOSksICg1LzYpLCAoNC81KSwgKDMvNCksICgyLzMpLCAoNS84KSwgKDEvMS42MTgpLCAoMy81KSwgKDkvMTYpLCAoOC8xNSksICgxLzIpLCAoMi81KSwgKDMvOCksICgxLzMpLCAoMS80KSkgIWRlZmF1bHQ7XG4kY3Qtc2NhbGVzLW5hbWVzOiAoY3Qtc3F1YXJlLCBjdC1taW5vci1zZWNvbmQsIGN0LW1ham9yLXNlY29uZCwgY3QtbWlub3ItdGhpcmQsIGN0LW1ham9yLXRoaXJkLCBjdC1wZXJmZWN0LWZvdXJ0aCwgY3QtcGVyZmVjdC1maWZ0aCwgY3QtbWlub3Itc2l4dGgsIGN0LWdvbGRlbi1zZWN0aW9uLCBjdC1tYWpvci1zaXh0aCwgY3QtbWlub3Itc2V2ZW50aCwgY3QtbWFqb3Itc2V2ZW50aCwgY3Qtb2N0YXZlLCBjdC1tYWpvci10ZW50aCwgY3QtbWFqb3ItZWxldmVudGgsIGN0LW1ham9yLXR3ZWxmdGgsIGN0LWRvdWJsZS1vY3RhdmUpICFkZWZhdWx0O1xuXG4vLyBDbGFzcyBuYW1lcyB0byBiZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBDU1NcbiRjdC1jbGFzcy1jaGFydDogY3QtY2hhcnQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtbGluZTogY3QtY2hhcnQtbGluZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1iYXI6IGN0LWNoYXJ0LWJhciAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnM6IGN0LWhvcml6b250YWwtYmFycyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1waWU6IGN0LWNoYXJ0LXBpZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1kb251dDogY3QtY2hhcnQtZG9udXQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtbGFiZWw6IGN0LWxhYmVsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNlcmllczogY3Qtc2VyaWVzICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxpbmU6IGN0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtcG9pbnQ6IGN0LXBvaW50ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWFyZWE6IGN0LWFyZWEgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtYmFyOiBjdC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtcGllOiBjdC1zbGljZS1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtZG9udXQ6IGN0LXNsaWNlLWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0LXNvbGlkOiBjdC1zbGljZS1kb251dC1zb2xpZCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkOiBjdC1ncmlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLWdyaWQtYmFja2dyb3VuZDogY3QtZ3JpZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGN0LWNsYXNzLXZlcnRpY2FsOiBjdC12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsOiBjdC1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXN0YXJ0OiBjdC1zdGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1lbmQ6IGN0LWVuZCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHJhdGlvXG4kY3QtY29udGFpbmVyLXJhdGlvOiAoMS8xLjYxOCkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgc3R5bGVzIGZvciBsYWJlbHNcbiRjdC10ZXh0LWNvbG9yOiByZ2JhKDgwLCA4MCwgODAsIDEpICFkZWZhdWx0O1xuJGN0LXRleHQtc2l6ZTogMS4xcmVtICFkZWZhdWx0O1xuJGN0LXRleHQtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kY3QtdGV4dC1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtbGluZS1oZWlnaHQ6IDE7XG5cbi8vIEdyaWQgc3R5bGVzXG4kY3QtZ3JpZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpICFkZWZhdWx0O1xuJGN0LWdyaWQtZGFzaGFycmF5OiAycHggIWRlZmF1bHQ7XG4kY3QtZ3JpZC13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtYmFja2dyb3VuZC1maWxsOiBub25lICFkZWZhdWx0O1xuXG4vLyBMaW5lIGNoYXJ0IHByb3BlcnRpZXNcbiRjdC1saW5lLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kY3QtbGluZS1kYXNoYXJyYXk6IGZhbHNlICFkZWZhdWx0O1xuJGN0LXBvaW50LXNpemU6IDEwcHggIWRlZmF1bHQ7XG4vLyBMaW5lIGNoYXJ0IHBvaW50LCBjYW4gYmUgZWl0aGVyIHJvdW5kIG9yIHNxdWFyZVxuJGN0LXBvaW50LXNoYXBlOiByb3VuZCAhZGVmYXVsdDtcbi8vIEFyZWEgZmlsbCB0cmFuc3BhcmVuY3kgYmV0d2VlbiAwIGFuZCAxXG4kY3QtYXJlYS1vcGFjaXR5OiAwLjEgIWRlZmF1bHQ7XG5cbi8vIEJhciBjaGFydCBiYXIgd2lkdGhcbiRjdC1iYXItd2lkdGg6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIERvbnV0IHdpZHRoIChJZiBkb251dCB3aWR0aCBpcyB0byBiaWcgaXQgY2FuIGNhdXNlIGlzc3VlcyB3aGVyZSB0aGUgc2hhcGUgZ2V0cyBkaXN0b3J0ZWQpXG4kY3QtZG9udXQtd2lkdGg6IDYwcHggIWRlZmF1bHQ7XG5cbi8vIElmIHNldCB0byB0cnVlIGl0IHdpbGwgaW5jbHVkZSB0aGUgZGVmYXVsdCBjbGFzc2VzIGFuZCBnZW5lcmF0ZSBDU1Mgb3V0cHV0LiBJZiB5b3UncmUgcGxhbm5pbmcgdG8gdXNlIHRoZSBtaXhpbnMgeW91XG4vLyBzaG91bGQgc2V0IHRoaXMgcHJvcGVydHkgdG8gZmFsc2VcbiRjdC1pbmNsdWRlLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlIENTUyB3aWxsIGNvbnRhaW4gY29sb3JlZCBzZXJpZXMuIFlvdSBjYW4gZXh0ZW5kIG9yIGNoYW5nZSB0aGUgY29sb3Igd2l0aCB0aGVcbi8vIHByb3BlcnRpZXMgYmVsb3dcbiRjdC1pbmNsdWRlLWNvbG9yZWQtc2VyaWVzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSB0aGlzIHdpbGwgaW5jbHVkZSBhbGwgcmVzcG9uc2l2ZSBjb250YWluZXIgdmFyaWF0aW9ucyB1c2luZyB0aGUgc2NhbGVzIGRlZmluZWQgYXQgdGhlIHRvcCBvZiB0aGUgc2NyaXB0XG4kY3QtaW5jbHVkZS1hbHRlcm5hdGl2ZS1yZXNwb25zaXZlLWNvbnRhaW5lcnM6ICRjdC1pbmNsdWRlLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFNlcmllcyBuYW1lcyBhbmQgY29sb3JzLiBUaGlzIGNhbiBiZSBleHRlbmRlZCBvciBjdXN0b21pemVkIGFzIGRlc2lyZWQuIEp1c3QgYWRkIG1vcmUgc2VyaWVzIGFuZCBjb2xvcnMuXG4vLyRjdC1zZXJpZXMtbmFtZXM6IChhLCBiLCBjLCBkLCBlLCBmLCBnLCBoLCBpLCBqLCBrLCBsLCBtLCBuLCBvKSAhZGVmYXVsdDtcbiRjdC1zZXJpZXMtbmFtZXM6IChhLCBiLCBjLCBkLCBlLCBmKSAhZGVmYXVsdDtcbiRjdC1zZXJpZXMtY29sb3JzOiAoXG4gICAgLy8jNzdjOTYyLCAjMDA1YzU5LCAjMjA2M2Q2LCAjMDQzOWE1LCAjYWI2MmM5LCAjOTYyOWFkXG4gICM5NjI5YWQsXG4gICNhYjYyYzksXG4gICM3N2M5NjIsXG4gICMwMDVjNTksXG4gICMyMDYzZDYsXG4gICMwNDM5YTVcbikgIWRlZmF1bHQ7IiwiLyogUFJJTlQgQ1NTIC8gT1ZFUlJJREVTICovXG5cbkBwYWdlIHtcbiAgICBzaXplOiBBNDtcbiAgICBtYXJnaW46IDA7XG59XG5AbWVkaWEgcHJpbnQge1xuICAgIGh0bWwsIGJvZHkge1xuICAgICAgICB3aWR0aDogMjEwbW07XG4gICAgICAgIGhlaWdodDogMjk3bW07XG4gICAgfVxuICAgIGh0bWwge1xuICAgICAgICAvL3BhZGRpbmc6IDVtbTtcbiAgICAgICAgcGFkZGluZzogNW1tO1xuICAgIH1cbiAgICBcbiAgICBib2R5ID4gLnJvdy5leHBhbmRlZCwgI2J1c2luZXNzX3BsYW5fdG9kb3NfZXRjX21lbnUsIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmdvLXRvLWJ1dHRvbiwgLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAubmF2LWJ1dHRvbnMsIC5wcmludC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAjYnVzaW5lc3NfcGxhbiAub3V0ZXItcHJpbnQtZnVsbC13aWR0aCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGFydGljbGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLnJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuY29sdW1ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGFydGljbGUgPiAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gaDEge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDIycHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHQ7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gaDQge1xuICAgICAgICBmb250LXNpemU6IDExcHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRwdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuY2FsZW5kYXIgaDMge1xuICAgICAgICBmb250LXNpemU6IDExcHQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyID4gbGkge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhci5sYXJnZS11cC00ID4gLmNvbHVtbixcbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhci5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sXG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuY2FsZW5kYXIuc21hbGwtdXAtMiA+IC5jb2x1bW4ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5jYWxlbmRhciB1bC5uZXN0ZWQubWVudSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHQ7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLmNhbGVuZGFyIC5jYWxlbmRhcl9lbnRyeSBhIHtcbiAgICAgICAgcGFkZGluZzogMnB0IDRwdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiB1bC5rZXlsaXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHQ7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gdWwua2V5bGlzdCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMHB0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcbiAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiB1bC5rZXlsaXN0IGxpOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB0O1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5zZWN0aW9uX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBwdDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB0O1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC5idXNpbmVzc19wbGFuX3NlY3Rpb24gLnNlY3Rpb25fdGl0bGUgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZwdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuc2VjdGlvbl90aXRsZSBzcGFuIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmJ1c2luZXNzX3BsYW5fc2VjdGlvbiA+IC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuYnVzaW5lc3NfcGxhbl9zZWN0aW9uIC5hY2NvcmRpb24tY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB0IDAgMCAxMHB0O1xuICAgIH1cbiAgICBcbiAgICAvKlxuICAgICAqIDFCXG4gICAgICovXG4gICAgI2J1c2luZXNzX3BsYW4gLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuaW5zaWRlX291dHNpZGVfcmVsYXRpb25zaGlwc19zdGFja2VkIC5wZW9wbGUgbGkgc3Bhbi5zdGF0aWNfcGVvcGxlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogNHB0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJwdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmluc2lkZV9vdXRzaWRlX3JlbGF0aW9uc2hpcHNfc3RhY2tlZCAucGVvcGxlIGxpIC5wZXJzb25fbmFtZSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLm5lc3RlZC5tZW51LnBlb3BsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gI2FkZF9hX3BlcnNvbl9vdGhlcnNfcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM2cHQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLypcbiAgICAgKiAyQVxuICAgICAqL1xuICAgICNidXNpbmVzc19wbGFuIC5hY2NvcmRpb24tY29udGVudC5jb250ZW50LTJhIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICAvKlxuICAgICAqIDJCXG4gICAgICovXG4gICAgI2J1c2luZXNzX3BsYW4gI3dlZWtseV90YWJfcGFuZWwudGFicy1wYW5lbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiX3BhbmVsLnRhYnMtcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gI21vbnRobHktd2Vla2x5LWhvdXJzLXRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAjbW9udGhseS13ZWVrbHktaG91cnMtdGFicyAudGFicy10aXRsZSA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRoLCAjYnVzaW5lc3NfcGxhbiAubW9udGhseS13ZWVrbHktdGFibGVzIHRhYmxlIHRkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB0O1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAuY3Qtc3F1YXJlIHtcbiAgICAgICAgd2lkdGg6IDI1NnB0O1xuICAgIH1cbiAgICBcbiAgICAvKlxuICAgICAqIDJDXG4gICAgICovXG4gICAgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3Qge1xuICAgICAgICBcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkuY2F0ZWdvcnkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IGxpLmlkZWEsICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IGxpLnByb2R1Y3Rpb24sICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IGxpLm1hcmtldGluZywgI2J1c2luZXNzX3BsYW4gLnRhc2tzX2NhdGVnb3J5X2xpc3QgbGkubWFuYWdlbWVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IHVsLm1lbnUubmVzdGVkICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuIC50YXNrc19jYXRlZ29yeV9saXN0IHVsIGxpICB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gICAgXG4gICAgLypcbiAgICAgKiAzQlxuICAgICAqL1xuICAgICNidXNpbmVzc19wbGFuIC5hY2NvcmRpb24tY29udGVudC5jb250ZW50LTNiIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLnNlbGVjdGVkX3dvcmRzX2xpc3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLnNlbGVjdGVkX3dvcmRzX2xpc3QgbGkge1xuICAgICAgICBwYWRkaW5nOiAycHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICBcbiAgICAvKlxuICAgICAqIDNDXG4gICAgICovXG4gICAgI2J1c2luZXNzX3BsYW4gLmFjY29yZGlvbi1jb250ZW50LmNvbnRlbnQtM2Mge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAua2V5X2Jsb2NrLnBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jayBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB0O1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAua2V5X2Jsb2NrIGg0LCAjYnVzaW5lc3NfcGxhbiAua2V5X2Jsb2NrIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBwdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gLmtleV9ibG9jayBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC8qXG4gICAgICogNGFcbiAgICAgKi9cbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYi50YWJzLXBhbmVsLCAjYnVzaW5lc3NfcGxhbiAjbW9udGhseV90YWIudGFicy1wYW5lbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAjb3ZlcmhlYWRzLXRhYmxlcy10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gI292ZXJoZWFkcy10YWJsZXMtdGFicyAudGFicy10aXRsZSA+IGE6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0ciB0ZDpudGgtY2hpbGQoMSksICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0ciB0ZDpudGgtY2hpbGQoMiksICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgICNidXNpbmVzc19wbGFuICNhbm51YWxfdGFiIHRhYmxlIHRkIGlucHV0LCAjYnVzaW5lc3NfcGxhbiAjbW9udGhseV90YWIgdGFibGUgdGQgaW5wdXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0ZCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRkIGxhYmVsLCBcbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0aCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRoIGxhYmVsLCBcbiAgICAjYnVzaW5lc3NfcGxhbiAjYW5udWFsX3RhYiB0YWJsZSB0aCBzcGFuLCAjYnVzaW5lc3NfcGxhbiAjbW9udGhseV90YWIgdGFibGUgdGggc3BhbiwgXG4gICAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGQgaW5wdXQsICNidXNpbmVzc19wbGFuICNtb250aGx5X3RhYiB0YWJsZSB0ZCBpbnB1dCwgXG4gICAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGggLmN1cnJlbmN5X3N5bWJvbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRoIC5jdXJyZW5jeV9zeW1ib2wsXG4gICAgI2J1c2luZXNzX3BsYW4gI2FubnVhbF90YWIgdGFibGUgdGQgLmN1cnJlbmN5X3N5bWJvbCwgI2J1c2luZXNzX3BsYW4gI21vbnRobHlfdGFiIHRhYmxlIHRkIC5jdXJyZW5jeV9zeW1ib2wge1xuICAgICAgICBmb250LXNpemU6IDlwdDtcbiAgICB9XG4gICAgI2J1c2luZXNzX3BsYW4gI3M0X2FfcGVyc29uYWxfc2FsYXJ5X2Zvcm0gdGFibGUgdGQgbGFiZWwsICNidXNpbmVzc19wbGFuICNzNF9hX3BlcnNvbmFsX3NhbGFyeV9mb3JtIHRhYmxlIHRkIGlucHV0LCAjYnVzaW5lc3NfcGxhbiAjczRfYV9wZXJzb25hbF9zYWxhcnlfZm9ybSB0YWJsZSB0aCBsYWJlbCwgI2J1c2luZXNzX3BsYW4gI3M0X2FfcGVyc29uYWxfc2FsYXJ5X2Zvcm0gdGFibGUgdGQgc3BhbiwgI2J1c2luZXNzX3BsYW4gI3M0X2FfcGVyc29uYWxfc2FsYXJ5X2Zvcm0gdGFibGUgdGggc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB0O1xuICAgIH1cbiAgICBcbiAgICAvKlxuICAgICAqIDVhXG4gICAgICovXG4gICAgI2J1c2luZXNzX3BsYW4gLnNlY3Rpb25fNSB7XG4gICAgICAgIHAsIGgzLCBoNCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAua2V5X2Jsb2NrIHAsIC5rZXlfYmxvY2sgaDMsIC5rZXlfYmxvY2sgaDQsIC5rZXlfYmxvY2sgdWwgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1iYWRnZSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLypcbiAgICAgKiA1YlxuICAgICAqL1xuICAgIFxuICAgIC8qXG4gICAgICogNWNcbiAgICAgKi9cbiAgICBcbiAgICAjYnVzaW5lc3NfcGxhbl9zdXN0YWluYWJpbGl0eV9tYXAge1xuICAgICAgICAucm93IC5jb2x1bW5zIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgI2J1c2luZXNzX3BsYW4gI3N1c3RhaW5hYmlsaXR5X21hcF9nZW5lcmF0ZWRfY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgICNidXNpbmVzc19wbGFuIC56b29tLWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgI2J1c2luZXNzX3BsYW4gLnN1c3RhaW5hYmlsaXR5LW1hcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxuICAgICAgICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1tYXAtY29udGFpbmVyIC5zY3JvbGwtc3RyaXAtLWxlZnQsIFxuICAgICAgICAuc3VzdGFpbmFiaWxpdHktbWFwLWNvbnRhaW5lciAuc2Nyb2xsLXN0cmlwLS1yaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbGVmdDogLTUwMDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5zdXN0YWluYWJpbGl0eS1tYXAtLW1haW4tc2VnbWVudCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogYXV0bztcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNzdXN0YWluYWJpbGl0eV9tYXBfZ2VuZXJhdGVkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI21hcF9zY3JvbGxfMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTRwdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59Il19 */
