@charset "UTF-8";
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap");
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

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

body {
  margin: 0; }

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

hr {
  -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: none;
  text-decoration: underline;
  -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; }

select option {
    color: #000 !important;
}

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

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=80em&xxlarge=100em"; }

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: #FFFFFF;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.5;
  color: #151515;
  -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: 4px; }

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

.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: 4px;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

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

[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 #cacaca;
  border-radius: 4px;
  background-color: #FFFFFF;
  -webkit-box-shadow: inset 0 1px 2px rgba(21, 21, 21, 0.1);
          box-shadow: inset 0 1px 2px rgba(21, 21, 21, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #151515;
  -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 #888888;
    background-color: #FFFFFF;
    -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: 4px; }

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: #151515; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 4px 0 0 4px; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 4px 4px 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: #151515;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 4px;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #151515;
  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%28136, 136, 136%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 #888888;
    background-color: #FFFFFF;
    -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: #DA1B4B;
  background-color: #fbe8ed; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #DA1B4B; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #DA1B4B; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #DA1B4B; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #DA1B4B; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #DA1B4B; }

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

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

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  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: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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

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

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

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

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

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

abbr, abbr[title] {
  border-bottom: 1px dotted #151515;
  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: #151515;
  border-radius: 4px; }

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

.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-block, cite {
  display: block;
  color: #888888;
  font-size: 0.8125rem; }
  .cite-block:before, cite:before {
    content: "— "; }

.code-inline, code {
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #151515;
  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: #151515;
  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: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

@media print {
  * {
    background: transparent !important;
    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 #888888;
    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; } }

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

.grid-x {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 1em 2.6em;
  border: 2px solid transparent;
  border-radius: 4px;
  -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.875rem;
  font-weight: 600;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.small {
    font-size: 0.625rem; }
  .button.medium {
    font-size: 0.75rem; }
  .button.large {
    font-size: 0.875rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .button.small-only-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 40em) 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: 40em) {
    .button.medium-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) and (max-width: 79.99875em) {
    .button.large-only-expanded {
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; } }
  @media print, screen and (max-width: 79.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: #151515;
    color: #FFFFFF; }
  .button:hover, .button:focus {
    background-color: #383838;
    color: #FFFFFF; }
  .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: #040405;
    color: #FFFFFF; }
  .button.primary:hover, .button.primary:focus {
    background-color: #31313d;
    color: #FFFFFF; }
  .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: #FFFFFF;
    color: #151515; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: white;
    color: #151515; }
  .button.tertiary, .button.tertiary.disabled, .button.tertiary[disabled], .button.tertiary.disabled:hover, .button.tertiary[disabled]:hover, .button.tertiary.disabled:focus, .button.tertiary[disabled]:focus {
    background-color: #1ce783;
    color: #151515; }
  .button.tertiary:hover, .button.tertiary:focus {
    background-color: #49ec9c;
    color: #151515; }
  .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: #176EE1;
    color: #FFFFFF; }
  .button.success:hover, .button.success:focus {
    background-color: #418aec;
    color: #FFFFFF; }
  .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: #FAAC11;
    color: #151515; }
  .button.warning:hover, .button.warning:focus {
    background-color: #fbbd41;
    color: #151515; }
  .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: #DA1B4B;
    color: #FFFFFF; }
  .button.alert:hover, .button.alert:focus {
    background-color: #e8426c;
    color: #FFFFFF; }
  .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: 1px solid #151515;
    color: #151515; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #0b0b0b;
    color: #0b0b0b; }
  .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: 1px solid #040405;
    color: #040405; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #020203;
    color: #020203; }
  .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: 1px solid #FFFFFF;
    color: #FFFFFF; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: gray;
    color: gray; }
  .button.hollow.tertiary, .button.hollow.tertiary.disabled, .button.hollow.tertiary[disabled], .button.hollow.tertiary.disabled:hover, .button.hollow.tertiary[disabled]:hover, .button.hollow.tertiary.disabled:focus, .button.hollow.tertiary[disabled]:focus {
    border: 1px solid #1ce783;
    color: #1ce783; }
  .button.hollow.tertiary:hover, .button.hollow.tertiary:focus {
    border-color: #0c7542;
    color: #0c7542; }
  .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: 1px solid #176EE1;
    color: #176EE1; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #0c3771;
    color: #0c3771; }
  .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: 1px solid #FAAC11;
    color: #FAAC11; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #835803;
    color: #835803; }
  .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: 1px solid #DA1B4B;
    color: #DA1B4B; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #6d0e26;
    color: #6d0e26; }
  .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: #151515; }
  .button.clear:hover, .button.clear:focus {
    color: #0b0b0b; }
  .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: #040405; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #020203; }
  .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: #FFFFFF; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: gray; }
  .button.clear.tertiary, .button.clear.tertiary.disabled, .button.clear.tertiary[disabled], .button.clear.tertiary.disabled:hover, .button.clear.tertiary[disabled]:hover, .button.clear.tertiary.disabled:focus, .button.clear.tertiary[disabled]:focus {
    color: #1ce783; }
  .button.clear.tertiary:hover, .button.clear.tertiary:focus {
    color: #0c7542; }
  .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: #176EE1; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #0c3771; }
  .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: #FAAC11; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #835803; }
  .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: #DA1B4B; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #6d0e26; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #FFFFFF transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 2.6em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #151515; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #040405; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #FFFFFF; }
  .button.dropdown.hollow.tertiary::after, .button.dropdown.clear.tertiary::after {
    border-top-color: #1ce783; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #176EE1; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #FAAC11; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #DA1B4B; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -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.875rem;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.small .button {
    font-size: 0.625rem; }
  .button-group.medium .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 0.875rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    margin-right: 0; }
  .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: #040405;
    color: #FFFFFF; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #31313d;
    color: #FFFFFF; }
  .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: #FFFFFF;
    color: #151515; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: white;
    color: #151515; }
  .button-group.tertiary .button, .button-group.tertiary .button.disabled, .button-group.tertiary .button[disabled], .button-group.tertiary .button.disabled:hover, .button-group.tertiary .button[disabled]:hover, .button-group.tertiary .button.disabled:focus, .button-group.tertiary .button[disabled]:focus {
    background-color: #1ce783;
    color: #151515; }
  .button-group.tertiary .button:hover, .button-group.tertiary .button:focus {
    background-color: #49ec9c;
    color: #151515; }
  .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: #176EE1;
    color: #FFFFFF; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #418aec;
    color: #FFFFFF; }
  .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: #FAAC11;
    color: #151515; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #fbbd41;
    color: #151515; }
  .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: #DA1B4B;
    color: #FFFFFF; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #e8426c;
    color: #FFFFFF; }
  .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: 1px solid #151515;
    color: #151515; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #0b0b0b;
    color: #0b0b0b; }
  .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: 1px solid #040405;
    color: #040405; }
  .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: #020203;
    color: #020203; }
  .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: 1px solid #FFFFFF;
    color: #FFFFFF; }
  .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: gray;
    color: gray; }
  .button-group.hollow.tertiary .button, .button-group.hollow.tertiary .button.disabled, .button-group.hollow.tertiary .button[disabled], .button-group.hollow.tertiary .button.disabled:hover, .button-group.hollow.tertiary .button[disabled]:hover, .button-group.hollow.tertiary .button.disabled:focus, .button-group.hollow.tertiary .button[disabled]:focus, .button-group.hollow .button.tertiary, .button-group.hollow .button.tertiary.disabled, .button-group.hollow .button.tertiary[disabled], .button-group.hollow .button.tertiary.disabled:hover, .button-group.hollow .button.tertiary[disabled]:hover, .button-group.hollow .button.tertiary.disabled:focus, .button-group.hollow .button.tertiary[disabled]:focus {
    border: 1px solid #1ce783;
    color: #1ce783; }
  .button-group.hollow.tertiary .button:hover, .button-group.hollow.tertiary .button:focus, .button-group.hollow .button.tertiary:hover, .button-group.hollow .button.tertiary:focus {
    border-color: #0c7542;
    color: #0c7542; }
  .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: 1px solid #176EE1;
    color: #176EE1; }
  .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: #0c3771;
    color: #0c3771; }
  .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: 1px solid #FAAC11;
    color: #FAAC11; }
  .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: #835803;
    color: #835803; }
  .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: 1px solid #DA1B4B;
    color: #DA1B4B; }
  .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: #6d0e26;
    color: #6d0e26; }
  .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: #151515; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #0b0b0b; }
  .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: #040405; }
  .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: #020203; }
  .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: #FFFFFF; }
  .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: gray; }
  .button-group.clear.tertiary .button, .button-group.clear.tertiary .button.disabled, .button-group.clear.tertiary .button[disabled], .button-group.clear.tertiary .button.disabled:hover, .button-group.clear.tertiary .button[disabled]:hover, .button-group.clear.tertiary .button.disabled:focus, .button-group.clear.tertiary .button[disabled]:focus, .button-group.clear .button.tertiary, .button-group.clear .button.tertiary.disabled, .button-group.clear .button.tertiary[disabled], .button-group.clear .button.tertiary.disabled:hover, .button-group.clear .button.tertiary[disabled]:hover, .button-group.clear .button.tertiary.disabled:focus, .button-group.clear .button.tertiary[disabled]:focus {
    color: #1ce783; }
  .button-group.clear.tertiary .button:hover, .button-group.clear.tertiary .button:focus, .button-group.clear .button.tertiary:hover, .button-group.clear .button.tertiary:focus {
    color: #0c7542; }
  .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: #176EE1; }
  .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: #0c3771; }
  .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: #FAAC11; }
  .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: #835803; }
  .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: #DA1B4B; }
  .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: #6d0e26; }
  .button-group.no-gaps .button {
    margin-right: -0.0625rem; }
    .button-group.no-gaps .button + .button {
      border-left-color: transparent; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-right: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-box-flex: 0;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media 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; } }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #040405;
  color: #FFFFFF; }
  .label.primary {
    background: #040405;
    color: #FFFFFF; }
  .label.secondary {
    background: #FFFFFF;
    color: #151515; }
  .label.tertiary {
    background: #1ce783;
    color: #151515; }
  .label.success {
    background: #176EE1;
    color: #FFFFFF; }
  .label.warning {
    background: #FAAC11;
    color: #151515; }
  .label.alert {
    background: #DA1B4B;
    color: #FFFFFF; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #040405; }
  .progress.secondary .progress-meter {
    background-color: #FFFFFF; }
  .progress.tertiary .progress-meter {
    background-color: #1ce783; }
  .progress.success .progress-meter {
    background-color: #176EE1; }
  .progress.warning .progress-meter {
    background-color: #FAAC11; }
  .progress.alert .progress-meter {
    background-color: #DA1B4B; }

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

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

.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%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 4px;
  background-color: #040405;
  -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: #030304; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear; }

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

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

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 4px;
  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: 4px;
    background: #FFFFFF;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #040405; }
    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%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

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

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

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

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

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #040405;
  color: #FFFFFF; }
  .badge.primary {
    background: #040405;
    color: #FFFFFF; }
  .badge.secondary {
    background: #FFFFFF;
    color: #151515; }
  .badge.tertiary {
    background: #1ce783;
    color: #151515; }
  .badge.success {
    background: #176EE1;
    color: #FFFFFF; }
  .badge.warning {
    background: #FAAC11;
    color: #151515; }
  .badge.alert {
    background: #DA1B4B;
    color: #FFFFFF; }

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

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

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

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

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

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

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

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

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

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

.pagination-previous a::before,
.pagination-previous.disabled::before {
  display: inline-block;
  margin-right: 0.5rem;
  content: "«"; }

.pagination-next a::after,
.pagination-next.disabled::after {
  display: inline-block;
  margin-left: 0.5rem;
  content: "»"; }

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

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

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

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

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

.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: #040405; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 4px 4px; }
  .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: #FFFFFF;
  color: #151515; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(21, 21, 21, 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: #888888; }
    .orbit-bullets button.is-active {
      background-color: #888888; }

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

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

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

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

.tabs.primary {
  background: #040405; }
  .tabs.primary > li > a {
    color: #FFFFFF; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #0f0f13; }

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

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

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

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

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

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

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

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

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

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #FFFFFF;
    -webkit-box-shadow: 0 7px 0 #FFFFFF, 0 14px 0 #FFFFFF;
            box-shadow: 0 7px 0 #FFFFFF, 0 14px 0 #FFFFFF;
    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: #151515;
    -webkit-box-shadow: 0 7px 0 #151515, 0 14px 0 #151515;
            box-shadow: 0 7px 0 #151515, 0 14px 0 #151515;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #888888;
    -webkit-box-shadow: 0 7px 0 #888888, 0 14px 0 #888888;
            box-shadow: 0 7px 0 #888888, 0 14px 0 #888888; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(21, 21, 21, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(21, 21, 21, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(21, 21, 21, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(21, 21, 21, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(21, 21, 21, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(21, 21, 21, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(21, 21, 21, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(21, 21, 21, 0.25); }

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

.preloader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aaoom1d41u5hmzn7fz5a-hulu-logo-4beat-build-alpha-v01.full.gif") center no-repeat #040405;
  background-size: 200px !important; }
  @media print, screen and (min-width: 64em) {
    .preloader {
      background-size: 30%; } }

.preloader-huluween {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999999;
  background-color: #000000; }
  @media print, screen and (min-width: 64em) {
    .preloader-huluween {
      background-size: 30%; } }

.preloader-wrapper {
  display: block;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  width: 375px;
  text-align: center;
  margin: 0 auto;
  margin-top: 0px;
  position: fixed;
  top: 50%;
  left: 50%;
  -ms-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 70%; }
  @media print, screen and (min-width: 64em) {
    .preloader-wrapper {
      width: 375px; } }
  @media print, screen and (min-width: 40em) {
    .preloader-wrapper {
      width: 375px; } }

.preloader-audio-pause {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cksutxbud29421v3dorrix147-icon-preloader-turn-on-audio.svg") no-repeat !important;
  background-size: 100% !important;
  width: 188px !important;
  height: 42px !important;
  position: fixed;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 110%; }

.preloader-audio-play {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cksutxbu224ga1v7h38jfqzfc-icon-preloader-turn-off-audio.svg") no-repeat !important;
  background-size: 100% !important;
  width: 188px !important;
  height: 42px !important;
  position: fixed;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 110%; }

.progress-bar__container {
  width: 100%;
  height: .3rem;
  border-radius: 2rem;
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  will-change: transform;
  background: #626262;
  margin: 55px 0; }

.progress-bar {
  position: absolute;
  height: 100%;
  width: 100%;
  content: "";
  background-color: #1ce783;
  top: 0;
  bottom: 0;
  left: -100%;
  border-radius: inherit;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  font-family: sans-serif; }

.progress-bar__text {
  display: none; }

.cover-direction {
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  z-index: 99; }
  .cover-direction h2 {
    color: #FFFFFF;
    margin-top: 6rem;
    font-weight: 600;
    font-size: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .cover-direction h2 {
        font-size: 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      .cover-direction h2 {
        font-size: 1.25rem; } }

#target {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.Hide {
  display: none; }

.cover-explore-icon {
  position: absolute;
  margin-top: -5rem; }
  .cover-explore-icon img {
    width: 100px;
    height: 100px; }

.cover-audio-note {
  font-size: 1rem;
  color: #FFFFFF;
  position: absolute;
  top: 4.5rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  right: unset; }
  @media print, screen and (min-width: 40em) {
    .cover-audio-note {
      right: unset; } }
  @media print, screen and (min-width: 64em) {
    .cover-audio-note {
      right: 16rem; } }

.cover-close-note {
  font-size: 0.875rem;
  color: #FFFFFF;
  position: absolute;
  top: 10rem;
  right: 5%;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  letter-spacing: .5px;
  line-height: 25px;
  top: 6rem; }
  @media print, screen and (min-width: 64em) {
    .cover-close-note {
      top: 10rem; } }
  .cover-close-note:after {
    content: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckro70zxjobbr1u72rc1zmsac-icon-close.svg");
    padding-left: .7rem; }

.reveal {
  padding: 2em 3em 3em 3em;
  background: #FFFFFF;
  border: 0;
  outline: none;
  width: 90%;
  height: auto;
  min-height: auto;
  margin: 0 auto; }
  @media print, screen and (min-width: 64em) {
    .reveal {
      width: 55%; } }

.reveal-overlay {
  background-color: rgba(21, 21, 21, 0.9); }
  @media print, screen and (min-width: 64em) {
    .reveal-overlay {
      background-color: rgba(21, 21, 21, 0.85); } }

.modal-title {
  font-size: 2.2rem;
  margin: 20px 0 25px 0; }

.modal-notes {
  margin-top: 20px;
  font-size: .9rem;
  font-style: italic; }

.modal-price {
  font-size: 2.2rem;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-weight: 100; }

.modal-copy {
  margin-top: .5rem;
  font-size: 1rem;
  color: #6B7790; }

.close-button {
  font-size: 0.875rem;
  color: #FFFFFF;
  position: absolute;
  top: 10rem;
  right: 5%;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  letter-spacing: .5px;
  line-height: 27px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  top: 6rem; }
  @media print, screen and (min-width: 64em) {
    .close-button {
      top: 10rem; } }
  .close-button:after {
    content: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckro70zxjobbr1u72rc1zmsac-icon-close.svg");
    padding-left: .7rem; }
  .close-button:hover {
    opacity: .7;
    color: #FFFFFF; }

.modal-wrapper {
  z-index: 99;
  background-color: #000000;
  padding: 0; }

.myVideo {
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  height: 70%;
  top: 50%; }
  @media print, screen and (min-width: 40em) {
    .myVideo {
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      -webkit-transition: all ease-in-out .25s;
      transition: all ease-in-out .25s; } }
  @media print, screen and (min-width: 64em) {
    .myVideo {
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: auto;
      height: auto;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }

.myVideoLg {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  min-height: 120%; }
  @media print, screen and (min-width: 40em) {
    .myVideoLg {
      min-height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .myVideoLg {
      min-height: 100%; } }

.myVideoBg {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  min-height: 140%;
  left: 0; }
  @media print, screen and (min-width: 40em) {
    .myVideoBg {
      min-height: 140%;
      left: 50%; } }
  @media print, screen and (min-width: 64em) {
    .myVideoBg {
      min-height: 140%;
      left: 50%; } }

.modal-cover {
  background-image: radial-gradient(transparent, black);
  width: 100%;
  height: 100%;
  display: block;
  z-index: 9;
  position: absolute;
  left: 0;
  top: 0; }

.modal-cover-huluween {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100vh; }

.modal-info-wrapper {
  z-index: 9;
  width: 100%;
  height: 100%;
  position: relative;
  display: inline-grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  text-align: center;
  color: #FFFFFF;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  @media print, screen and (min-width: 64em) {
    .modal-info-wrapper {
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      padding-bottom: 0; } }
  .modal-info-wrapper h1 {
    font-size: 2.25rem !important;
    padding: 0 0 2rem 0;
    margin: 0 !important;
    height: unset;
    line-height: .75rem;
    line-height: 1.75rem;
    padding-bottom: .8rem;
    padding-left: 3rem !important;
    padding-right: 3rem !important;
    font-size: 23px !important; }
    @media print, screen and (min-width: 64em) {
      .modal-info-wrapper h1 {
        line-height: .75rem;
        font-size: 2.25rem !important; } }
  .modal-info-wrapper h4 {
    text-transform: uppercase;
    font-size: 0.875rem;
    padding-top: 1rem;
    padding-top: 0;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 64em) {
      .modal-info-wrapper h4 {
        padding-top: 1rem; } }

.modal-img-network {
  position: absolute;
  right: 180px;
  height: 17px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  right: 5%;
  bottom: 95px;
  height: 11px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-network {
      right: 5%;
      bottom: 95px;
      height: 11px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-network {
      right: 180px;
      bottom: 98px;
      height: 17px; } }

.modal-img-showtime {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7lkxjy3lw41v6blv08qsxm-showtime.full.png") no-repeat;
  background-size: 100%;
  width: 60px;
  height: 20px;
  width: 43px;
  height: 15px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-showtime {
      width: 60px;
      height: 20px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-showtime {
      width: 60px;
      height: 20px;
      margin-bottom: -5px; } }

.modal-img-hulu {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7lspzeb2v81v7h1lh3ewca-hulu.full.png") no-repeat;
  background-size: 100%;
  width: 60px;
  height: 20px;
  width: 43px;
  height: 15px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-hulu {
      width: 60px;
      height: 20px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-hulu {
      width: 60px;
      height: 20px;
      margin-bottom: -5px; } }

.modal-img-hbomax {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku8mqj19cexg1vac1kc1ukow-hbo.full.png") no-repeat;
  background-size: 100%;
  width: 43px;
  height: 18px;
  width: 30px;
  height: 13px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-hbomax {
      width: 43px;
      height: 18px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-hbomax {
      width: 43px;
      height: 18px;
      margin-bottom: -5px; } }

.modal-img-fxm {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7lraehb2ta1v7hak3m2sgg-fxm.full.png") no-repeat;
  background-size: 100%;
  width: 40px;
  height: 18px;
  width: 33px;
  height: 13px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-fxm {
      width: 40px;
      height: 18px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-fxm {
      width: 40px;
      height: 18px;
      margin-bottom: -5px; } }

.modal-img-amc {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7loz583m1g1v6bs8ee564g-amc.full.png") no-repeat;
  background-size: 100%;
  width: 40px;
  height: 18px;
  width: 33px;
  height: 13px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-amc {
      width: 40px;
      height: 18px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-amc {
      width: 40px;
      height: 18px;
      margin-bottom: -5px; } }

.modal-img-fx {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7lxrp73mcx1v6bfjkl2kzz-fx.full.png") no-repeat;
  background-size: 100%;
  width: 30px;
  height: 18px;
  width: 23px;
  height: 13px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-fx {
      width: 30px;
      height: 18px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-fx {
      width: 30px;
      height: 18px;
      margin-bottom: -5px; } }

.modal-img-fox {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7m16fd3mb41v9ub3wzkq5y-fox.full.png") no-repeat;
  background-size: 100%;
  width: 49px;
  height: 20px;
  width: 36px;
  height: 15px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-fox {
      width: 49px;
      height: 20px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-fox {
      width: 49px;
      height: 20px;
      margin-bottom: -5px; } }

.modal-img-usa {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7ml2oe3n781v6bcjpatbz0-usa.full.png") no-repeat;
  background-size: 100%;
  width: 49px;
  height: 20px;
  width: 36px;
  height: 15px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-usa {
      width: 49px;
      height: 20px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-usa {
      width: 49px;
      height: 20px;
      margin-bottom: -5px; } }

.modal-img-cbs {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7mnwh93n181vakfhtce0oq-cbs.full.png") no-repeat;
  background-size: 100%;
  width: 49px;
  height: 20px;
  width: 36px;
  height: 15px; }
  @media print, screen and (min-width: 40em) {
    .modal-img-cbs {
      width: 49px;
      height: 20px; } }
  @media print, screen and (min-width: 64em) {
    .modal-img-cbs {
      width: 49px;
      height: 20px;
      margin-bottom: -5px; } }

.modal-btn-watch {
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  border: solid 2px #ffffff;
  width: 230px;
  margin: 0 auto;
  color: #ffffff;
  padding: 10px 30px;
  border-radius: 4px;
  font-size: 12px;
  letter-spacing: 1px;
  margin-top: 30px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: 10px;
  width: 208px;
  padding: 6px 20px; }
  @media print, screen and (min-width: 64em) {
    .modal-btn-watch {
      margin-top: 30px;
      width: 230px;
      padding: 10px 30px; } }
  .modal-btn-watch:hover, .modal-btn-watch:focus, .modal-btn-watch:active {
    text-decoration: none;
    color: #FFFFFF;
    opacity: .7; }

.modal-btn-cs {
  border: none;
  cursor: default;
  width: 200px; }
  .modal-btn-cs:hover, .modal-btn-cs:active, .modal-btn-cs:focus {
    opacity: 1;
    color: #FFFFFF; }

.modal-slider-wrapper {
  width: 129px;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 9;
  bottom: 90px; }

.slider-info {
  font-size: 12px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  color: #FFFFFF;
  margin-top: 2px !important;
  width: 51px; }

.slider-arrow, .slider-info {
  float: left;
  margin: 0 5px; }

.slider-arrow:hover {
  opacity: .7; }

.slider-arrow-left {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckt38eepk3zi31v3dapifmrq8-icon-left-slider.svg") no-repeat;
  background-size: 100%;
  width: 24px;
  height: 24px;
  display: block; }

.slider-arrow-right {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckt38e3wr3zhm1v3d98ikh16z-icon-right-slider.svg") no-repeat;
  background-size: 100%;
  width: 24px;
  height: 24px;
  display: block; }

.modal-body {
  padding: 0;
  font-size: 19px; }

.frame {
  width: 360px;
  height: 640px;
  position: relative;
  overflow: hidden; }

.img-layer, .img-layer-1, .img-layer-2, .img-layer-3, .img-layer-4, .img-layer-5, .img-layer-6, .img-layer-7, .img-layer-8, .img-layer-9, .img-layer-10, .img-layer-11, .img-layer-12, .img-layer-13, .img-layer-14, .img-layer-15, .img-layer-16, .img-layer-17, .img-layer-18, .img-layer-19, .img-layer-20, .img-layer-21, .img-layer-22, .img-layer-23, .img-layer-24, .img-layer-25, .img-layer-26, .img-layer-27, .img-layer-28, .img-layer-29, .img-layer-30 {
  width: inherit;
  height: inherit;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute; }
  .img-layer--1, .img-layer-1--1, .img-layer-2--1, .img-layer-3--1, .img-layer-4--1, .img-layer-5--1, .img-layer-6--1, .img-layer-7--1, .img-layer-8--1, .img-layer-9--1, .img-layer-10--1, .img-layer-11--1, .img-layer-12--1, .img-layer-13--1, .img-layer-14--1, .img-layer-15--1, .img-layer-16--1, .img-layer-17--1, .img-layer-18--1, .img-layer-19--1, .img-layer-20--1, .img-layer-21--1, .img-layer-22--1, .img-layer-23--1, .img-layer-24--1, .img-layer-25--1, .img-layer-26--1, .img-layer-27--1, .img-layer-28--1, .img-layer-29--1, .img-layer-30--1 {
    background-color: rgba(255, 255, 255, 0.7);
    background-blend-mode: luminosity; }
  .img-layer--2, .img-layer-1--2, .img-layer-2--2, .img-layer-3--2, .img-layer-4--2, .img-layer-5--2, .img-layer-6--2, .img-layer-7--2, .img-layer-8--2, .img-layer-9--2, .img-layer-10--2, .img-layer-11--2, .img-layer-12--2, .img-layer-13--2, .img-layer-14--2, .img-layer-15--2, .img-layer-16--2, .img-layer-17--2, .img-layer-18--2, .img-layer-19--2, .img-layer-20--2, .img-layer-21--2, .img-layer-22--2, .img-layer-23--2, .img-layer-24--2, .img-layer-25--2, .img-layer-26--2, .img-layer-27--2, .img-layer-28--2, .img-layer-29--2, .img-layer-30--2 {
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: overlay;
    -webkit-animation: blinking 0.3s ease-out infinite, glitch-anim-horizontal 5s linear infinite alternate;
            animation: blinking 0.3s ease-out infinite, glitch-anim-horizontal 5s linear infinite alternate; }
  .img-layer--3, .img-layer-1--3, .img-layer-2--3, .img-layer-3--3, .img-layer-4--3, .img-layer-5--3, .img-layer-6--3, .img-layer-7--3, .img-layer-8--3, .img-layer-9--3, .img-layer-10--3, .img-layer-11--3, .img-layer-12--3, .img-layer-13--3, .img-layer-14--3, .img-layer-15--3, .img-layer-16--3, .img-layer-17--3, .img-layer-18--3, .img-layer-19--3, .img-layer-20--3, .img-layer-21--3, .img-layer-22--3, .img-layer-23--3, .img-layer-24--3, .img-layer-25--3, .img-layer-26--3, .img-layer-27--3, .img-layer-28--3, .img-layer-29--3, .img-layer-30--3 {
    background-color: rgba(255, 255, 255, 0.08);
    background-blend-mode: overlay;
    -webkit-animation: glitch-anim-horizontal 2s linear infinite alternate;
            animation: glitch-anim-horizontal 2s linear infinite alternate; }
  .img-layer--4, .img-layer-1--4, .img-layer-2--4, .img-layer-3--4, .img-layer-4--4, .img-layer-5--4, .img-layer-6--4, .img-layer-7--4, .img-layer-8--4, .img-layer-9--4, .img-layer-10--4, .img-layer-11--4, .img-layer-12--4, .img-layer-13--4, .img-layer-14--4, .img-layer-15--4, .img-layer-16--4, .img-layer-17--4, .img-layer-18--4, .img-layer-19--4, .img-layer-20--4, .img-layer-21--4, .img-layer-22--4, .img-layer-23--4, .img-layer-24--4, .img-layer-25--4, .img-layer-26--4, .img-layer-27--4, .img-layer-28--4, .img-layer-29--4, .img-layer-30--4 {
    background-color: rgba(255, 255, 255, 0.02);
    background-blend-mode: overlay;
    -webkit-animation: glitch-anim-horizontal 0.8s ease infinite alternate;
            animation: glitch-anim-horizontal 0.8s ease infinite alternate; }
  .img-layer--5, .img-layer-1--5, .img-layer-2--5, .img-layer-3--5, .img-layer-4--5, .img-layer-5--5, .img-layer-6--5, .img-layer-7--5, .img-layer-8--5, .img-layer-9--5, .img-layer-10--5, .img-layer-11--5, .img-layer-12--5, .img-layer-13--5, .img-layer-14--5, .img-layer-15--5, .img-layer-16--5, .img-layer-17--5, .img-layer-18--5, .img-layer-19--5, .img-layer-20--5, .img-layer-21--5, .img-layer-22--5, .img-layer-23--5, .img-layer-24--5, .img-layer-25--5, .img-layer-26--5, .img-layer-27--5, .img-layer-28--5, .img-layer-29--5, .img-layer-30--5 {
    background-color: rgba(255, 255, 255, 0.2);
    background-blend-mode: overlay;
    -webkit-clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0);
            clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0);
    -webkit-animation: blinking 1s linear infinite, glitch-anim-vertical 3s ease infinite alternate;
            animation: blinking 1s linear infinite, glitch-anim-vertical 3s ease infinite alternate; }
  .img-layer--6, .img-layer-1--6, .img-layer-2--6, .img-layer-3--6, .img-layer-4--6, .img-layer-5--6, .img-layer-6--6, .img-layer-7--6, .img-layer-8--6, .img-layer-9--6, .img-layer-10--6, .img-layer-11--6, .img-layer-12--6, .img-layer-13--6, .img-layer-14--6, .img-layer-15--6, .img-layer-16--6, .img-layer-17--6, .img-layer-18--6, .img-layer-19--6, .img-layer-20--6, .img-layer-21--6, .img-layer-22--6, .img-layer-23--6, .img-layer-24--6, .img-layer-25--6, .img-layer-26--6, .img-layer-27--6, .img-layer-28--6, .img-layer-29--6, .img-layer-30--6 {
    background-color: white;
    background-blend-mode: luminosity;
    -webkit-animation: blinking 0.8s linear infinite;
            animation: blinking 0.8s linear infinite; }
  .img-layer--7, .img-layer-1--7, .img-layer-2--7, .img-layer-3--7, .img-layer-4--7, .img-layer-5--7, .img-layer-6--7, .img-layer-7--7, .img-layer-8--7, .img-layer-9--7, .img-layer-10--7, .img-layer-11--7, .img-layer-12--7, .img-layer-13--7, .img-layer-14--7, .img-layer-15--7, .img-layer-16--7, .img-layer-17--7, .img-layer-18--7, .img-layer-19--7, .img-layer-20--7, .img-layer-21--7, .img-layer-22--7, .img-layer-23--7, .img-layer-24--7, .img-layer-25--7, .img-layer-26--7, .img-layer-27--7, .img-layer-28--7, .img-layer-29--7, .img-layer-30--7 {
    background-color: rgba(0, 0, 0, 0.2);
    background-blend-mode: overlay;
    -webkit-animation: blinking 0.8s 1.4s linear infinite, glitch-anim-left 5s linear infinite;
            animation: blinking 0.8s 1.4s linear infinite, glitch-anim-left 5s linear infinite; }

@-webkit-keyframes blinking {
  0% {
    opacity: 0.25; }
  70%, 100% {
    opacity: 0; } }

@keyframes blinking {
  0% {
    opacity: 0.25; }
  70%, 100% {
    opacity: 0; } }

@-webkit-keyframes glitch-anim-right {
  to {
    left: 2%;
    top: -1%; } }

@keyframes glitch-anim-right {
  to {
    left: 2%;
    top: -1%; } }

@-webkit-keyframes glitch-anim-left {
  to {
    right: 2%;
    bottom: -1%; } }

@keyframes glitch-anim-left {
  to {
    right: 2%;
    bottom: -1%; } }

@-webkit-keyframes glitch-anim-horizontal {
  0% {
    -webkit-clip-path: polygon(0 0, 0 100%, 2% 100%, 2% 0);
            clip-path: polygon(0 0, 0 100%, 2% 100%, 2% 0); }
  10% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  25% {
    -webkit-clip-path: polygon(25% 0, 25% 100%, 27% 100%, 27% 0);
            clip-path: polygon(25% 0, 25% 100%, 27% 100%, 27% 0); }
  40% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  50% {
    -webkit-clip-path: polygon(75% 0, 75% 100%, 77% 100%, 77% 0);
            clip-path: polygon(75% 0, 75% 100%, 77% 100%, 77% 0); }
  60% {
    -webkit-clip-path: polygon(65% 0, 65% 100%, 67% 100%, 67% 0);
            clip-path: polygon(65% 0, 65% 100%, 67% 100%, 67% 0); }
  75% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  85% {
    -webkit-clip-path: polygon(85% 0, 85% 100%, 87% 100%, 87% 0);
            clip-path: polygon(85% 0, 85% 100%, 87% 100%, 87% 0); }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 100%, 100% 100%, 100% 0);
            clip-path: polygon(100% 0, 100% 100%, 100% 100%, 100% 0); } }

@keyframes glitch-anim-horizontal {
  0% {
    -webkit-clip-path: polygon(0 0, 0 100%, 2% 100%, 2% 0);
            clip-path: polygon(0 0, 0 100%, 2% 100%, 2% 0); }
  10% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  25% {
    -webkit-clip-path: polygon(25% 0, 25% 100%, 27% 100%, 27% 0);
            clip-path: polygon(25% 0, 25% 100%, 27% 100%, 27% 0); }
  40% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  50% {
    -webkit-clip-path: polygon(75% 0, 75% 100%, 77% 100%, 77% 0);
            clip-path: polygon(75% 0, 75% 100%, 77% 100%, 77% 0); }
  60% {
    -webkit-clip-path: polygon(65% 0, 65% 100%, 67% 100%, 67% 0);
            clip-path: polygon(65% 0, 65% 100%, 67% 100%, 67% 0); }
  75% {
    -webkit-clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0);
            clip-path: polygon(35% 0, 35% 100%, 37% 100%, 37% 0); }
  85% {
    -webkit-clip-path: polygon(85% 0, 85% 100%, 87% 100%, 87% 0);
            clip-path: polygon(85% 0, 85% 100%, 87% 100%, 87% 0); }
  100% {
    -webkit-clip-path: polygon(100% 0, 100% 100%, 100% 100%, 100% 0);
            clip-path: polygon(100% 0, 100% 100%, 100% 100%, 100% 0); } }

@-webkit-keyframes glitch-anim-vertical {
  0% {
    -webkit-clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0);
            clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0); }
  10% {
    -webkit-clip-path: polygon(0 20%, 0 21%, 100% 21%, 100% 20%);
            clip-path: polygon(0 20%, 0 21%, 100% 21%, 100% 20%); }
  25% {
    -webkit-clip-path: polygon(0 75%, 0 76%, 100% 76%, 100% 75%);
            clip-path: polygon(0 75%, 0 76%, 100% 76%, 100% 75%); }
  40% {
    -webkit-clip-path: polygon(0 40%, 0 41%, 100% 41%, 100% 40%);
            clip-path: polygon(0 40%, 0 41%, 100% 41%, 100% 40%); }
  50% {
    -webkit-clip-path: polygon(0 90%, 0 91%, 100% 91%, 100% 90%);
            clip-path: polygon(0 90%, 0 91%, 100% 91%, 100% 90%); }
  60% {
    -webkit-clip-path: polygon(0 80%, 0 85%, 100% 85%, 100% 80%);
            clip-path: polygon(0 80%, 0 85%, 100% 85%, 100% 80%); }
  75% {
    -webkit-clip-path: polygon(0 32%, 0 33%, 100% 33%, 100% 32%);
            clip-path: polygon(0 32%, 0 33%, 100% 33%, 100% 32%); }
  85% {
    -webkit-clip-path: polygon(0 65%, 0 66%, 100% 66%, 100% 65%);
            clip-path: polygon(0 65%, 0 66%, 100% 66%, 100% 65%); }
  100% {
    -webkit-clip-path: polygon(0 35%, 0 50%, 100% 50%, 100% 35%);
            clip-path: polygon(0 35%, 0 50%, 100% 50%, 100% 35%); } }

@keyframes glitch-anim-vertical {
  0% {
    -webkit-clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0);
            clip-path: polygon(0 0, 0 1%, 100% 1%, 100% 0); }
  10% {
    -webkit-clip-path: polygon(0 20%, 0 21%, 100% 21%, 100% 20%);
            clip-path: polygon(0 20%, 0 21%, 100% 21%, 100% 20%); }
  25% {
    -webkit-clip-path: polygon(0 75%, 0 76%, 100% 76%, 100% 75%);
            clip-path: polygon(0 75%, 0 76%, 100% 76%, 100% 75%); }
  40% {
    -webkit-clip-path: polygon(0 40%, 0 41%, 100% 41%, 100% 40%);
            clip-path: polygon(0 40%, 0 41%, 100% 41%, 100% 40%); }
  50% {
    -webkit-clip-path: polygon(0 90%, 0 91%, 100% 91%, 100% 90%);
            clip-path: polygon(0 90%, 0 91%, 100% 91%, 100% 90%); }
  60% {
    -webkit-clip-path: polygon(0 80%, 0 85%, 100% 85%, 100% 80%);
            clip-path: polygon(0 80%, 0 85%, 100% 85%, 100% 80%); }
  75% {
    -webkit-clip-path: polygon(0 32%, 0 33%, 100% 33%, 100% 32%);
            clip-path: polygon(0 32%, 0 33%, 100% 33%, 100% 32%); }
  85% {
    -webkit-clip-path: polygon(0 65%, 0 66%, 100% 66%, 100% 65%);
            clip-path: polygon(0 65%, 0 66%, 100% 66%, 100% 65%); }
  100% {
    -webkit-clip-path: polygon(0 35%, 0 50%, 100% 50%, 100% 35%);
            clip-path: polygon(0 35%, 0 50%, 100% 50%, 100% 35%); } }

.title-bar {
  padding: 1rem 2rem;
  background: #000000; }

.title-bar-image, .menu-logo {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckl9u2j5v296z1u6ptre9fa28-logo-hulu-green.svg") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  width: 65px;
  height: 22px; }

.menu-icon {
  position: absolute;
  right: 1.5rem; }

.menu-text {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .menu-text {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.sticky-topbar {
  width: 100%;
  position: fixed;
  z-index: 999; }

.top-bar,
.top-bar ul {
  background-color: transparent;
  display: block;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 0.4rem 0.5rem; }
  @media print, screen and (min-width: 64em) {
    .top-bar,
    .top-bar ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.top-bar {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(4, 4, 5, 0)), to(#040405));
  background-image: linear-gradient(to top, rgba(4, 4, 5, 0), #040405);
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background: #040405;
  padding-bottom: 30px;
  padding-left: 25px; }
  @media print, screen and (min-width: 40em) {
    .top-bar {
      background: #040405;
      padding-bottom: 30px;
      padding-left: 25px; } }
  @media print, screen and (min-width: 64em) {
    .top-bar {
      background: transparent;
      padding-bottom: 20px;
      padding-left: 0; } }

.top-bar-blank {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .top-bar-blank {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .top-bar-blank {
      display: block; } }

.dropdown.menu > li > a {
  color: #FFFFFF;
  text-transform: uppercase;
  padding: .75rem 0.625rem;
  font-size: 0.875rem;
  letter-spacing: 0.063rem;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 240px;
  margin-bottom: 5px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    .dropdown.menu > li > a {
      padding-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .dropdown.menu > li > a {
      margin-bottom: 0;
      padding: 0 0.625rem;
      width: 100%; } }
  @media screen and (min-width: 80em) {
    .dropdown.menu > li > a {
      padding: 0 1.25rem; } }

.menu a, .menu a.button {
  padding: 0.9rem 1rem; }

.menu-logo {
  margin-right: 1.5rem;
  display: none;
  margin-top: -6px;
  position: relative;
  margin-bottom: auto;
  margin-left: 2rem; }
  @media print, screen and (min-width: 64em) {
    .menu-logo {
      display: block; } }

.menu li img {
  margin: -5px 0 0 1rem; }

.button-menu {
  background-color: #FFFFFF;
  color: #000000 !important;
  border-radius: 3px;
  text-align: center; }
  .button-menu:hover {
    text-decoration: none;
    opacity: .8; }

.nav-btn {
  color: #000000 !important; }

.button-menu-manage {
  margin-top: 35px;
  margin-bottom: -40px !important; }
  @media print, screen and (min-width: 40em) {
    .button-menu-manage {
      margin-top: 35px;
      margin-bottom: -40px !important; } }
  @media print, screen and (min-width: 64em) {
    .button-menu-manage {
      margin-top: 0;
      margin-bottom: 0; } }

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

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

.dropdown-desk-sub a {
  width: 195px !important; }
  @media print, screen and (min-width: 40em) {
    .dropdown-desk-sub a {
      width: 195px !important; } }
  @media print, screen and (min-width: 64em) {
    .dropdown-desk-sub a {
      width: 195px; } }

.syft-note {
  position: absolute;
  color: #ffffff;
  font-size: 9px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  opacity: .8;
  letter-spacing: -.1px;
  margin: 4px 0 0 0; }
  @media print, screen and (min-width: 40em) {
    .syft-note {
      margin: 4px 0 0 0; } }
  @media print, screen and (min-width: 64em) {
    .syft-note {
      margin: 4px 0 0 0; } }

.past-main {
  background-image: none !important;
  background-color: #FFFFFF !important;
  color: #444 !important;
  padding-bottom: 20px; }
  .past-main .menu-logo {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckf49zojn9i1z184a8ajrcsyg-logo-hulu.svg") no-repeat !important;
    background-position: 0 !important; }
  .past-main .dropdown.menu > li > a {
    color: #000000; }
  .past-main a.button-menu {
    background-color: #000000 !important;
    color: #FFFFFF !important; }
  .past-main .nav-btn {
    color: #ffffff !important; }
  .past-main .syft-note {
    color: #000000; }

.grid-x > .medium-5 {
  width: 25%;
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .grid-x > .medium-5 {
      width: 41.66667%; } }

.grid-x > .medium-3 {
  width: 33%; }
  @media print, screen and (min-width: 64em) {
    .grid-x > .medium-3 {
      width: 16%; } }

.grid-container-wrapper {
  padding: 7rem .3rem;
  max-width: 100%;
  color: #FFFFFF;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .grid-container-wrapper {
      padding: 7rem 1.5rem; } }
  .grid-container-wrapper .grid-drk {
    background-color: #000000; }
  .grid-container-wrapper .grid-title {
    margin: 5rem 0 2rem 0;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .grid-container-wrapper .grid-title {
        margin: 7rem 0; } }

.grid-row {
  margin: 0;
  border-bottom: solid 1px #e6e6e6; }
  @media screen and (min-width: 80em) {
    .grid-row {
      margin: 0 5rem; } }

.grid-chart .cell {
  padding: 1.5rem 0; }

.grid-select {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  padding-top: 0;
  text-align: center;
  font-size: 1.5rem; }
  @media print, screen and (min-width: 64em) {
    .grid-select {
      padding-top: 4rem;
      font-size: 2rem;
      text-align: left; } }

.grid-button {
  margin: 1rem 0 2rem 0;
  padding: 0.9rem .5rem !important; }
  @media print, screen and (min-width: 64em) {
    .grid-button {
      padding: 0.9rem 15% !important; } }

.note-trial {
  color: #888888;
  font-size: 0.4rem;
  font-weight: 900;
  padding-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .note-trial {
      font-size: 0.875rem; } }

.note-price {
  font-size: 1rem;
  color: #212121; }

.note-txt {
  font-size: 0.625rem;
  letter-spacing: 0.0625rem;
  margin-bottom: 2rem; }

.most-popular {
  height: 30px;
  margin-top: 1rem; }

.icon-info {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 16px;
  height: 16px; }

.strong-plan {
  display: block;
  padding-top: 0;
  padding-bottom: 2rem; }
  @media print, screen and (min-width: 64em) {
    .strong-plan {
      padding-bottom: 0; } }

.most-popular-active {
  background-color: #1ce783;
  color: #000000;
  font-weight: bold;
  border-radius: 50px;
  padding: 0.5rem 1rem;
  font-size: .7rem;
  display: inline-block; }
  @media print, screen and (min-width: 40em) {
    .most-popular-active {
      padding: 0.4rem 1.25rem;
      font-size: .8rem; } }

.note-grid {
  width: 100%;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .note-grid {
      text-align: left; } }

.half-container {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0; }

.light-container {
  background-color: #FFFFFF;
  color: #000000; }
  .light-container .grid-drk {
    background-color: #F7F8FA; }
  .light-container .button-drk {
    text-transform: none !important;
    background-color: #000000;
    color: #FFFFFF; }
    @media print, screen and (min-width: 40em) {
      .light-container .button-drk {
        width: 70%; } }
    @media print, screen and (min-width: 64em) {
      .light-container .button-drk {
        width: 80%; } }
    .light-container .button-drk:hover {
      background-color: #000000;
      opacity: .8; }
  .light-container h1 {
    color: #000000;
    text-align: center; }

.questions-container {
  margin-top: -5rem; }

.questions-title {
  margin-bottom: 1.5rem;
  color: #000000; }

.price-name {
  font-size: .9rem; }
  @media print, screen and (min-width: 40em) {
    .price-name {
      font-size: 1.2rem; } }
  @media print, screen and (min-width: 64em) {
    .price-name {
      font-size: 1.3rem; } }

.accordion-content, .accordion-title {
  border: 0;
  padding: 0;
  background-color: transparent !important; }

.accordion-title {
  padding: 2rem 5rem;
  border-bottom: 0 !important;
  margin-bottom: 4rem; }

.accordion-title:hover {
  text-decoration: none;
  background-color: transparent;
  color: #000000; }

.accordion-title::before {
  content: '';
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cklr5tzwj5uyi1jb0hp8svspd-icon-addon-show.full.png") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  width: 150px;
  height: 30px;
  text-align: center;
  position: relative;
  left: 0;
  right: 0;
  font-size: 1.2rem;
  text-decoration: none; }

.acc__active::before {
  content: '';
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cklr5tztg5uje1jaoo8l7xget-icon-addon-hide.full.png") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  width: 150px;
  height: 30px;
  text-align: center;
  position: relative;
  left: 0;
  right: 0;
  font-size: 1.2rem;
  text-decoration: none; }

.accordion-title-questions {
  padding: 2rem 0;
  font-size: 1rem;
  line-height: 1.4rem; }
  @media print, screen and (min-width: 64em) {
    .accordion-title-questions {
      font-size: 1.125rem; } }

:last-child > .accordion-content:last-child {
  border-bottom: 0; }

.accordion-title-questions::before {
  content: '';
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckla0hy2s2hi21u87kcl3peig-icon-plus.svg") no-repeat;
  background-position: 0 0;
  background-size: 40px;
  width: 40px;
  height: 40px;
  display: inline;
  float: right;
  position: relative;
  margin-top: -15px; }
  @media print, screen and (min-width: 64em) {
    .accordion-title-questions::before {
      background-size: 48px;
      width: 48px;
      height: 48px; } }

.is-active > .accordion-title-questions::before {
  content: '';
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckla0hy2q2hno1u8snwyblspb-icon-minus.svg") no-repeat;
  background-position: 0 0;
  background-size: 40px;
  width: 40px;
  height: 40px;
  display: inline;
  float: right;
  position: relative;
  margin-top: -15px; }
  @media print, screen and (min-width: 64em) {
    .is-active > .accordion-title-questions::before {
      background-size: 48px;
      width: 48px;
      height: 48px; } }

.accordion-title:hover, .accordion-title:focus {
  background-color: transparent; }

.accordion-content-questions {
  color: #5E6573;
  margin: 1rem 0;
  width: 80%; }
  .accordion-content-questions a {
    font-size: 1rem; }

.accordion-ul {
  margin: 2rem 0  1rem 0; }
  .accordion-ul li {
    list-style-type: disc;
    margin-left: 2rem;
    padding-bottom: 1rem; }

.acc {
  margin: 0 auto; }

.acc__title {
  cursor: pointer; }

.acc__card {
  margin: 0;
  position: relative; }

.acc__panel {
  background: #FFFFFF;
  color: #000000;
  display: none;
  margin: 0;
  padding: 0;
  text-align: left; }

.accordian-note {
  color: #5E6573;
  font-size: .7rem;
  margin-top: 1.5rem; }

.tabs, .tabs-content, .tabs-panel, .tabs-panel.is-active, .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  background-color: transparent;
  border: none; }
  .tabs:hover, .tabs-content:hover, .tabs-panel:hover, .tabs-panel.is-active:hover, .tabs-title > a:focus:hover, .tabs-title > a[aria-selected='true']:hover {
    text-decoration: none; }

.tabs-wrapper {
  display: block;
  overflow: hidden;
  padding: 0 0 7rem 0; }
  @media print, screen and (min-width: 40em) {
    .tabs-wrapper {
      width: 85%;
      margin: 0 auto; } }
  @media print, screen and (min-width: 64em) {
    .tabs-wrapper {
      width: 100%;
      margin: 0;
      padding: 0 0 7rem 11rem; } }

.tabs {
  margin: 0 auto; }
  @media print, screen and (min-width: 64em) {
    .tabs {
      margin: 0; } }

.tabs-content {
  width: 100%;
  max-width: 950px;
  float: right;
  margin-left: 0;
  margin-right: 0; }
  @media print, screen and (min-width: 64em) {
    .tabs-content {
      margin-left: 200px;
      margin-left: 21%;
      margin-right: 16%; } }

@media print, screen and (min-width: 64em) {
  .tabs-content-center {
    margin: 0 auto;
    float: none; } }

.tabs-title {
  width: 25%;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .tabs-title {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 64em) {
    .tabs-title {
      width: auto; } }

.tabs-title-three {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 33%; }
  @media print, screen and (min-width: 40em) {
    .tabs-title-three {
      width: 33%; } }
  @media print, screen and (min-width: 64em) {
    .tabs-title-three {
      width: auto; } }

.tabs-title > a {
  color: #686869;
  margin: 1.25rem 1rem 1.25rem 1rem;
  padding: 0;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;}
  @media print, screen and (min-width: 40em) {
    .tabs-title > a {
      margin: 1.25rem 1rem 2.25rem 1rem; } }
  @media print, screen and (min-width: 64em) {
    .tabs-title > a {
      margin: 1.25rem 1rem 2.25rem 1rem; } }
  .tabs-title > a:hover {
    background-color: transparent;
    text-decoration: none;
    padding-bottom: 10px;
    border-bottom: 4px solid #1ce783;
    color: #686869; }

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
  color: #FFFFFF;
  text-decoration: none;
  padding-bottom: 10px;
  border-bottom: 4px solid #1ce783; }

.tabs-panel p {
  font-size: 1.5rem; }

thead, tbody, tfoot, tbody tr:nth-child(even) {
  color: #fff;
  border: 0;
  background-color: transparent; }

.table td, .table th {
  border-top: none;
  vertical-align: bottom;
  padding: 1.1rem;
  vertical-align: middle; }
  @media print, screen and (min-width: 40em) {
    .table td, .table th {
      vertical-align: middle; } }

.row-1 {
  padding-left: 0 !important; }

tbody th,
tbody td {
  font-size: 0.875rem; }
  @media print, screen and (min-width: 40em) {
    tbody th,
    tbody td {
      font-size: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    tbody th,
    tbody td {
      font-size: 1.5rem; } }

.row-title {
  font-size: 1rem;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  border-bottom: solid 1px #FFFFFF; }

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

.headliner {
  font-size: 0.75rem;
  color: #1ce783;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  position: absolute;
  margin-top: -15px; }

.row-lock {
  width: 40px; }

.tabs-note {
  color: #fff;
  font-size: 11px;
  letter-spacing: 1px;
  margin: 0 0 0 15px;
  text-align: left;
  letter-spacing: 1.5px;
  text-align: center;
  margin: 0;
  padding: 0 10px; }
  @media print, screen and (min-width: 64em) {
    .tabs-note {
      text-align: left;
      margin-left: 15px;
      padding: 0; } }
  .tabs-note a:active, .tabs-note a:focus {
    color: #3C88EB; }

.row-one {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 65%; }
  @media print, screen and (min-width: 40em) {
    .row-one {
      width: 70%; } }
  @media print, screen and (min-width: 64em) {
    .row-one {
      width: 48%; } }

#splashscreen, #intro {
  background-color: #000000;
  background-position: 0 0;
  background-size: cover;
  position: fixed;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }
  #splashscreen h1, #intro h1 {
    font-size: 1.625rem;
    line-height: 2rem;
    text-align: center;
    width: 750px;
    height: 100%;
    text-transform: uppercase; }

#splashscreen {
  z-index: 99999; }
  #splashscreen p {
    font-size: 36px;
    text-align: center;
    font-size: 1.188rem; }
    @media print, screen and (min-width: 40em) {
      #splashscreen p {
        font-size: 2.25rem; } }
    @media print, screen and (min-width: 64em) {
      #splashscreen p {
        font-size: 2.25rem; } }
  #splashscreen .logo-huluween {
    margin: 0 auto;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    width: 80%; }
    @media print, screen and (min-width: 40em) {
      #splashscreen .logo-huluween {
        width: 100%; } }
    @media print, screen and (min-width: 64em) {
      #splashscreen .logo-huluween {
        width: 100%; } }

#intro {
  z-index: 9999; }
  #intro p {
    font-size: 36px;
    max-width: 750px;
    margin: 0 auto;
    text-align: center;
    z-index: 1;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    font-size: 1.188rem;
    padding: 0 2rem; }
    @media print, screen and (min-width: 40em) {
      #intro p {
        font-size: 1.5rem; } }
    @media print, screen and (min-width: 64em) {
      #intro p {
        font-size: 36px; } }

.intro-screen {
  background-size: cover;
  background-position: 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
  font-size: 36px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

#splashscreen, #intro {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
  background-size: cover;
  background-position: 0 0;
  width: 100%;
  height: 100%;
  font-size: 36px;
  font-family: 'Huluween-Sans';
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktw52zmyovgl1v1n48p2aibf-bg-veil-grad-2-mobile3.full.jpg") no-repeat;
  height: 101vh;
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    #splashscreen, #intro {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      height: 101vh;
      background-size: cover; } }
  @media print, screen and (min-width: 64em) {
    #splashscreen, #intro {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      background-size: cover;
      background-position: 0 0;
      width: 100%;
      height: 100%; } }

.owl-carousel {
  margin-bottom: 14rem; }

.owl-short {
  margin-bottom: 0; }

.owl-item.active > div:after {
  content: ''; }

.owl-item.center > div:after {
  content: ''; }

.owl-item.active.center > div:after {
  content: ''; }

.owl-item > div:after {
  font-family: sans-serif;
  font-size: 24px;
  font-weight: bold; }

.owl-carousel .owl-item img {
  border-radius: 7px; }

.owl-carousel-bonn {
  margin-top: 0rem; }
  @media print, screen and (min-width: 40em) {
    .owl-carousel-bonn {
      margin-top: 0rem; } }
  @media print, screen and (min-width: 64em) {
    .owl-carousel-bonn {
      margin-top: -9rem; } }

.owl-carousel-bonn .owl-item img {
  border-radius: 25px; }
  @media print, screen and (min-width: 64em) {
    .owl-carousel-bonn .owl-item img {
      border-radius: 25px; } }

.shows-goto-container {
  width: 90%; }

.shows-goto-container img {
  display: block;
  height: auto; }

.owl-item:nth-of-type(even) .shows-goto-container {
  margin-top: 40px; }

.shows-goto-container img:nth-of-type(odd) {
  margin-bottom: 20px; }

#share-example {
  margin: 0 0 .4rem 0; }

.b1sfkvwp {
  border: none !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

.dtuwxu6:hover {
  opacity: .7;
  background-color: transparent !important; }

.dtuwxu6:active {
  background-color: transparent; }

.b1ayz11m:hover, .b1ayz11m:active, .b1cts6hf {
  background: transparent !important; }

.bw4zrxo:after:hover, .py2ntml:after {
  opacity: 1 !important; }

.cn02a8x:hover {
  color: #040405 !important;
  opacity: .7 !important; }

.m1lpp60t {
  display: none; }

.a16p6fhc {
  background-color: transparent !important; }

.bap9lfg {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.dtuwxu6 {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr41bwigolwq1u6ntlhqvqxv-btn-share.svg") no-repeat center center;
  background-position: 0 0;
  color: transparent;
  width: 85px;
  height: 25px; }

.lzp9x50 {
  text-align: left; }

.bblki9 {
  border-radius: 10px;
  background-color: #FFFFFF !important;
  color: #040405;
  width: 100%;
  width: 230px; }
  @media print, screen and (min-width: 64em) {
    .bblki9 {
      width: 400px; } }

.fzahwet {
  -webkit-flex-wrap: no-wrap !important;
      -ms-flex-wrap: no-wrap !important;
          flex-wrap: no-wrap !important;
  -webkit-flex-wrap: wrap !important;
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }

.b6gfw7i:after {
  border-color: transparent transparent #FFFFFF !important; }
  .b6gfw7i:after:active {
    opacity: 1 !important; }
  .b6gfw7i:after:focus {
    opacity: 1 !important; }

.c1k6mrrm {
  color: #040405 !important; }

.m1trcu4i + .m1trcu4i {
  margin-left: 0 !important; }
  @media print, screen and (min-width: 64em) {
    .m1trcu4i + .m1trcu4i {
      margin-left: 40px; } }

.hmgv4u2 svg:hover, .hmgv4u2 img:hover {
  opacity: .7; }

.share-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  overflow: hidden;
  margin: .5rem auto 1rem auto;
  color: #FFFFFF;
  max-width: 300px; }
  .share-wrapper p {
    text-transform: uppercase;
      font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
      font-weight: 900 !important;
    font-size: 0.875rem;
    letter-spacing: 1.5px;
    margin-right: 1rem;
    margin-top: -.3rem;
    margin-bottom: .5rem; }
  .share-wrapper a.share-link {
    float: left;
    margin: 1px 1rem 0 0; }
  .share-wrapper a.share-link-lst {
    margin-right: 0; }
  .share-wrapper .share-btn {
    height: 25px;
    -webkit-transition: all ease-in-out .2s;
    transition: all ease-in-out .2s;
    height: 20px; }
    .share-wrapper .share-btn:hover {
      opacity: .7; }

.footer-short-wrapper {
  position: fixed;
  bottom: 1rem;
  left: 2rem;
  z-index: 9;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1rem; }
  @media print, screen and (min-width: 64em) {
    .footer-short-wrapper {
      left: 2rem; } }
  .footer-short-wrapper li {
    float: left;
    margin-right: 1.5rem;
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 0.625rem;
    letter-spacing: 0.357143px;
    font-size: 0.425rem;
    margin-right: .5rem; }
    @media print, screen and (min-width: 64em) {
      .footer-short-wrapper li {
        font-size: 0.625rem;
        margin-right: 1.5rem; } }
    .footer-short-wrapper li a {
      text-decoration: none;
      color: #FFFFFF; }
      .footer-short-wrapper li a:hover {
        text-decoration: underline; }

.footer-share {
  color: #FFFFFF;
  font-size: 0.625rem;
  letter-spacing: 1.5px;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  text-transform: uppercase;
  margin-bottom: 10px; }

.share-btn-short, .share-btn-short-lst {
  margin-left: 15px; }
  .share-btn-short:hover, .share-btn-short-lst:hover {
    opacity: .7; }

.share-btn-short {
  width: 11px; }

.share-btn-short-lst {
  width: 21px; }

@font-face {
  font-family: 'Graphik-Light';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Light-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Light-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Light-Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Light.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Graphik-Extralight';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Extralight-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Extralight-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Extralight-Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Extralight.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Graphik-Medium';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Medium-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Medium-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Medium-Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Medium.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Graphik-Regular';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Regular-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Regular-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Regular-Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Regular.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Graphik-Semibold';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Semibold-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Semibold-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Semibold-Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Semibold.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Graphik-Bold';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Bold-Web.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Bold-Web.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik--Web.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/Graphik-Bold.otf") format("opentype");
  font-style: normal; }

@font-face {
  font-family: 'Huluween-Sans';
  src: url("https://assetshuluimcom-a.akamaihd.net/FONTS/huluween/HuluweenSans.eot") format("embedded-opentype"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/huluween/HuluweenSans.woff") format("woff"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/huluween/HuluweenSans.woff2") format("woff2"), url("https://assetshuluimcom-a.akamaihd.net/FONTS/huluween/HuluweenSans.otf") format("opentype");
  font-style: normal; }

/*! locomotive-scroll v4.1.0 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden; }

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.has-scroll-smooth body {
  overflow: hidden; }

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh; }

[data-scroll-direction="horizontal"] [data-scroll-container] {
  white-space: nowrap;
  height: 100vh;
  display: inline-block;
  white-space: nowrap; }

[data-scroll-direction="horizontal"] [data-scroll-section] {
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  height: 100%; }

.c-scrollbar {
  position: absolute;
  right: 0;
  top: 0;
  width: 11px;
  height: 100%;
  -webkit-transform-origin: center right;
      -ms-transform-origin: center right;
          transform-origin: center right;
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s, -webkit-transform 0.3s;
  opacity: 0; }

.c-scrollbar:hover {
  -webkit-transform: scaleX(1.45);
      -ms-transform: scaleX(1.45);
          transform: scaleX(1.45); }

.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
  opacity: 1; }

[data-scroll-direction="horizontal"] .c-scrollbar {
  width: 100%;
  height: 10px;
  top: auto;
  bottom: 0;
  -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
          transform: scaleY(1); }

[data-scroll-direction="horizontal"] .c-scrollbar:hover {
  -webkit-transform: scaleY(1.3);
      -ms-transform: scaleY(1.3);
          transform: scaleY(1.3); }

.c-scrollbar_thumb {
  position: absolute;
  top: 0;
  right: 0;
  background-color: black;
  opacity: 0.5;
  width: 7px;
  border-radius: 10px;
  margin: 2px;
  cursor: -webkit-grab;
  cursor: grab; }

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
  right: auto;
  bottom: 0; }

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

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

canvas {
  display: block;
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0; }

html.has-scroll-smooth {
  overflow: auto !important; }

.marketing-site-hero {
  height: 65vh;
  background-size: cover;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 40em) {
    .marketing-site-hero {
      background-position: center center; } }

.marketing-site-hero-content {
  max-width: 100rem;
  margin: 0 auto;
  padding: 0.7rem 1rem; }
  .marketing-site-hero-content .button.round {
    border-radius: 5000px;
    text-transform: uppercase;
    font-size: 0.75rem;
    margin-bottom: 0; }

button {
  cursor: pointer; }

button:focus, a:focus {
  outline: 0; }

.grid-padding-x {
  padding: 0.7rem 1rem; }

a {
  color: #3C88EB;
  font-size: 1.5rem;
  font-size: inherit; }
  a:hover {
    color: #3C88EB;
    text-decoration: underline; }

a.button {
  background-color: #FFFFFF;
  color: #000000;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif !important; }
  a.button:hover {
    opacity: .8; }

.note {
  font-size: 0.625rem;
  color: #FFFFFF;
  margin: 1rem 0 .3rem 0;
  letter-spacing: 0.03rem; }
  @media print, screen and (min-width: 40em) {
    .note {
      letter-spacing: 0.0625rem; } }
  @media print, screen and (min-width: 64em) {
    .note {
      letter-spacing: 0.0625rem; } }

.subtitle-note {
  font-size: 0.625rem;
  color: #FFFFFF;
  letter-spacing: 0.0625rem;
  margin: -1rem 0 2.5rem 0;
  margin: 0 0 2.5rem 0; }

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

p {
  color: #FFFFFF;
  font-size: 1.4rem;
  letter-spacing: .5px; }

strong {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important; }

h1 {
  font-size: 2.15rem;
  line-height: 2.7rem;
  color: #FFFFFF;
  font-weight: 400;
  letter-spacing: -1.5px;
  margin-bottom: 1rem !important; }
  @media print, screen and (min-width: 64em) {
    h1 {
      font-size: 5rem !important;
      margin: 0 !important;
      line-height: 5.9rem; } }

.h1-pricing {
  font-size: 2.15rem;
  line-height: 2.7rem;
  font-weight: 400;
  letter-spacing: -1.5px;
  margin: 0; }
  @media print, screen and (min-width: 64em) {
    .h1-pricing {
      font-size: 5rem;
      line-height: 5.9rem;
      margin: 0; } }

h2 {
  font-size: 1.7rem;
  font-weight: 900;
  color: #151515;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 0; }
  @media print, screen and (min-width: 64em) {
    h2 {
      font-size: 3.125rem; } }

h5 {
  font-size: 2.188rem;
  font-weight: 900; }

p, h6 {
  padding: 0;
  margin: 0; }

h6 {
  font-size: .9rem;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important; }
  @media print, screen and (min-width: 40em) {
    h6 {
      font-size: 1.5rem; } }

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

.header-title {
  width: 90%;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  @media print, screen and (min-width: 64em) {
    .header-title {
      width: 790px; } }

.masthead-wide {
  padding: 14rem 0 0 0; }

.header-wide {
  width: 100%; }

.carousel-high {
  padding: 16rem 0 0 0; }

#love {
  position: relative;
  margin-bottom: 80px;
  display: block;
  height: 10px; }

.title {
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.0625rem;
  margin: 0; }

.title-video {
  margin-top: 2.5rem;
  font-size: 1rem; }
  @media print, screen and (min-width: 64em) {
    .title-video {
      text-align: center;
      font-size: 1rem; } }

.subtitle-video {
  padding: 0 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .subtitle-video {
      padding: 0 12.5rem; } }

.txt-mob {
  display: inline-block; }
  @media print, screen and (min-width: 40em) {
    .txt-mob {
      display: inline-block; } }
  @media print, screen and (min-width: 64em) {
    .txt-mob {
      display: none; } }

.txt-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .txt-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .txt-desk {
      display: inline-block; } }

.text-green {
  color: #1ce783; }

.text-left {
  text-align: left;
  padding: 0 .5rem; }
  @media print, screen and (min-width: 64em) {
    .text-left {
      padding-right: 3rem; } }

.text-padding {
  padding-right: 0; }
  @media print, screen and (min-width: 64em) {
    .text-padding {
      padding-right: 3rem; } }

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

.tthh-height {
  height: 100vh; }

.tthh-section {
  margin-top: 7rem; }

.tthh-short {
  margin-top: 1rem; }

.tthh-container {
  padding: 4rem 1rem;
  color: #FFFFFF; }
  @media print, screen and (min-width: 64em) {
    .tthh-container {
      padding: 7rem; } }
  .tthh-container .img-arrow {
    width: 100px;
    float: left;
    margin-right: 1.25rem; }
  .tthh-container .highlight span {
      font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900;
    background-color: #1ce783;
    padding: 0.938rem 1.563rem;
    border-radius: 1.563rem; }
  .tthh-container .subheader {
      font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
      font-weight: 900 !important;
    color: #FFFFFF;
    font-size: 1.7rem;
    margin: 1.7rem 0 2.5rem 0;
    letter-spacing: -1px;
    text-align: center;
    -webkit-transition: all ease-in-out 2.25s;
    transition: all ease-in-out 2.25s; }
    @media print, screen and (min-width: 64em) {
      .tthh-container .subheader {
        font-size: 3.125rem; } }
  .tthh-container .subtitle {
    max-width: 61.875rem;
    margin: 0 auto;
    padding: 1.5rem 0;
    font-size: 1.063rem; }
    @media print, screen and (min-width: 64em) {
      .tthh-container .subtitle {
        font-size: 1.4rem;
        padding: 2.5rem 0; } }
  .tthh-container h4 {
    font-size: 17px;
    color: #FFFFFF;
    letter-spacing: 0.031rem;
    margin: 2.5rem 0; }
    @media print, screen and (min-width: 40em) {
      .tthh-container h4 {
        font-size: 1.5rem; } }
  .tthh-container a.button, .tthh-container .button-menu {
    padding: 1.1rem 1.2rem;
    margin: 0;
    background-color: #FFFFFF;
    color: #000000;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif; }
    .tthh-container a.button:hover, .tthh-container .button-menu:hover {
      background-color: #FFFFFF !important;
      opacity: .8 !important; }

.h4 {
  font-size: 17px;
  margin-bottom: -5px; }
  @media print, screen and (min-width: 40em) {
    .h4 {
      font-size: 1.5rem; } }

.text-upper {
  text-transform: uppercase;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-size: 1rem !important;
  letter-spacing: 10%; }

.all-container {
  margin-top: 25vh; }

.tthh-masthead {
  padding-top: 7rem; }
  @media print, screen and (min-width: 64em) {
    .tthh-masthead {
      padding-top: 14rem; } }

.button-menu {
  padding: 0.9rem 1rem !important;
  color: #000000 !important; }

.originals-tile-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  text-align: center;
  -webkit-align-content: baseline;
      -ms-flex-line-pack: baseline;
          align-content: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FFFFFF;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  font-size: 1.5rem;
  text-shadow: 1px 1px 8px #333;
  line-height: 1.9rem;
  padding: 0 20px;
  z-index: 999; }
  @media print, screen and (min-width: 64em) {
    .originals-tile-cover {
      font-size: 2.6rem;
      line-height: 2.9rem; } }

.img-grid {
  margin-bottom: 8.75rem;
  margin-top: -1.5rem; }

.img-chan {
  margin-top: 5.5rem; }

.grid-tabs {
  padding: 7rem 5.5rem 0 3.5rem; }

.grid-deal {
  padding-top: 4rem; }

.grid-flip {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  @media print, screen and (min-width: 64em) {
    .grid-flip {
      -webkit-box-orient: initial;
      -webkit-box-direction: initial;
      -webkit-flex-direction: initial;
          -ms-flex-direction: initial;
              flex-direction: initial; } }

.icon-arrow-container {
  margin: 14rem 0 0 0;
  overflow: hidden; }

.icon-arrow {
  width: 60px; }
  @media print, screen and (min-width: 64em) {
    .icon-arrow {
      width: 100px; } }

.quiz-container {
  margin: 10rem 0;
  padding: 5.5rem 10%;
  background-color: #1ce783;
  color: #151515; }

video.tthh-video {
  width: 100%;
  height: 70%;
  margin-top: 2.5rem;
  z-index: -1;
  border-radius: 20px;
  outline: none; }
  @media print, screen and (min-width: 64em) {
    video.tthh-video {
      width: 80%; } }

a.button {
  text-transform: uppercase;
  white-space: nowrap;
  background: #FFFFFF;
  letter-spacing: 1px;
  color: #000000;
  padding: 0.7rem .6rem; }
  @media print, screen and (min-width: 40em) {
    a.button {
      padding: 0.9rem 1rem; } }

.marketing-site-three-up {
  text-align: center;
  padding: 2rem 0; }
  .marketing-site-three-up .row {
    max-width: 900px; }
  .marketing-site-three-up .columns {
    margin-bottom: 1rem; }
    @media screen and (min-width: 40em) {
      .marketing-site-three-up .columns {
        margin-bottom: 0; } }
  .marketing-site-three-up .fa {
    font-size: 3rem;
    margin-bottom: 1rem;
    color: #040405; }

.marketing-site-three-up-headline {
  margin-bottom: 2rem;
  font-size: 24px; }

.note-fav {
  font-size: 0.625rem;
  color: #FFFFFF;
  letter-spacing: 0.0625rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 1rem 1rem 0 1rem; }
  @media print, screen and (min-width: 40em) {
    .note-fav {
      margin: 1rem 3rem 0 3rem; } }
  @media print, screen and (min-width: 64em) {
    .note-fav {
      margin: 1rem 0 0 0; } }

.note-live {
  margin-top: -1.5rem; }

.live-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  -webkit-align-content: space-between;
      -ms-flex-line-pack: justify;
          align-content: space-between;
  -webkit-flex-flow: wrap;
      -ms-flex-flow: wrap;
          flex-flow: wrap;
  margin: 4rem 0; }
  @media print, screen and (min-width: 64em) {
    .live-wrapper {
      margin: 7rem 0; } }
  .live-wrapper div {
    padding: 5px;
    margin: 10px;
    width: 50px;
    height: 50px;
    background: white;
    border-radius: 70%;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .live-wrapper div {
        padding: 9px;
        width: 70px;
        height: 70px; } }

.img-live-icon {
  background-color: #FFFFFF;
  width: 40px;
  height: 40px; }
  @media print, screen and (min-width: 40em) {
    .img-live-icon {
      width: 50px;
      height: 50px; } }

footer .footer--legal-link {
  font-size: 12px; }

.section {
  display: grid;
  place-items: center; }

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(calc(-250px * 7));
    transform: translateX(calc(-250px * 7)); } }

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    -webkit-transform: translateX(calc(-250px * 7));
    transform: translateX(calc(-250px * 7)); } }

.slider {
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 100%; }

.slider::before, .slider::after {
  content: "";
  height: 100px;
  position: absolute;
  width: 200px;
  z-index: 2; }

.slider::after {
  right: 0;
  top: 0;
  -webkit-transform: rotateZ(180deg);
  -ms-transform: rotate(180deg);
      transform: rotateZ(180deg); }

.slider::before {
  left: 0;
  top: 0; }

.slider .slide-track {
  -webkit-animation: scroll 30s linear infinite;
  animation: scroll 30s linear infinite;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: calc(250px * 14); }

.slider .slide {
  height: 100px;
  width: 250px; }

.note-new-price {
  margin: 10px 0;
  margin: 0 10px 15px 0; }
  @media print, screen and (min-width: 40em) {
    .note-new-price {
      margin: 10px 0; } }
  @media print, screen and (min-width: 64em) {
    .note-new-price {
      margin: 10px 0; } }

.note-new-price p {
  color: #111111;
  font-size: 12px;
  padding-bottom: 0;
  font-size: 10px;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .note-new-price p {
      font-size: 12px;
      text-align: left; } }
  @media print, screen and (min-width: 64em) {
    .note-new-price p {
      padding-bottom: 0;
      font-size: 12px;
      text-align: left; } }

.chart-feed {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  font-size: 20px;
  text-align: center;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  color: #1ce783;
  margin: 60px 0 0 0; }
  @media print, screen and (min-width: 40em) {
    .chart-feed {
      font-size: 24px;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .chart-feed {
      font-size: 32px;
      text-align: left; } }

.close-button-center {
  position: relative;
  margin: 0 auto;
  width: 100%; }
  .close-button-center:after {
    content: '';
    background: url(https://hulu-matchmaker.s3.amazonaws.com/attachments/ckro70zxjobbr1u72rc1zmsac-icon-close.svg) no-repeat;
    width: 25px;
    height: 25px;
    padding: 0;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center; }

.audio-wrapper {
  z-index: 99999;
  position: fixed;
  right: 360px;
  top: 22px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  right: 70px;
  top: 15px; }
  @media print, screen and (min-width: 40em) {
    .audio-wrapper {
      right: 70px;
      top: 15px; } }
  @media print, screen and (min-width: 64em) {
    .audio-wrapper {
      right: 360px;
      top: 22px; } }

#player-container #play-pause {
  cursor: pointer;
  text-indent: -999999px;
  height: 25px;
  width: 25px;
  padding: 0;
  z-index: 2;
  background-repeat: no-repeat !important;
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; }

.play {
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5ikheo0saug1v3cnqcp1utb-icon-sound-off.full.png"); }

.pause {
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5ikhejxapzh1v586o6b7ihv-icon-sound-on.full.png") !important; }

.reveal-overlay {
  z-index: 999999; }

.body-bk {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckl9u2nsf28in1u83g93t94ft-bk-tthh-grad.full.png") top center repeat-y !important;
  background-color: #000000 !important;
  background-position: 0 0 !important;
  background-size: 190% !important;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1; }
  @media print, screen and (min-width: 64em) {
    .body-bk {
      background-size: 100% !important; } }

.close-button {
  position: absolute;
  z-index: 9999999;
  top: 20px;
  color: #111;
  font-size: 30px;
  right: 0; }
  .close-button:hover {
    color: #111;
    opacity: .7; }

.reveal {
  max-width: 1330px;
  height: auto;
  width: 90% !important; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 90% !important; } }
  @media print, screen and (min-width: 64em) {
    .reveal {
      width: 60% !important; } }

.button-margin {
  margin-top: 36px; }
  @media print, screen and (min-width: 40em) {
    .button-margin {
      margin-top: 49px; } }
  @media print, screen and (min-width: 64em) {
    .button-margin {
      margin-top: 49px; } }

/* *{
  border: 1px solid;
} */
body {
  -webkit-font-feature-settings: "kern" 1;
          font-feature-settings: "kern" 1;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.Title, .module h2 {
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  letter-spacing: -.03em;
  line-height: 100%; }

p {
  line-height: 135%; }

body,
html {
  width: 100%;
  height: 100%;
  margin: 0; }

body {
  background-color: #1C1B21;
  color: #040405; }

.top-bar {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(225, 225, 225, 0)), to(#040405));
  background-image: linear-gradient(to top, rgba(225, 225, 225, 0), #040405);
  padding-bottom: 7px; }

.masthead-bo {
  height: 95vh;
  width: 100%;
  padding: 64px;
  background-color: #F28EA3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.Title-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto; }

.title-bo-wrapper {
  display: block;
  float: left; }

.title-h2-bo {
  display: block; }

.Title {
  font-size: 128px;
  opacity: 0;
  -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
      -ms-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
          transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
  will-change: opacity, transform;
  -webkit-animation: revealText 1000ms cubic-bezier(0.7, 0, 0.3, 1) forwards 250ms;
          animation: revealText 1000ms cubic-bezier(0.7, 0, 0.3, 1) forwards 250ms;
  margin: 0; }

.Title-mask {
  display: block;
  position: relative;
  text-align: start;
  overflow: hidden; }

.Title-line {
  background-color: #1ce783;
  border-radius: .2em;
  padding: .3em .2em;
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
      -ms-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
          transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
  will-change: opacity, transform;
  -webkit-animation: revealText 1000ms cubic-bezier(0.7, 0, 0.3, 1) forwards;
          animation: revealText 1000ms cubic-bezier(0.7, 0, 0.3, 1) forwards;
  margin-top: 8px;
  font-size: 128px;
  color: #000000;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

.Title-leading {
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  display: inline-block;
  -webkit-animation: revealLead 300ms cubic-bezier(0.7, 0, 0.3, 1) forwards 875ms;
          animation: revealLead 300ms cubic-bezier(0.7, 0, 0.3, 1) forwards 875ms; }

.arrow-down {
  font-family: "Poppins", sans-serif;
  font-style: normal;
  line-height: 100%;
  height: 128px;
  width: 128px;
  background-color: #FFFFFF;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-animation: pop-in .5s forwards;
          animation: pop-in .5s forwards;
  -webkit-animation-delay: 1200ms;
          animation-delay: 1200ms;
  visibility: hidden;
  cursor: pointer;
  -webkit-transition: .2s ease;
  transition: .2s ease; }
  .arrow-down:hover {
    margin-bottom: -5px;
    background-color: #FFFFFF95; }

.Title-mask:nth-child(1) .Title-line {
  -webkit-animation-delay: 250ms;
          animation-delay: 250ms; }

.Title-mask:nth-child(2) .Title-line {
  -webkit-animation-delay: 500ms;
          animation-delay: 500ms; }

@-webkit-keyframes revealLead {
  from {
    opacity: 1;
    -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0); } }

@keyframes revealLead {
  from {
    opacity: 1;
    -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0); } }

@-webkit-keyframes revealText {
  from {
    opacity: 1;
    -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0); } }

@keyframes revealText {
  from {
    opacity: 1;
    -webkit-transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 100%) matrix(1, 0, 0, 1, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0);
            transform: translate(0%, 0%) matrix(1, 0, 0, 1, 0, 0); } }

@-webkit-keyframes pop-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    visibility: visible; }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    visibility: visible; }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    visibility: visible; } }

@keyframes pop-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0);
    visibility: visible; }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    visibility: visible; }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    visibility: visible; } }

.module {
  padding: 64px 0;
  margin: 0 auto; }
  .module h2 {
    font-size: 56px;
    margin: 0;
    line-height: 115%; }
  .module p {
    font-family: arial;
    font-weight: 100;
    font-size: 18px;
    margin: 1vw 0 0 0; }

.module.one {
  background-color: #1C1B21; }
  .module.one h2 {
    color: #E8E8E9; }
  .module.one p {
    color: #C5CAD3; }

.module.two, .bk-switch-green {
  background-color: #1ce783;
  -webkit-transition: all ease-in-out .3s;
  transition: all ease-in-out .3s; }
  .module.two h2, .bk-switch-green h2 {
    color: #1C1B21; }
  .module.two p, .bk-switch-green p {
    color: #1C1B21; }

.module-header {
  max-width: 1800px;
  width: 100%;
  margin: 0 auto;
  padding: 0 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 16px;
  margin-bottom: 32px; }

.module video {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-color: #FFFFFF10; }

.module-top {
  position: relative;
  z-index: 99; }

.owl-bo {
  margin: 0; }
  .owl-bo .item {
    margin: 10px; }

.owl-bo-cards {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: -57px; }
  @media print, screen and (min-width: 40em) {
    .owl-bo-cards {
      margin-top: -62px; } }
  @media print, screen and (min-width: 64em) {
    .owl-bo-cards {
      margin-top: -90px; } }

.owl-dots {
  display: none; }

.video-container {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden; }

.video-container video {
  width: 100%;
  height: 100%;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0; }

.scroll-bound {
  height: 250vh;
  text-align: center; }
  .scroll-bound .content {
    width: 100%;
    top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start; }
  .scroll-bound video {
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    width: auto;
    border-radius: 20px;
    height: 100vh; }

.vid-top {
  margin: 0 auto;
  max-width: 1680px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background-color: transparent !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 91%;
  border-radius: 12px; }
  @media print, screen and (min-width: 40em) {
    .vid-top {
      width: 85%;
      border-radius: 20px; } }
  @media print, screen and (min-width: 64em) {
    .vid-top {
      width: 93%;
      border-radius: 20px; } }

.vid-size {
  width: 80%; }

.size-full {
  position: fixed;
  top: 0;
  border-radius: 0 !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 125% !important;
  max-width: 125% !important;
  height: 100vh; }
  @media print, screen and (min-width: 40em) {
    .size-full {
      width: 230% !important;
      max-width: 230% !important;
      height: 105vh; } }
  @media print, screen and (min-width: 64em) {
    .size-full {
      width: auto !important;
      max-width: 100% !important;
      height: 100vh; } }

.size-org {
  width: 80% !important;
  position: relative;
  left: auto;
  top: auto; }

.vid-big-wrapper {
  margin-top: 60px;
  margin-bottom: 60px; }

.vid-desk {
  display: block;
  max-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .vid-desk {
      display: block;
      max-width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .vid-desk {
      display: block;
      max-width: 100%; } }

.vid-tab {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .vid-tab {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    .vid-tab {
      display: none; } }

.vid-mob {
  display: block; }
  @media print, screen and (min-width: 40em) {
    .vid-mob {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .vid-mob {
      display: none; } }

@media only screen and (max-width: 1024px) {
  .masthead {
    height: 95vh;
    padding: 48px;
    background-color: #FFBF00; }
  .masthead-bo {
    height: 95vh;
    padding: 48px;
    background-color: #FFBF00; }
  .Title {
    font-size: 96px; }
  .Title-line {
    font-size: 96px; }
  .module {
    padding: 48px 24px; }
    .module h2 {
      font-size: calc(40rem / 16); }
    .module p {
      font-family: arial;
      font-size: 16px; } }

@media only screen and (max-width: 768px) {
  .masthead {
    height: 75vh;
    padding: 24px;
    background-color: #2AB0DC; }
  .masthead-bo {
    height: 95vh;
    padding: 24px;
    background-color: #2AB0DC; }
  .Title {
    font-size: 56px; }
  .Title-line {
    font-size: 56px; }
  .module {
    padding: 48px 0; }
    .module h2 {
      /* font-size:8vw; */
      font-size: calc(32rem / 16);
      margin-bottom: 0; }
    .module p {
      margin-top: 24px; }
  .module-header {
    grid-template-columns: 1fr;
    grid-gap: 0px;
    padding: 0 24px; } }

@media only screen and (max-width: 428px) {
  .masthead {
    height: 80vh;
    padding: 24px;
    background-color: #9747FF; }
  .masthead-bo {
    height: 95vh;
    padding: 24px;
    background-color: #9747FF; }
  .Title {
    font-size: 12vw; }
  .Title-line {
    font-size: 12vw; }
  .module {
    padding: 48px 0; }
    .module h2 {
      /* font-size:8vw; */
      font-size: calc(32rem / 16);
      margin-bottom: 0; }
    .module p {
      margin-top: 24px; }
  .module-header {
    grid-template-columns: 1fr;
    grid-gap: 0px;
    padding: 0 24px; } }

body, .body-bk-test {
  background-color: #E8EAED !important; }

.dp-wrap {
  margin: 120px auto;
  position: relative;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  height: 100%; }

.dp-slider {
  height: 100%;
  width: 100%;
  position: absolute;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.dp-slider div {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.dp_item {
  display: block;
  position: absolute;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  -webkit-transition: -webkit-transform 1.2s;
  transition: -webkit-transform 1.2s;
  transition: transform 1.2s;
  transition: transform 1.2s, -webkit-transform 1.2s; }

.dp-img img {
  /* border-left: 1px solid #fff; */ }

#dp-slider .dp_item:first-child {
  z-index: 10 !important;
  -webkit-transform: rotateY(0deg) translateX(0px) !important;
          transform: rotateY(0deg) translateX(0px) !important; }

.dp_item[data-position="2"] {
  z-index: 9;
  -webkit-transform: rotateY(0deg) translateX(10%) scale(0.9);
          transform: rotateY(0deg) translateX(10%) scale(0.9); }

.dp_item[data-position="3"] {
  z-index: 8;
  -webkit-transform: rotateY(0deg) translateX(20%) scale(0.8);
          transform: rotateY(0deg) translateX(20%) scale(0.8); }

.dp_item[data-position="4"] {
  z-index: 7;
  -webkit-transform: rotateY(0deg) translateX(30%) scale(0.7);
          transform: rotateY(0deg) translateX(30%) scale(0.7); }

#dp-next,
#dp-prev {
  position: absolute;
  top: 50%;
  right: 70%;
  height: 27px;
  width: 16px;
  z-index: 10;
  cursor: pointer; }

#dp-prev {
  left: 15px;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

#dp-dots {
  position: absolute;
  bottom: 25px;
  z-index: 12;
  left: 38%;
  cursor: default; }

#dp-dots li {
  display: none;
  width: 13px;
  height: 13px; }

#dp-dots li:hover {
  cursor: pointer;
  -webkit-transition: background 0.3s;
  transition: background 0.3s; }

#dp-dots li.active {
  display: block !important; }

.dp_item {
  width: 85%; }

.dp-content,
.dp-img {
  text-align: left; }

.dp_item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 10px;
  overflow: hidden;
  border-top: none; }

.dp-content {
  padding-left: 100px;
  padding-right: 0;
  display: inline-block;
  width: 100%; }

.dp-content h2 {
  color: #41414b;
  font-family: Circular Std Bold;
  font-size: 48px;
  max-width: 460px;
  margin-top: 8px;
  margin-bottom: 0px; }

.dp-content p {
  color: #74747f;
  max-width: 490px;
  margin-top: 15px;
  font-size: 24px; }

.dp-content .site-btn {
  margin-top: 15px;
  font-size: 18px;
  padding: 19px 40px; }

.dp-img img {
  /* object-fit: cover;
object-position: right; */ }

#dp-slider,
.dp-img img {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

#dp-slider .dp_item:hover:not(:first-child) {
  cursor: pointer; }

.site-btn {
  color: #fff;
  font-size: 18px;
  font-family: "Circular Std Medium";
  background: #16181D;
  padding: 14px 33px;
  display: inline-block;
  border-radius: 50px;
  position: relative;
  top: -10px;
  text-decoration: none; }

.site-btn:hover {
  text-decoration: none;
  color: #fff; }

.testimonial-wrapper {
  margin-top: 100px;
  display: inline-block; }

.testimonial-header {
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-size: 40px;
  color: #16181D;
  line-height: 46.4px;
  width: 470px;
  margin: -450px 0 0 -150px; }

.testimonial-name {
  margin-top: 35px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  /* Base/Grey-900 */
  color: #586174; }

.testimonial-num {
  position: absolute;
  font-size: 12px;
  text-align: center;
  width: 120px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 7px;
  pointer-events: none;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.dp-arrows-wrapper {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  position: absolute;
  width: 427px;
  right: -70%;
  top: 490px;
  left: auto; }

.dp-arrows-container {
  right: 0;
  position: relative;
  width: auto;
  margin-top: 0; }

@media only screen and (max-width: 1024px) {
  .dp-slider {
    margin-bottom: 60px;
    display: inline-block; }
  .dp_item {
    width: 85%; }
  #dp-dots {
    left: 0; }
  #dp-dots li.active {
    width: 100%;
    margin-top: 0; }
  #dp-slider,
  .dp-img img {
    width: 450px; }
  .testimonial-header {
    width: 470px;
    position: absolute;
    margin: 0;
    width: 600px;
    margin-top: 60px; }
  .dp-arrows-wrapper {
    left: 0; }
  .dp-arrows-container {
    right: -70%;
    position: absolute;
    width: 60%;
    margin-top: 400px; } }

@media only screen and (max-width: 768px) {
  .dp-slider {
    margin-bottom: 60px;
    display: inline-block; }
  .dp_item {
    width: 85%; }
  #dp-dots {
    display: block !important;
    width: auto;
    margin-top: 120px;
    left: 0; }
  #dp-dots li.active {
    width: 100% !important;
    margin-top: 120px; }
  #dp-slider,
  .dp-img img {
    width: 100%;
    height: auto; }
  .testimonial-header {
    margin: 0;
    width: 370px;
    font-size: 24px;
    line-height: 28px; }
  .dp-arrows-wrapper {
    position: relative;
    width: 100%;
    right: 0;
    top: 480px;
    left: 0; }
  .dp-arrows-container {
    right: -70%;
    position: absolute;
    width: 60%;
    margin-top: 400px; } }

@media only screen and (max-width: 428px) {
  .dp-slider {
    margin-bottom: 0;
    display: inline; }
  .dp_item {
    width: 95%; }
  #dp-dots {
    display: block !important;
    width: auto;
    margin-top: 120px;
    left: 0; }
  #dp-dots li.active {
    width: 100%;
    margin-top: 120px; }
  #dp-slider,
  .dp-img img {
    width: 100%;
    height: auto; }
  .testimonial-header {
    font-size: 24px;
    line-height: 28px; }
  .dp-arrows-wrapper {
    position: relative;
    width: 100%;
    right: 0;
    top: 420px; }
  .dp-arrows-container {
    right: -70%;
    position: absolute;
    width: 60%;
    margin-top: 400px; } }

.body-bk-lolla {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aaqkm0w71u5ue2sml92t-gradient-background-375.full.jpg") top center no-repeat !important;
  background-color: #000000 !important;
  background-position: 0 0 !important;
  background-size: cover !important;
  position: fixed;
  width: 100%;
  height: 100vh;
  -webkit-transition: all ease-in-out .1s;
  transition: all ease-in-out .1s;
  z-index: -1; }
  @media print, screen and (min-width: 40em) {
    .body-bk-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aapdm10o1u5ue09fogxb-gradient-background-768.full.jpg") top center no-repeat !important;
      background-size: cover !important;
      width: 100%;
      height: 100vh; } }
  @media print, screen and (min-width: 64em) {
    .body-bk-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aasp6udk1u6mr0f8k7h3-gradient-background-1600.full.jpg") top center no-repeat !important;
      background-color: #000000 !important;
      background-position: 0 0 !important;
      background-size: cover !important;
      position: fixed;
      width: 100%;
      height: 100vh; } }

.masthead-cover-ill {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvuu9o67g1u5ut8kstgul-masthead-illustration-frame-1920.svg") no-repeat top center;
  background-size: 100% auto;
  position: absolute;
  width: 95.5%;
  margin-top: 4.5rem;
  margin-left: 2.5%;
  height: 100vh;
  border-radius: 40px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

.lolla-height {
  height: 100vh; }

.lolla-section {
  margin-top: 7rem; }

.lolla-short {
  margin-top: 1rem; }

.lolla-short-s {
  padding-top: 1rem;
  margin-top: -2rem; }
  @media print, screen and (min-width: 64em) {
    .lolla-short-s {
      padding-bottom: 1rem !important; } }

.lolla-container {
  padding: 4rem 0;
  color: #FFFFFF; }
  @media print, screen and (min-width: 64em) {
    .lolla-container {
      padding: 7rem; } }

.grid-lolla {
  padding: 0rem 0.5rem 0 0.5rem; }
  @media print, screen and (min-width: 64em) {
    .grid-lolla {
      padding: 2rem 0 0 3.5rem; } }

.lolla-container-mobile {
  padding: 4rem 1rem; }
  @media print, screen and (min-width: 64em) {
    .lolla-container-mobile {
      padding: 7rem; } }

.lolla-tabs-container {
  padding: 4rem 0 2rem 0;
  color: #FFFFFF; }
  @media print, screen and (min-width: 64em) {
    .lolla-tabs-container {
      padding: 7rem 0 7rem 7rem; } }

.lolla-on-mob {
  width: 85%;
  margin: 0 auto;
  margin-top: 2rem;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .lolla-on-mob {
      display: block;
      width: 85%;
      margin: 0 auto;
      margin-top: 2rem; } }
  @media print, screen and (min-width: 64em) {
    .lolla-on-mob {
      display: none;
      width: 100%;
      margin-top: 0; } }

.lolla-on-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .lolla-on-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .lolla-on-desk {
      display: block;
      position: absolute;
      right: -10%;
      margin: -400px 0 0 0;
      width: 120%; } }

.lolla22-on-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .lolla22-on-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-on-desk {
      max-width: 90%; } }

.img-arrow {
  width: 100px;
  float: left;
  margin-right: 1.25rem; }

.h1-lolla {
  width: 75%;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .h1-lolla {
      font-size: 3.375rem;
      width: 80%;
      text-align: center;
      margin: 0 auto;
      margin-top: 2rem;
      line-height: 62px;
      padding: 0 5rem; } }
  @media print, screen and (min-width: 64em) {
    .h1-lolla {
      font-size: 5rem;
      line-height: 5.9rem;
      width: 100%;
      padding: 0 3rem 3rem 0;
      text-align: left; } }

.h4-lolla {
  margin: 0 auto;
  margin-top: 2rem;
  width: 80%; }
  @media print, screen and (min-width: 40em) {
    .h4-lolla {
      margin: 0 auto;
      margin-top: 2rem;
      width: 80%; } }
  @media print, screen and (min-width: 64em) {
    .h4-lolla {
      margin: 0;
      width: 100%; } }

.break {
  display: block;
  display: inline; }

.img-doo-wap {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 40%; }
  @media print, screen and (min-width: 40em) {
    .img-doo-wap {
      width: 164px; } }
  @media print, screen and (min-width: 64em) {
    .img-doo-wap {
      width: 286px; } }

.highlight span {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  background-color: #1ce783;
  padding: 0.938rem 1.563rem;
  border-radius: 1.563rem; }

.subheader {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  color: #FFFFFF;
  font-size: 1.7rem;
  margin: 1.7rem 0 2.5rem 0;
  letter-spacing: -1px;
  text-align: center;
  -webkit-transition: all ease-in-out 2.25s;
  transition: all ease-in-out 2.25s; }
  @media print, screen and (min-width: 64em) {
    .subheader {
      font-size: 3.125rem; } }

.masthead-wide-lolla22 {
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  margin-top: 190px !important; }
  @media print, screen and (min-width: 40em) {
    .masthead-wide-lolla22 {
      margin-top: 190px !important; } }
  @media print, screen and (min-width: 64em) {
    .masthead-wide-lolla22 {
      margin-top: 100px !important; } }

.masthead-wide-lolla {
  padding: 14rem 0 30rem 0; }

.masthead-logo-lolla {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29qqw5m1m31u5u7t9cv9wo-masthead-lolla-logo-mobile.svg") top center no-repeat !important;
  width: 270x !important;
  height: 180px;
  background-size: 80% !important;
  background-position: 0 0;
  margin: 0 auto;
  margin-top: -3rem;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  width: 270px;
  height: 150px; }
  @media print, screen and (min-width: 40em) {
    .masthead-logo-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29qqw5m1m31u5u7t9cv9wo-masthead-lolla-logo-mobile.svg") top center no-repeat !important;
      width: 738px;
      height: 180px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-logo-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29qqw5m1m31u5u7t9cv9wo-masthead-lolla-logo-mobile.svg") top center no-repeat !important;
      background-size: 90% !important;
      background-position: 0 0;
      margin: 0 auto;
      width: 450px !important;
      height: 240px; } }

.masthead-logo-lolla22 {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl430hzxawkzx1v5skla1x68s-lolla22-masthead.full.png") top center no-repeat;
  background-size: 100%;
  background-position: 0 0;
  margin: 0 auto;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  width: 270px;
  height: 120px;
  margin-top: -12.5rem; }
  @media print, screen and (min-width: 40em) {
    .masthead-logo-lolla22 {
      width: 380px;
      height: 160px;
      margin-top: -8rem; } }
  @media print, screen and (min-width: 64em) {
    .masthead-logo-lolla22 {
      width: 470px;
      height: 230px;
      margin-top: -3rem; } }

.masthead-cover-lolla22-top {
  position: relative;
  width: 100%;
  padding-top: 70px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  .masthead-cover-lolla22-top .masthead-lolla22-left {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl44uk8un27mo1v5e6dkimzhq-lolla22-mast-tl.full.png") top left no-repeat;
    position: absolute;
    left: 0;
    background-size: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    width: 150px;
    height: 160px; }
    @media print, screen and (min-width: 40em) {
      .masthead-cover-lolla22-top .masthead-lolla22-left {
        width: 280px;
        height: 210px; } }
    @media print, screen and (min-width: 64em) {
      .masthead-cover-lolla22-top .masthead-lolla22-left {
        width: 320px;
        height: 280px; } }
  .masthead-cover-lolla22-top .masthead-lolla22-center {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl44uk8yj27ra1v4nzkihkn8w-lolla22-mast-tc.full.png") top center no-repeat;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
    background-size: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    width: 300px;
    height: 160px; }
    @media print, screen and (min-width: 40em) {
      .masthead-cover-lolla22-top .masthead-lolla22-center {
        width: 280px;
        height: 180px; } }
    @media print, screen and (min-width: 64em) {
      .masthead-cover-lolla22-top .masthead-lolla22-center {
        width: 520px;
        height: 180px; } }
  .masthead-cover-lolla22-top .masthead-lolla22-right {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl44vg65ejyw71v2d505dgv4n-lolla22-mast-tr.full.png") top right no-repeat;
    position: absolute;
    right: 0;
    background-size: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    width: 150px;
    height: 160px; }
    @media print, screen and (min-width: 40em) {
      .masthead-cover-lolla22-top .masthead-lolla22-right {
        width: 280px;
        height: 210px; } }
    @media print, screen and (min-width: 64em) {
      .masthead-cover-lolla22-top .masthead-lolla22-right {
        width: 440px;
        height: 280px; } }

.masthead-cover-lolla22-bot {
  width: 100%;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  .masthead-cover-lolla22-bot::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaaiaps7v1v1ymifjuy6a-lolla22-mast-speaker-l.full.png") bottom left no-repeat;
    background-size: 60%;
    width: 180px;
    height: 200px;
    display: none; }
    @media print, screen and (min-width: 40em) {
      .masthead-cover-lolla22-bot::before {
        width: 280px;
        height: 360px;
        display: block; } }
    @media print, screen and (min-width: 64em) {
      .masthead-cover-lolla22-bot::before {
        background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaaiaps7v1v1ymifjuy6a-lolla22-mast-speaker-l.full.png") bottom left no-repeat;
        background-size: 100%;
        width: 270px;
        height: 500px;
        display: block; } }
  .masthead-cover-lolla22-bot::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaa8d4x6l1v6hi4bdzuvj-lolla22-mast-speaker-r.full.png") bottom right no-repeat;
    width: 180px;
    height: 200px;
    background-size: 60%;
    display: none; }
    @media print, screen and (min-width: 40em) {
      .masthead-cover-lolla22-bot::after {
        width: 350px;
        height: 460px;
        display: block; } }
    @media print, screen and (min-width: 64em) {
      .masthead-cover-lolla22-bot::after {
        background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaa8d4x6l1v6hi4bdzuvj-lolla22-mast-speaker-r.full.png") bottom right no-repeat;
        width: 270px;
        height: 500px;
        background-size: 100%;
        display: block; } }

.masthead-block-wrapper {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  margin-top: -1rem;
  z-index: 9; }

.subtitle-bold {
  margin-top: -1rem;
  font-weight: 800;
  margin-top: 0; }
  @media print, screen and (min-width: 40em) {
    .subtitle-bold {
      margin-top: .6rem; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-bold {
      margin-top: -1rem; } }

.subtitle-require {
  font-size: .9rem !important;
  margin: 0 auto;
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 10px !important;
  max-width: 80%; }
  @media print, screen and (min-width: 40em) {
    .subtitle-require {
      font-size: .7rem !important;
      max-width: 360px; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-require {
      font-size: .9rem !important;
      max-width: 560px; } }

.note-lolla {
  display: block;
  margin: .2rem 0 1rem 0; }

.note-lolla22 {
  padding: 0 80px !important; }
  @media print, screen and (min-width: 40em) {
    .note-lolla22 {
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .note-lolla22 {
      padding: 0; } }

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

a.button-header-lolla.button {
  -webkit-transition-delay: .3s !important;
          transition-delay: .3s !important; }
  a.button-header-lolla.button:hover {
    background-color: #FFFFFF;
    color: #000000;
    opacity: .8 !important; }

.button-header-lolla {
  margin-top: 1.5rem; }

.button-watch-lolla {
  margin: 0 auto;
  margin-top: 0;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 220px;
  display: none;
  margin-top: -2rem;
  margin-bottom: 6rem; }

.lolla22-lineup {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: block;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  margin-top: -200px;
  position: relative;
  text-align: center;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaao4ecad1v58nnwwlfko-lolla22-mast-boat.full.png") no-repeat center center;
  background-size: 100%;
  width: 260px;
  height: 250px; }
  @media print, screen and (min-width: 40em) {
    .lolla22-lineup {
      margin-left: auto;
      margin-right: auto;
      position: relative;
      text-align: center;
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaao4ecad1v58nnwwlfko-lolla22-mast-boat.full.png") no-repeat center center;
      background-size: 100%;
      width: 405px;
      height: 450px; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-lineup {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lcaao4ecad1v58nnwwlfko-lolla22-mast-boat.full.png") no-repeat center center;
      position: absolute;
      background-size: 100%;
      width: 530px;
      height: 550px;
      margin: -380px 0 0 0;
      left: none;
      right: 120px; } }

.carousel-lolla {
  padding: 3rem 0 3rem 0;
  margin-bottom: 4rem;
  padding: 0 0 1rem 0 !important; }
  @media print, screen and (min-width: 64em) {
    .carousel-lolla {
      padding: 3rem 0 0 0;
      margin-bottom: 9rem; } }

.carousel-lolla-22 {
  padding: 3rem 0 3rem 0;
  margin-bottom: 4rem;
  padding: 0 0 1rem 0 !important; }
  @media print, screen and (min-width: 64em) {
    .carousel-lolla-22 {
      padding: 3rem 0 0 0;
      margin-bottom: 9rem; } }

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

.accordion-title-lolla {
  margin-bottom: 0; }

.accordion-item {
  border-bottom: solid 1px #EBEDF2; }

.masthead-icons-wrapper {
  position: absolute;
  width: 100%;
  z-index: 2;
  margin-top: -6rem; }

.masthead-icons {
  position: absolute;
  margin: 0 5%;
  max-width: 100%; }

.masthead-t1 {
  left: 2%;
  top: 190px; }

.masthead-t2 {
  left: 26%;
  top: 80px; }

.masthead-t3 {
  left: 47%;
  top: 70px;
  width: 190px; }

.masthead-t4 {
  left: 71%;
  top: 120px;
  width: 230px; }

.masthead-t5 {
  left: 0;
  top: 520px;
  width: 260px; }

.masthead-t6 {
  left: 20%;
  top: 610px;
  width: 120px; }

.masthead-t7 {
  left: 57%;
  top: 645px;
  width: 185px; }

.masthead-t8 {
  left: 69%;
  top: 500px;
  width: 150px; }

.masthead-t9 {
  left: 81%;
  top: 420px;
  width: 170px; }

.row-one {
  text-transform: uppercase;
  letter-spacing: 1px; }

.row-listen {
  display: block;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aamzm0z01u4wcahbelhe-right-arrow.svg") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  width: 29px;
  height: 29px;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .row-listen {
      width: 35px;
      height: 35px; } }
  @media print, screen and (min-width: 64em) {
    .row-listen {
      width: 35px;
      height: 35px; } }
  .row-listen:hover {
    opacity: .7; }

.text-bonus img {
  width: 29px;
  height: 29px; }
  @media print, screen and (min-width: 40em) {
    .text-bonus img {
      width: 35px;
      height: 35px; } }
  @media print, screen and (min-width: 64em) {
    .text-bonus img {
      width: 35px;
      height: 35px; } }

.lolla22-footer {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 0 9rem;
  margin: -80px 0 -2px 0; }
  @media print, screen and (min-width: 40em) {
    .lolla22-footer {
      padding: 0 9rem;
      margin: -80px 0 -2px 0; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-footer {
      padding: 0 9rem;
      margin: -80px 0 -2px 0; } }

.lolla22-footer-monkey {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl47622ov2yfh1v45oyjr4jqw-lolla22-footer-monkey.full.png") no-repeat bottom center;
  background-size: 100%;
  width: 135px;
  height: 250px;
  margin-left: -120px; }
  @media print, screen and (min-width: 40em) {
    .lolla22-footer-monkey {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl47622ov2yfh1v45oyjr4jqw-lolla22-footer-monkey.full.png") no-repeat bottom center;
      background-size: 100%;
      width: 168px;
      height: 300px;
      margin-left: -120px; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-footer-monkey {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl47622ov2yfh1v45oyjr4jqw-lolla22-footer-monkey.full.png") no-repeat bottom center;
      background-size: 100%;
      width: 288px;
      height: 383px; } }

.lolla22-footer-eyes {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: block;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl4x8f22nkxo11v8o6dq5flez-lolla22-eyes-bot-mob.full.png") no-repeat bottom center;
  background-size: 100%;
  width: 115px;
  height: 190px;
  right: 0;
  position: absolute;
  margin: -200px 0 0 0; }
  @media print, screen and (min-width: 40em) {
    .lolla22-footer-eyes {
      display: block;
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl4x8f22nkxo11v8o6dq5flez-lolla22-eyes-bot-mob.full.png") no-repeat bottom center;
      background-size: 100%;
      width: 178px;
      height: 231px;
      right: 0;
      position: absolute;
      margin: -229px 0 0 0; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-footer-eyes {
      display: none; } }

.lolla22-video {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 90%;
  margin-top: 40px;
  border-radius: 10px; }
  @media print, screen and (min-width: 40em) {
    .lolla22-video {
      width: 645px;
      margin-top: 0;
      border-radius: 20px; } }
  @media print, screen and (min-width: 64em) {
    .lolla22-video {
      width: 980px;
      margin-top: -80px;
      border-radius: 20px; } }

.clouds-sliding-background22 {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl465zh5b30js1v5fhkcdy0f3-lolla22-clouds.full.png") repeat-x;
  width: 100076px;
  -webkit-animation: slide 3960s linear infinite;
          animation: slide 3960s linear infinite;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-size: .8%;
  height: 550px; }
  @media print, screen and (min-width: 40em) {
    .clouds-sliding-background22 {
      background-size: 1.1%;
      height: 950px; } }
  @media print, screen and (min-width: 64em) {
    .clouds-sliding-background22 {
      background-size: 1.3%;
      height: 1310px; } }

@-webkit-keyframes slide {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(-100692px, 0, 0);
            transform: translate3d(-100692px, 0, 0); } }

@keyframes slide {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(-100692px, 0, 0);
            transform: translate3d(-100692px, 0, 0); } }

.lolla-section-fluffy {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 15rem 0 15rem 0; }
  @media print, screen and (min-width: 40em) {
    .lolla-section-fluffy {
      padding: 15rem 0 15rem 0; } }
  @media print, screen and (min-width: 64em) {
    .lolla-section-fluffy {
      padding: 21rem 7rem 13rem 7rem !important; } }

.temp-wrapper {
  margin: 0 10px; }

.temp-img {
  width: 90.2%;
  height: 362px;
  background-color: #424957;
  border-radius: 16px;
  text-align: center; }

.temp-img-left {
  float: left; }

.temp-img-right {
  float: right; }

@media only screen and (max-width: 2920px) {
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvuu9o67g1u5ut8kstgul-masthead-illustration-frame-1920.svg") no-repeat top center; } }

@media only screen and (max-width: 1800px) {
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvvh2o6b31u8p3oja3j42-masthead-illustration-frame-1600.svg") no-repeat top center;
    background-size: 100% auto; }
  .masthead-logo-lolla {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 1440px) {
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvt9g8zn61u6mxq3n9v7k-masthead-illustration-frame-1440.svg") no-repeat top center; }
  .masthead-logo-lolla {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 1280px) {
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvu5ko63o1u7fnu02jvhy-masthead-illustration-frame-1280.svg") no-repeat top center; } }

@media only screen and (max-width: 768px) {
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvshao60b1u6g1vi1jlrr-masthead-illustration-frame-768.svg") no-repeat top center; }
  .body-bk-lolla {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aapdm10o1u5ue09fogxb-gradient-background-768.full.jpg") top center no-repeat !important;
    background-size: cover !important;
    height: 100vh; }
  .masthead-logo-lolla {
    width: 430px; }
  .note-lolla {
    margin-top: 0; } }

@media only screen and (max-width: 475px) {
  .body-bk-lolla {
    height: 100vh; }
  .masthead-cover-ill {
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr3wvt1uo68r1u4wuaxlxcyn-masthead-illustration-frame-375.svg") no-repeat top center; }
  .subtitle {
    font-size: 1rem; }
  .masthead-block-wrapper {
    position: relative;
    width: 70%;
    margin: 0 auto;
    margin-top: -1rem;
    z-index: 9; }
  .masthead-wide-lolla {
    padding-bottom: 13rem; } }

.now-live {
  display: none;
  color: #1ce783;
  position: absolute;
  margin-top: -3px;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: bold; }

.active {
  display: block; }

body {
  background: none;
  background-color: #000000; }

.iaoi_cover {
  pointer-events: none;
  background: url("../img/img-iaoi-page-cover.png") no-repeat;
  position: fixed;
  background-position: 0 0;
  background-size: cover;
  z-index: 9999;
  width: 100%;
  height: 100%; }

.tile_container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 5287px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
  z-index: 9; }

.iaoi_tile {
  float: left;
  background-color: #FFFFFF;
  width: 200px;
  height: 300px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 10px;
  z-index: 9; }
  .iaoi_tile:hover {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-box-shadow: 0px 0px 24px -8px rgba(0, 0, 0, 0.41);
    box-shadow: 0px 0px 24px -8px rgba(0, 0, 0, 0.41);
    z-index: 999;
    position: relative;
    left: 0;
    top: 0; }

.iaoi_tile:nth-child(7n+1), .iaoi_tile:nth-child(30n+1), .iaoi_tile:nth-child(12n+1) {
  visibility: visible;
  margin: 10px 230px 10px 10px; }

.tile_zoom {
  width: 200px;
  height: 300px;
  background: #FFFFFF;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  cursor: default;
  text-transform: uppercase;
  letter-spacing: -.5px; }
  .tile_zoom:hover {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    -webkit-box-shadow: 0px 0px 24px -8px rgba(0, 0, 0, 0.41);
    box-shadow: 0px 0px 24px -8px rgba(0, 0, 0, 0.41);
    z-index: 999;
    position: absolute;
    left: 0;
    top: 0; }
  .tile_zoom h3 {
    font-family: Helvetica, sans-serif;
    font-weight: 900;
    font-size: 4.5rem;
    padding: 1.4rem 0 4rem 0; }
  .tile_zoom .tile_name_container {
    height: 90px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tile_zoom .tile_name_container h4 {
      font-family: Helvetica, sans-serif;
      font-weight: 900;
      font-size: 1.5rem;
      width: -webkit-min-content;
      width: -moz-min-content;
      width: min-content;
      padding: 0;
      margin: -.5rem 0 0 0; }

.tile_social_wrapper {
  position: absolute;
  background: blue;
  height: 100px;
  width: 80px;
  display: none; }

.iaoi_tile:hover .tile_social_wrapper {
  display: block;
  cursor: pointer;
  z-index: 99999; }

.tile_hidden {
  display: none; }

.tile_link {
  color: #000000; }
  .tile_link:hover {
    text-decoration: none;
    color: #000000; }

#capture_wrapper {
  display: none;
  position: fixed;
  z-index: 99999;
  bottom: 200px;
  text-align: center; }

canvas:nth-of-type(1) {
  display: none; }

canvas {
  width: 300px !important;
  height: 300px !important; }

.reveal {
  width: 375px;
  height: 559px; }

#widget {
  text-align: center; }
  #widget h1 {
    font-family: Helvetica, sans-serif;
    font-weight: 900;
    padding-top: 3rem;
    color: #000000;
    font-size: 7.5rem; }
  #widget h3 {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0 auto;
    padding-bottom: 4rem;
    width: 100%;
    font-family: Helvetica, sans-serif;
    font-weight: 900;
    text-transform: uppercase; }

body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.bk-gradient-huluween {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
  background-size: cover;
  background-position: 0 0;
  width: 100%;
  height: 100%;
  z-index: -999;
  position: fixed;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktw52zmyovgl1v1n48p2aibf-bg-veil-grad-2-mobile3.full.jpg") no-repeat;
  background-size: cover;
  height: 101vh; }
  @media print, screen and (min-width: 40em) {
    .bk-gradient-huluween {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      background-size: cover;
      height: 101vh; } }
  @media print, screen and (min-width: 64em) {
    .bk-gradient-huluween {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      background-size: cover;
      background-position: 0 0;
      width: 100%;
      height: 100%; } }

#hw-wrapper {
  display: grid;
  grid-template-columns: auto auto auto;
  padding: 0px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100vh;
  width: 100vw;
  overflow: auto;
  padding-right: 15px;
  overflow-y: scroll;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */ }

#hw-wrapper::-webkit-scrollbar {
  /* WebKit */
  width: 0;
  height: 0; }

.hw-tiles-wrapper {
  background: transparent;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9; }

.hw-gradient {
  width: 100vw;
  height: 100vh;
  z-index: 9;
  position: absolute;
  background: radial-gradient(transparent, black); }

.hw-container {
  width: 5057px;
  height: 3222px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 2677px; }
  @media print, screen and (min-width: 40em) {
    .hw-container {
      width: 3539px; } }
  @media print, screen and (min-width: 64em) {
    .hw-container {
      width: 5057px; } }

.icon-audio {
  margin-right: 2rem;
  cursor: pointer;
  position: absolute;
  z-index: 9;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  right: 40px;
  top: 12px; }
  @media print, screen and (min-width: 40em) {
    .icon-audio {
      right: 60px;
      top: 12px; } }
  @media print, screen and (min-width: 64em) {
    .icon-audio {
      right: 330px;
      top: 20px; } }
  .icon-audio:hover {
    opacity: .7; }

.icon-audio-sub {
  right: 40px; }
  @media print, screen and (min-width: 40em) {
    .icon-audio-sub {
      right: 60px; } }
  @media print, screen and (min-width: 64em) {
    .icon-audio-sub {
      right: 230px; } }

.playpause {
  cursor: pointer;
  text-indent: -999999px;
  height: 1.875rem;
  width: 1.875rem;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckrnuqlnun9rm1u6kcbsvb8tl-icon-audio-off.svg");
  background-repeat: no-repeat !important;
  background-position: center;
  background-size: 1.875rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.875rem; }

.icon-play {
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckro0fnhqnhyk1u6y8lv0xwqz-icon-audio-play.svg"); }

.icon-pause {
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckrnuqlnun9rm1u6kcbsvb8tl-icon-audio-off.svg"); }

.play-button {
  z-index: 99999999;
  color: #000;
  position: absolute;
  width: 100%;
  height: 30px;
  background: white;
  top: 500px;
  left: -543px;
  margin: 0 auto;
  right: 0; }

.hw-logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  height: 100vh;
  width: 100%;
  position: fixed; }
  .hw-logo img {
    width: 70%; }
    @media print, screen and (min-width: 40em) {
      .hw-logo img {
        width: 375px; } }
    @media print, screen and (min-width: 64em) {
      .hw-logo img {
        width: 375px; } }

.hw-tile {
  background: linear-gradient(349.11deg, #000000 -41.19%, rgba(0, 0, 0, 0) 41.44%), #424957;
  border-radius: 0.75rem;
  min-width: 15.625rem;
  min-height: 9.688rem;
  position: absolute;
  cursor: pointer;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  .hw-tile .hw-tile-info-wrapper {
    color: #FFFFFF;
    position: absolute;
    left: 0.625rem;
    bottom: 0.625rem;
    display: block;
    text-align: right; }
    .hw-tile .hw-tile-info-wrapper .hw-tile-title {
      font-weight: 600;
      letter-spacing: 0.1em;
      font-size: 0.625rem;
      text-transform: uppercase;
      text-align: left; }
    .hw-tile .hw-tile-info-wrapper .hw-tile-note {
      font-weight: 400;
      font-size: 0.438rem;
      letter-spacing: 0.1em;
      text-align: left; }
    .hw-tile .hw-tile-info-wrapper .hw-tile-img-network {
      border-radius: 0;
      margin-left: .4rem;
      height: 8px;
      margin-top: -1px; }
    .hw-tile .hw-tile-info-wrapper .hw-tile-img-network-long {
      height: 10px; }
  .hw-tile img {
    border-radius: 0.75rem; }

.hw-tile-355x295 {
  width: 22.188rem;
  height: 18.438rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 15.5316rem;
  height: 12.9066rem; }
  @media print, screen and (min-width: 40em) {
    .hw-tile-355x295 {
      width: 22.188rem;
      height: 18.438rem; } }
  @media print, screen and (min-width: 64em) {
    .hw-tile-355x295 {
      width: 22.188rem;
      height: 18.438rem; } }

.hw-tile-355x498 {
  width: 22.188rem;
  height: 31.125rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 15.5316rem;
  height: 21.7875rem; }
  @media print, screen and (min-width: 40em) {
    .hw-tile-355x498 {
      width: 22.188rem;
      height: 31.125rem; } }
  @media print, screen and (min-width: 64em) {
    .hw-tile-355x498 {
      width: 22.188rem;
      height: 31.125rem; } }

.hw-tile-250x440 {
  width: 15.625rem;
  height: 27.5rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 10.9375rem;
  height: 27.25rem; }
  @media print, screen and (min-width: 40em) {
    .hw-tile-250x440 {
      width: 15.625rem;
      height: 27.5rem; } }
  @media print, screen and (min-width: 64em) {
    .hw-tile-250x440 {
      width: 15.625rem;
      height: 27.5rem; } }

.hw-tile-505x235 {
  width: 31.563rem;
  height: 14.688rem;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 22.0941rem;
  height: 10.2816rem; }
  @media print, screen and (min-width: 40em) {
    .hw-tile-505x235 {
      width: 31.563rem;
      height: 14.688rem; } }
  @media print, screen and (min-width: 64em) {
    .hw-tile-505x235 {
      width: 31.563rem;
      height: 14.688rem; } }

.hw-tile-250x155 {
  width: 15.625rem;
  height: 9.688rem; }

.tile-1 {
  top: 1440px;
  left: 2425px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1087px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckstmn4260k3l1v7hts2r0pl9-american-horror-stories-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-1 {
      left: 1697px; } }
  @media print, screen and (min-width: 64em) {
    .tile-1 {
      left: 2425px; } }
  .tile-1:hover .img-layer-1 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckstmn4260k3l1v7hts2r0pl9-american-horror-stories-354x294-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-1:hover .img-layer-1 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-1:hover .img-layer-1 {
        margin-left: -177px; } }

.tile-2 {
  top: 1495px;
  left: 1850px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 706px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckt3j3bnodf9b1v7h5c8mll11-fear-the-walking-dead-354x498-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-2 {
      left: 1295px; } }
  @media print, screen and (min-width: 64em) {
    .tile-2 {
      left: 1850px; } }
  .tile-2:hover .img-layer-2 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckt3j3bnodf9b1v7h5c8mll11-fear-the-walking-dead-354x498-2x.full.jpg");
    margin: -17px 0 0 -178px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-2:hover .img-layer-2 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-2:hover .img-layer-2 {
        margin-left: -177px; } }

.tile-3 {
  top: 1230px;
  left: 1670px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 818.3px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktalxnu50ghu1v3djk9j6hvw-ouija-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-3 {
      left: 1169px; } }
  @media print, screen and (min-width: 64em) {
    .tile-3 {
      left: 1670px; } }
  .tile-3:hover .img-layer-3 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktalxnu50ghu1v3djk9j6hvw-ouija-354x294-2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-3:hover .img-layer-3 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-3:hover .img-layer-3 {
        margin-left: -177px; } }

.tile-4 {
  top: 1430px;
  left: 3125px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1611.25px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbqtsls1y7c1v5rgno31tf7-what-we-do-in-the-shadows-252x440-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-4 {
      left: 2187.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-4 {
      left: 3125px; } }
  .tile-4:hover .img-layer-4 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbqtsls1y7c1v5rgno31tf7-what-we-do-in-the-shadows-252x440-2x.full.jpg");
    margin: -17px 0 0 -124px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-4:hover .img-layer-4 {
        margin-left: -124px; } }
    @media print, screen and (min-width: 64em) {
      .tile-4:hover .img-layer-4 {
        margin-left: -124px; } }

.tile-5 {
  top: 1935px;
  left: 2545px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1247.05px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbrn8du1zcf1w7a5ztntfmw-drag-me-to-hell-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-5 {
      left: 1781.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-5 {
      left: 2545px; } }
  .tile-5:hover .img-layer-5 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbrn8du1zcf1w7a5ztntfmw-drag-me-to-hell-504x234-2x.full.jpg");
    margin: -17px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-5:hover .img-layer-5 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-5:hover .img-layer-5 {
        margin-left: -252px; } }

.tile-6 {
  top: 1315px;
  left: 2985px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  top: 1375px;
  left: 1462.65px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbsb4nr204q1v3dk5bmkmpc-gaia-252x156-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-6 {
      top: 1315px;
      left: 2089.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-6 {
      top: 1315px;
      left: 2985px; } }
  .tile-6:hover .img-layer-6 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbsb4nr204q1v3dk5bmkmpc-gaia-252x156-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-7 {
  top: 970px;
  left: 2230px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1312.7px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbsski620ux1v2cy52v95ut-antebellum-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-7 {
      left: 1561px; } }
  @media print, screen and (min-width: 64em) {
    .tile-7 {
      left: 2230px; } }
  .tile-7:hover .img-layer-7 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbsski620ux1v2cy52v95ut-antebellum-354x294-2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-7:hover .img-layer-7 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-7:hover .img-layer-7 {
        margin-left: -177px; } }

.tile-8 {
  top: 1600px;
  left: 3650px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1968.5px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbtif8c21qc1v26n41hccoc-censor-354x498-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-8 {
      left: 2555px; } }
  @media print, screen and (min-width: 64em) {
    .tile-8 {
      left: 3650px; } }
  .tile-8:hover .img-layer-8 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbtif8c21qc1v26n41hccoc-censor-354x498-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-8:hover .img-layer-8 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-8:hover .img-layer-8 {
        margin-left: -177px; } }

.tile-9 {
  top: 970px;
  left: 3550px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1739.5px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbv8ebj23y91v5ym0slxe7h-the-witch-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-9 {
      left: 2485px; } }
  @media print, screen and (min-width: 64em) {
    .tile-9 {
      left: 3550px; } }
  .tile-9:hover .img-layer-9 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbv8ebj23y91v5ym0slxe7h-the-witch-354x294-2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-9:hover .img-layer-9 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-9:hover .img-layer-9 {
        margin-left: -177px; } }

.tile-10 {
  top: 2365px;
  left: 3025px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1282.25px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbz68ka29541v3dicxca3if-buffy-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-10 {
      left: 2117.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-10 {
      left: 3025px; } }
  .tile-10:hover .img-layer-10 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktbz68ka29541v3dicxca3if-buffy-354x294-2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-10:hover .img-layer-10 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-10:hover .img-layer-10 {
        margin-left: -177px; } }

.tile-11 {
  top: 1001px;
  left: 1070px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 424.3px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc3axb32eic1w7azxc2f0lf-the-resort-354x498-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-11 {
      left: 749px; } }
  @media print, screen and (min-width: 64em) {
    .tile-11 {
      left: 1070px; } }
  .tile-11:hover .img-layer-11 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc3axb32eic1w7azxc2f0lf-the-resort-354x498-2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-11:hover .img-layer-11 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-11:hover .img-layer-11 {
        margin-left: -177px; } }

.tile-12 {
  top: 2582px;
  left: 1546px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 557.54px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7ngjwh3o2g1vak1b8c4dr5-childs-play2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-12 {
      left: 1082.2px; } }
  @media print, screen and (min-width: 64em) {
    .tile-12 {
      left: 1546px; } }
  .tile-12:hover .img-layer-12 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cku7ngjwh3o2g1vak1b8c4dr5-childs-play2x.full.jpg");
    margin: -17px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-12:hover .img-layer-12 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-12:hover .img-layer-12 {
        margin-left: -177px; } }

.tile-13 {
  top: 2340px;
  left: 2125px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 841.25px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc5ln9i2hj41w7avrweczrr-the-hunt-252x156-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-13 {
      left: 1487.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-13 {
      left: 2125px; } }
  .tile-13:hover .img-layer-13 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc5ln9i2hj41w7avrweczrr-the-hunt-252x156-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-14 {
  top: 2455px;
  left: 2260px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 907.4px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc9b0uu2maz1v5ycrsswnm0-the-conjuring-252x440-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-14 {
      left: 1582px; } }
  @media print, screen and (min-width: 64em) {
    .tile-14 {
      left: 2260px; } }
  .tile-14:hover .img-layer-14 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc9b0uu2maz1v5ycrsswnm0-the-conjuring-252x440-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-15 {
  top: 285px;
  left: 1975px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 767.75px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd3nadw00ag1v6t3wn184za-bad-hair-252x440-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-15 {
      left: 1382.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-15 {
      left: 1975px; } }
  .tile-15:hover .img-layer-15 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd3nadw00ag1v6t3wn184za-bad-hair-252x440-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-16 {
  top: 770px;
  left: 2875px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1408.75px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd44wr801731v6xo2icjz3d-the-evil-door-252x156-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-16 {
      left: 2012.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-16 {
      left: 2875px; } }
  .tile-16:hover .img-layer-16 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd44wr801731v6xo2icjz3d-the-evil-door-252x156-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-17 {
  top: 1850px;
  left: 910px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 345.9px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd8cjnc074m1v58tgxx6cgv-it-252x440-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-17 {
      left: 637px; } }
  @media print, screen and (min-width: 64em) {
    .tile-17 {
      left: 910px; } }
  .tile-17:hover .img-layer-17 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktd8cjnc074m1v58tgxx6cgv-it-252x440-2x.full.jpg");
    margin: -17px 0 0 -125px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem; }

.tile-18 {
  top: 2595px;
  left: 3230px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1582.7px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc2pfxz2dog1w49yycux5bo-american-horror-story-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-18 {
      left: 2261px; } }
  @media print, screen and (min-width: 64em) {
    .tile-18 {
      left: 3230px; } }
  .tile-18:hover .img-layer-18 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktc2pfxz2dog1w49yycux5bo-american-horror-story-504x234-2x.full.jpg");
    margin: -17px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-18:hover .img-layer-18 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-18:hover .img-layer-18 {
        margin-left: -252px; } }

.tile-19 {
  top: 845px;
  left: 705px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 245.45px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdan3dp08z01v4zz3qy1ycl-mother-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-19 {
      left: 493.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-19 {
      left: 705px; } }
  .tile-19:hover .img-layer-19 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdan3dp08z01v4zz3qy1ycl-mother-504x234-2x.full.jpg");
    margin: -17px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-19:hover .img-layer-19 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-19:hover .img-layer-19 {
        margin-left: -252px; } }

.tile-20 {
  top: 585px;
  left: 4025px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1972.25px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdb8ch10a6d1v7cbl7e9ekb-twilight-zone-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-20 {
      left: 2817.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-20 {
      left: 4025px; } }
  .tile-20:hover .img-layer-20 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdb8ch10a6d1v7cbl7e9ekb-twilight-zone-504x234-2x.full.jpg");
    margin: -17px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-20:hover .img-layer-20 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-20:hover .img-layer-20 {
        margin-left: -252px; } }

.tile-21 {
  top: 405px;
  left: 4460px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 2185.4px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktddgmot0d4v1v7ctw9bqlol-run-354x498-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-21 {
      left: 3122px; } }
  @media print, screen and (min-width: 64em) {
    .tile-21 {
      left: 4460px; } }
  .tile-21:hover .img-layer-21 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktddgmot0d4v1v7ctw9bqlol-run-354x498-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-21:hover .img-layer-21 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-21:hover .img-layer-21 {
        margin-left: -177px; } }

.tile-22 {
  top: 220px;
  left: 3350px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1641.5px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktde2bdx0dxe1v7c4d12yawi-the-purge-354x498-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-22 {
      left: 2345px; } }
  @media print, screen and (min-width: 64em) {
    .tile-22 {
      left: 3350px; } }
  .tile-22:hover .img-layer-22 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktde2bdx0dxe1v7c4d12yawi-the-purge-354x498-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-22:hover .img-layer-22 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-22:hover .img-layer-22 {
        margin-left: -177px; } }

.tile-23 {
  top: 1535px;
  left: 355px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 173.95px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdent400ecf1v75a2zvi1qm-black-swan-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-23 {
      left: 248.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-23 {
      left: 355px; } }
  .tile-23:hover .img-layer-23 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdent400ecf1v75a2zvi1qm-black-swan-354x294-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-23:hover .img-layer-23 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-23:hover .img-layer-23 {
        margin-left: -177px; } }

.tile-24 {
  top: 1675px;
  left: 4330px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 2261.7px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdh9gph0iu21v58bz6hgqbg-annabelle-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-24 {
      left: 3031px; } }
  @media print, screen and (min-width: 64em) {
    .tile-24 {
      left: 4330px; } }
  .tile-24:hover .img-layer-24 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdh9gph0iu21v58bz6hgqbg-annabelle-504x234-2x.full.jpg");
    margin: -16px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-24:hover .img-layer-24 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-24:hover .img-layer-24 {
        margin-left: -252px; } }

.tile-25 {
  top: 2445px;
  left: 355px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 173.95px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdhx6680jch1v4wgdjvskok-annihilation-504x234-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-25 {
      left: 248.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-25 {
      left: 355px; } }
  .tile-25:hover .img-layer-25 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdhx6680jch1v4wgdjvskok-annihilation-504x234-2x.full.jpg");
    margin: -16px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-25:hover .img-layer-25 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-25:hover .img-layer-25 {
        margin-left: -252px; } }

.tile-26 {
  top: 505px;
  left: 245px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 120.05px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdi8vhr0j3h1v4z46qmjdqj-exorcist-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-26 {
      left: 171.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-26 {
      left: 245px; } }
  .tile-26:hover .img-layer-26 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdi8vhr0j3h1v4z46qmjdqj-exorcist-354x294-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-26:hover .img-layer-26 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-26:hover .img-layer-26 {
        margin-left: -177px; } }

.tile-27 {
  top: 2265px;
  left: 4095px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 2006.55px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktn8ddopd8n21v6xxui46uzk-theemptyman.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-27 {
      left: 2866.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-27 {
      left: 4095px; } }
  .tile-27:hover .img-layer-27 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktn8ddopd8n21v6xxui46uzk-theemptyman.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-27:hover .img-layer-27 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-27:hover .img-layer-27 {
        margin-left: -177px; } }

.tile-28 {
  top: 2525px;
  left: 4270px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 2092.3px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktln1ciab5ug1v1n2z0p7mvt-false-positive-354x498.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-28 {
      left: 2989px; } }
  @media print, screen and (min-width: 64em) {
    .tile-28 {
      left: 4270px; } }
  .tile-28:hover .img-layer-28 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktln1ciab5ug1v1n2z0p7mvt-false-positive-354x498.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-28:hover .img-layer-28 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-28:hover .img-layer-28 {
        margin-left: -177px; } }

.tile-29 {
  top: 169px;
  left: 3265px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 1156.85px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktln1ckub54g1v7cgp4tn1cp-only-murders-504x234.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-29 {
      left: 1795.5px; } }
  @media print, screen and (min-width: 64em) {
    .tile-29 {
      left: 3265px; } }
  .tile-29:hover .img-layer-29 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktln1ckub54g1v7cgp4tn1cp-only-murders-504x234.full.jpg");
    margin: -16px 0 0 -252px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -177px; }
    @media print, screen and (min-width: 40em) {
      .tile-29:hover .img-layer-29 {
        margin-left: -252px; } }
    @media print, screen and (min-width: 64em) {
      .tile-29:hover .img-layer-29 {
        margin-left: -252px; } }

.tile-30 {
  top: 140px;
  left: 1270px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 322.3px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdks2qe0nbj1v1n0e3oonvv-american-psycho-354x294-2x.full.jpg");
  background-size: cover; }
  @media print, screen and (min-width: 40em) {
    .tile-30 {
      left: 889px; } }
  @media print, screen and (min-width: 64em) {
    .tile-30 {
      left: 1270px; } }
  .tile-30:hover .img-layer-30 {
    background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktdks2qe0nbj1v1n0e3oonvv-american-psycho-354x294-2x.full.jpg");
    margin: -16px 0 0 -177px;
    width: 100%;
    height: 100%;
    border-radius: 0.75rem;
    margin-left: -125px; }
    @media print, screen and (min-width: 40em) {
      .tile-30:hover .img-layer-30 {
        margin-left: -177px; } }
    @media print, screen and (min-width: 64em) {
      .tile-30:hover .img-layer-30 {
        margin-left: -177px; } }

.hw-tile-btn {
  background: none;
  background-size: 100%;
  position: absolute;
  width: 20px;
  height: 20px;
  width: 100%;
  height: 100%; }

.hw-tile-btn:hover {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cksywz3wi7jjw1v5yi685023n-icon-hover-huluween-shows.svg") no-repeat;
  display: block;
  background-position: center; }

.hw-uluh-one, .hw-uluh-two, .hw-uluh-three, .hw-uluh-four, .hw-uluh-five {
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1;
  visibility: visible;
  display: none;
  visibility: hidden; }
  @media print, screen and (min-width: 40em) {
    .hw-uluh-one, .hw-uluh-two, .hw-uluh-three, .hw-uluh-four, .hw-uluh-five {
      display: block;
      visibility: visible; } }
  @media print, screen and (min-width: 64em) {
    .hw-uluh-one, .hw-uluh-two, .hw-uluh-three, .hw-uluh-four, .hw-uluh-five {
      display: block;
      visibility: visible; } }

.hw-uluh-one {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktf2gsuc2ljx1v1nsyzv3l4g-spectral-uluh-wide-x.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-two {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktf2gsyi2ler1v6xyjr4lgaf-spectral-uluh-close-x.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-three {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktuq6krdmzz61v75mtc5a6iv-spectral-uluh-wide-2.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-four {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktuq6krkey681v4wdg8tp403-spectral-uluh-close-3.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-five {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktuq6ks6mqj21w7jppj3l5n6-spectral-uluh-wide-1.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-mob-one, .hw-uluh-mob-two, .hw-uluh-mob-three, .hw-uluh-mob-four {
  background-size: cover;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: -1;
  display: none;
  visibility: hidden;
  display: block;
  visibility: visible; }
  @media print, screen and (min-width: 40em) {
    .hw-uluh-mob-one, .hw-uluh-mob-two, .hw-uluh-mob-three, .hw-uluh-mob-four {
      display: none;
      visibility: hidden; } }
  @media print, screen and (min-width: 64em) {
    .hw-uluh-mob-one, .hw-uluh-mob-two, .hw-uluh-mob-three, .hw-uluh-mob-four {
      display: none;
      visibility: hidden; } }

.hw-uluh-mob-one {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktx3wqu3014m1vakabcwgkze-spectral-uluh-close-mobile3.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-mob-two {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktx3wqu6014n1v8jrejnrihe-spectral-uluh-wide-mobile2.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-mob-three {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktx3wqq301b41v9o1ofkrbys-spectral-uluh-close-mobile1.full.png") no-repeat;
  background-size: cover;
  display: none; }

.hw-uluh-mob-four {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktx3wqx600ye1v6b3g12zweh-spectral-uluh-wide-mobile4.full.png") no-repeat;
  background-size: cover;
  display: none; }

.cover-close-huluween {
  z-index: 99;
  cursor: pointer;
  top: 100px; }
  .cover-close-huluween:hover, .cover-close-huluween:active, .cover-close-huluween:focus {
    opacity: .8; }

.reveal-huluween {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important; }

body {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.h1-ps {
  width: 75%;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .h1-ps {
      font-size: 3.375rem;
      width: 80%;
      text-align: center;
      margin: 0 auto;
      margin-top: 2rem;
      line-height: 62px;
      padding: 0 2rem; } }
  @media print, screen and (min-width: 64em) {
    .h1-ps {
      font-size: 5rem;
      line-height: 5.9rem;
      width: 100%;
      padding: 0 6rem 3rem 0;
      text-align: left; } }

.ps-car-img {
  border-radius: 15px !important;
  margin: 0 0 -2px 0 !important; }

.ps-video {
  border-radius: 10px;
  outline: none;
  border: solid 3px #1ce783;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  border-radius: 10px;
  margin-top: 0;
  width: 90%;
  height: auto; }
  @media print, screen and (min-width: 40em) {
    .ps-video {
      border-radius: 20px;
      margin-top: 0;
      width: 90%;
      height: auto; } }
  @media print, screen and (min-width: 64em) {
    .ps-video {
      border-radius: 20px;
      margin-top: 0;
      width: 990px;
      height: 550px; } }

.button-header-watch {
  min-width: 220px;
  margin-top: 25px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  .button-header-watch:hover {
    opacity: .8 !important;
    background-color: #FFFFFF;
    color: #000000; }

.button-header-ps {
  padding: 0.9rem 1.5rem !important; }
  @media print, screen and (min-width: 40em) {
    .button-header-ps {
      padding: 0.9rem 1rem; } }
  @media print, screen and (min-width: 64em) {
    .button-header-ps {
      padding: 0.9rem 1rem; } }

.ps-share-wrapper {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-bottom: .5rem; }
  @media print, screen and (min-width: 40em) {
    .ps-share-wrapper {
      margin-bottom: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .ps-share-wrapper {
      margin-bottom: 1rem; } }

.masthead-wide-planeswap {
  padding: 12rem 0 12.5rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 103vh; }

.masthead-back-hulu {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  z-index: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 90%;
  height: 87%;
  top: 56%;
  border: solid 4px #1ce783;
  border-radius: 40px; }
  @media print, screen and (min-width: 40em) {
    .masthead-back-hulu {
      top: 50%;
      width: 90%;
      height: 85vh;
      border: solid 8px #1ce783;
      border-radius: 50px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-back-hulu {
      top: 52%;
      width: 80%;
      height: 85vh;
      border: solid 8px #1ce783;
      border-radius: 70px; } }

.masthead-block-wrapper-ps {
  position: relative;
  margin-top: 60px !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 70%; }

.masthead-back-planeswap .back-left .left-dots {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl1fgrmmu18pi1v7iq3vwhcn6-dots-left-top.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  position: absolute;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 250px;
  height: 300px; }
  @media print, screen and (min-width: 40em) {
    .masthead-back-planeswap .back-left .left-dots {
      width: 300px;
      height: 350px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-back-planeswap .back-left .left-dots {
      width: 410px;
      height: 480px;
      margin-top: -10px; } }

.masthead-back-planeswap .back-left .left-plane {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl0ll8f5k0bbq1v4n9ywo1cfg-ps-mast-left-plane.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  position: absolute;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 300px;
  height: 300px; }
  @media print, screen and (min-width: 40em) {
    .masthead-back-planeswap .back-left .left-plane {
      width: 530px;
      height: 300px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-back-planeswap .back-left .left-plane {
      width: 50%;
      max-width: 50%;
      height: 500px; } }

.masthead-back-planeswap .back-right .right-dots {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl0ll8ebl0bcs1v3pppmj2c5h-ps-mast-right-dots.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  width: 270px;
  height: 800px;
  position: absolute;
  right: 0;
  top: 300px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 180px;
  height: 530px;
  top: 620px; }
  @media print, screen and (min-width: 40em) {
    .masthead-back-planeswap .back-right .right-dots {
      width: 200px;
      height: 610px;
      top: 530px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-back-planeswap .back-right .right-dots {
      width: 270px;
      height: 800px;
      top: 300px; } }

.masthead-back-planeswap .back-right .right-plane {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl0ll8f2n0be81v26ecos2kvc-ps-mast-right-plane.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  position: absolute;
  right: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  max-width: 45%;
  width: 230px;
  height: 230px;
  bottom: -100px; }
  @media print, screen and (min-width: 40em) {
    .masthead-back-planeswap .back-right .right-plane {
      width: 400px;
      height: 400px;
      bottom: -90px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-back-planeswap .back-right .right-plane {
      width: 40%;
      height: 700px;
      bottom: -20%; } }

.masthead-logo-planeswap {
  padding: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 230px;
  margin: -55px 0 20px 0; }
  @media print, screen and (min-width: 40em) {
    .masthead-logo-planeswap {
      margin: -40px 0 25px 0;
      width: 400px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-logo-planeswap {
      margin: -40px 0 25px 0;
      width: 450px; } }

.bk-gradient-huluween {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
  background-size: cover;
  background-position: 0 0;
  width: 100%;
  height: 100%;
  z-index: -999;
  position: fixed;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktw52zmyovgl1v1n48p2aibf-bg-veil-grad-2-mobile3.full.jpg") no-repeat;
  background-size: cover;
  height: 101vh; }
  @media print, screen and (min-width: 40em) {
    .bk-gradient-huluween {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      background-size: cover;
      height: 101vh; } }
  @media print, screen and (min-width: 64em) {
    .bk-gradient-huluween {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cktvorw6doa0k1v6x6o057okg-bg-veil-grad-2-3x.full.jpg") no-repeat;
      background-size: cover;
      background-position: 0 0;
      width: 100%;
      height: 100%; } }

.subtitle-ps {
  width: 520px;
  margin: 0 auto;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 100%;
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .subtitle-ps {
      width: 520px;
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-ps {
      width: 600px; } }

.note-ps {
  display: block;
  margin: 0 auto;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 100%;
  padding: 5px 0; }
  @media print, screen and (min-width: 40em) {
    .note-ps {
      width: 400px;
      padding: 5px 0; } }
  @media print, screen and (min-width: 64em) {
    .note-ps {
      width: 400px;
      padding: 5px 0; } }

.container-wrapper {
  max-width: 1350px;
  overflow: hidden;
  text-align: center;
  color: #FFFFFF;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 70px auto;
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .container-wrapper {
      margin: 100px auto;
      padding: 0 40px; } }
  @media print, screen and (min-width: 64em) {
    .container-wrapper {
      margin: 140px auto;
      padding: 0 40px; } }

.container-left {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  float: none;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .container-left {
      float: none;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .container-left {
      width: 61%;
      float: left;
      text-align: left; } }

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

.container-right-high {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: 50px; }
  @media print, screen and (min-width: 40em) {
    .container-right-high {
      margin-top: 50px; } }
  @media print, screen and (min-width: 64em) {
    .container-right-high {
      margin-top: -5px; } }

.container-left-short {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 100%;
  float: none;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .container-left-short {
      width: 100%;
      float: none;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .container-left-short {
      width: 615px;
      float: left;
      text-align: left; } }

.carousel-ps {
  padding: 3rem 0 3rem 0;
  margin-bottom: 4rem;
  padding: 5rem 0 0 0 !important; }
  @media print, screen and (min-width: 40em) {
    .carousel-ps {
      padding: 5rem 0 0 0 !important; } }
  @media print, screen and (min-width: 64em) {
    .carousel-ps {
      padding: 10rem 0 0 0 !important;
      margin-bottom: 5rem; } }

.ps-on-mob {
  width: 85%;
  margin: 0 auto;
  margin-top: 2rem;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .ps-on-mob {
      display: block;
      width: 85%;
      margin: 0 auto;
      margin-top: 2rem; } }
  @media print, screen and (min-width: 64em) {
    .ps-on-mob {
      display: none;
      width: 100%;
      margin-top: 0; } }

.ps-on-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .ps-on-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .ps-on-desk {
      display: block;
      position: absolute;
      right: 0;
      margin: -750px 0 0 0;
      width: 120%; } }

.ps-text-block {
  margin: -220px 0 0 0;
  width: 580px; }

.dots-left-mid {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13uruvehobi1v5rz7jen0w5-ps-mid-left-dots.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-size: 80%;
  background-position: 0px 530px;
  width: 160px;
  height: 1000px;
  position: absolute;
  left: 0; }
  @media print, screen and (min-width: 40em) {
    .dots-left-mid {
      background-position: 0 500px;
      width: 250px;
      height: 1200px;
      position: absolute;
      left: 0;
      margin-top: 20%; } }
  @media print, screen and (min-width: 64em) {
    .dots-left-mid {
      background-position: 0 0;
      width: 250px;
      height: 830px;
      position: absolute;
      left: 0;
      top: 2100px;
      margin-top: 120%; } }

.dots-right-mid {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13twpvrlcex1v4j1pcdr4y1-ps-mid-right-dots.full.png") no-repeat;
  background-size: 100%;
  width: 230px;
  height: 620px;
  position: absolute;
  right: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-position: 80px 90px; }
  @media print, screen and (min-width: 40em) {
    .dots-right-mid {
      background-position: 0 0; } }
  @media print, screen and (min-width: 64em) {
    .dots-right-mid {
      background-position: 0 0; } }

.dots-right-bot {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl147641z022z1v4n1p2wvd6e-ps-bot-right-dots.full.png") no-repeat;
  background-size: 100%;
  background-position: 0 0;
  width: 230px;
  height: 480px;
  position: absolute;
  right: 0;
  z-index: -1;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 0; }
  @media print, screen and (min-width: 40em) {
    .dots-right-bot {
      margin: 0; } }
  @media print, screen and (min-width: 64em) {
    .dots-right-bot {
      margin: 250px 0 0 0; } }

.plane-right-mid {
  background-size: 100%;
  background-position: 0 0;
  position: absolute;
  height: 100%;
  right: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl15fvsjg0dvf19apysgnkz4v-ps-mid-right-plane-full.full.png") no-repeat;
  width: 380px;
  right: 0;
  left: 0;
  height: 400px;
  background-size: 90%;
  position: relative;
  margin-top: 40px; }
  @media print, screen and (min-width: 40em) {
    .plane-right-mid {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl15fvsjg0dvf19apysgnkz4v-ps-mid-right-plane-full.full.png") no-repeat;
      width: 640px;
      left: 0;
      right: 0;
      height: 500px;
      background-size: 100%;
      position: relative;
      margin-top: 0; } }
  @media print, screen and (min-width: 64em) {
    .plane-right-mid {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl15fvsjg0dvf19apysgnkz4v-ps-mid-right-plane-full.full.png") no-repeat;
      background-size: 100%;
      right: 20px;
      position: absolute;
      left: auto;
      width: 38%;
      margin-top: 0; } }

.diver-right-mid {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13ucbx7ahop1v6xlu5p9nmt-ps-mid-right-diver.full.png") no-repeat;
  background-size: 100%;
  right: 5%;
  margin-top: 10%;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13ucbx7ahop1v6xlu5p9nmt-ps-mid-right-diver.full.png") no-repeat;
  width: 95%;
  right: -40px;
  height: 430px;
  position: relative;
  margin: -220px 0 -100px 20px;
  background-size: 90%;
  background-position: 30px 0px; }
  @media print, screen and (min-width: 40em) {
    .diver-right-mid {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13ucbx7ahop1v6xlu5p9nmt-ps-mid-right-diver.full.png") no-repeat;
      width: 730px;
      right: 0;
      height: 500px;
      position: relative;
      margin: -200px 0 0 0; } }
  @media print, screen and (min-width: 64em) {
    .diver-right-mid {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl13ucbx7ahop1v6xlu5p9nmt-ps-mid-right-diver.full.png") no-repeat;
      background-size: 100%;
      width: 43%;
      height: 530px;
      margin: 0;
      max-width: 50%;
      right: 0;
      position: absolute;
      margin-top: 15%; } }

.text-right-ps {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .text-right-ps {
      padding: 15px 0 0 0; } }
  @media print, screen and (min-width: 64em) {
    .text-right-ps {
      padding: 15px 25px 0 0; } }

.text-right-short {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: 1.95rem; }
  @media print, screen and (min-width: 40em) {
    .text-right-short {
      margin-top: 0; } }
  @media print, screen and (min-width: 64em) {
    .text-right-short {
      margin-top: 0; } }

.devices-ps {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 0 20px; }
  @media print, screen and (min-width: 40em) {
    .devices-ps {
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .devices-ps {
      padding: 0 0 80px 0; } }

.grid-select-ps {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .grid-select-ps {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .grid-select-ps {
      display: block; } }

.tabs-wrapper-ps {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: -80px; }
  @media print, screen and (min-width: 40em) {
    .tabs-wrapper-ps {
      margin-top: 220px; } }
  @media print, screen and (min-width: 64em) {
    .tabs-wrapper-ps {
      margin-top: 220px; } }

.tabs-content-ps {
  margin: 0 auto;
  max-width: 100%; }

.tabs-ps {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.tabs-title-ps {
  width: auto !important;
  letter-spacing: 1.5px; }

.tabs-title-link {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  font-size: 11px !important;
  letter-spacing: .5px; }
  @media print, screen and (min-width: 40em) {
    .tabs-title-link {
      font-size: 12px !important;
      letter-spacing: .5px; } }
  @media print, screen and (min-width: 64em) {
    .tabs-title-link {
      font-size: 16px !important;
      letter-spacing: 1px; } }

@media (min-width: 1024px) and (max-width: 1306px) {
  .h4-ps {
    width: 80%; }
  .masthead-back-planeswap .back-right .right-plane {
    bottom: -40%; }
  .tabs-wrapper-ps {
    margin-top: 110px; }
  .ps-video {
    width: 80%;
    height: auto; } }

@media (min-width: 200px) and (max-width: 1023px) {
  .h4-ps {
    width: 80%; } }

@media (min-width: 1870px) and (max-width: 3306px) {
  .masthead-back-planeswap .back-left .left-plane {
    width: 41%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s; }
  .tabs-wrapper-ps {
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    margin-top: 350px; }
  .diver-right-mid {
    width: 36%; } }

.body-bk-lolla {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aaqkm0w71u5ue2sml92t-gradient-background-375.full.jpg") top center no-repeat !important;
  background-color: #000000 !important;
  background-position: 0 0 !important;
  background-size: cover !important;
  position: fixed;
  width: 100%;
  height: 100vh;
  -webkit-transition: all ease-in-out .1s;
  transition: all ease-in-out .1s;
  z-index: -1; }
  @media print, screen and (min-width: 40em) {
    .body-bk-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aapdm10o1u5ue09fogxb-gradient-background-768.full.jpg") top center no-repeat !important;
      background-size: cover !important;
      width: 100%;
      height: 100vh; } }
  @media print, screen and (min-width: 64em) {
    .body-bk-lolla {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aasp6udk1u6mr0f8k7h3-gradient-background-1600.full.jpg") top center no-repeat !important;
      background-color: #000000 !important;
      background-position: 0 0 !important;
      background-size: cover !important;
      position: fixed;
      width: 100%;
      height: 100vh; } }

.lolla-height {
  height: 100vh; }

.lolla-section {
  margin-top: 7rem; }

.lolla-short {
  margin-top: 1rem; }

.lolla-short-s {
  padding-top: 1rem;
  margin-top: -2rem; }
  @media print, screen and (min-width: 64em) {
    .lolla-short-s {
      padding-bottom: 1rem !important; } }

.lolla-container {
  padding: 4rem 0;
  color: #FFFFFF; }
  @media print, screen and (min-width: 64em) {
    .lolla-container {
      padding: 7rem; } }

.grid-lolla {
  padding: 0rem 0.5rem 0 0.5rem; }
  @media print, screen and (min-width: 64em) {
    .grid-lolla {
      padding: 2rem 0 0 3.5rem; } }

.lolla-container-mobile {
  padding: 4rem 1rem; }
  @media print, screen and (min-width: 64em) {
    .lolla-container-mobile {
      padding: 7rem; } }

.lolla-tabs-container {
  padding: 4rem 0 2rem 0;
  color: #FFFFFF; }
  @media print, screen and (min-width: 64em) {
    .lolla-tabs-container {
      padding: 10rem 0 7rem 7rem; } }

.bonn-tabs-container {
  color: #FFFFFF;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 2rem 0 2rem 0;
  margin-top: 50px; }
  @media print, screen and (min-width: 40em) {
    .bonn-tabs-container {
      padding: 7rem 0 2rem 0;
      margin-top: 50px; } }
  @media print, screen and (min-width: 64em) {
    .bonn-tabs-container {
      padding: 11rem 0 0 7rem;
      margin-top: 0; } }

.lolla-on-mob {
  width: 85%;
  margin: 0 auto;
  margin-top: 2rem;
  display: block; }
  @media print, screen and (min-width: 40em) {
    .lolla-on-mob {
      display: block;
      width: 65%;
      margin: 0 auto;
      margin-top: 2rem; } }
  @media print, screen and (min-width: 64em) {
    .lolla-on-mob {
      display: none;
      width: 100%;
      margin-top: 0; } }

.lolla-on-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .lolla-on-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .lolla-on-desk {
      display: block;
      position: absolute;
      right: -10%;
      margin: -400px 0 0 0;
      width: 120%; } }

.bonn-on-desk {
  display: none; }
  @media print, screen and (min-width: 40em) {
    .bonn-on-desk {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .bonn-on-desk {
      display: block;
      position: absolute;
      right: 0;
      margin: -270px 0 0 0;
      width: 600px; } }

.bonn-section-fluffy {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 2rem 0 8rem 0; }
  @media print, screen and (min-width: 40em) {
    .bonn-section-fluffy {
      padding: 15rem 0 15rem 0; } }
  @media print, screen and (min-width: 64em) {
    .bonn-section-fluffy {
      padding: 21rem 7rem 23rem 7rem; } }

.clouds-wrapper {
  position: absolute;
  overflow: hidden;
  width: 100%;
  margin-top: -60px; }
  @media print, screen and (min-width: 40em) {
    .clouds-wrapper {
      margin-top: 0; } }
  @media print, screen and (min-width: 64em) {
    .clouds-wrapper {
      margin-top: 0; } }

.clouds-sliding-background {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl3w16q6dnh5n1v5flie50nsq-clouds.full.png") repeat-x;
  width: 100076px;
  -webkit-animation: slide 3960s linear infinite;
          animation: slide 3960s linear infinite;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-size: .8%;
  height: 550px; }
  @media print, screen and (min-width: 40em) {
    .clouds-sliding-background {
      background-size: 1.1%;
      height: 950px; } }
  @media print, screen and (min-width: 64em) {
    .clouds-sliding-background {
      background-size: 1.3%;
      height: 1310px; } }

@keyframes slide {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  100% {
    -webkit-transform: translate3d(-100692px, 0, 0);
            transform: translate3d(-100692px, 0, 0); } }

.bonn-video {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 90%;
  margin-top: 40px;
  border-radius: 10px; }
  @media print, screen and (min-width: 40em) {
    .bonn-video {
      width: 645px;
      margin-top: 0;
      border-radius: 20px; } }
  @media print, screen and (min-width: 64em) {
    .bonn-video {
      width: 980px;
      margin-top: 0;
      border-radius: 20px; } }

.img-arrow {
  width: 100px;
  float: left;
  margin-right: 1.25rem; }

.h1-lolla {
  width: 75%;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .h1-lolla {
      font-size: 3.375rem;
      width: 80%;
      text-align: center;
      margin: 0 auto;
      margin-top: 2rem;
      line-height: 62px;
      padding: 0 5rem; } }
  @media print, screen and (min-width: 64em) {
    .h1-lolla {
      font-size: 5rem;
      line-height: 5.9rem;
      width: 100%;
      padding: 0 3rem 3rem 0;
      text-align: left; } }

.h1-bonn {
  width: 100%;
  margin: 0 auto; }

.h4-lolla {
  margin: 0 auto;
  margin-top: 2rem;
  width: auto;
  padding: 0 24px; }
  @media print, screen and (min-width: 40em) {
    .h4-lolla {
      margin: 0 auto;
      margin-top: 2rem;
      width: 80%;
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .h4-lolla {
      margin: 0;
      width: 100%;
      padding: 0; } }

.break {
  display: block;
  display: inline; }

.img-doo-wap {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 40%; }
  @media print, screen and (min-width: 40em) {
    .img-doo-wap {
      width: 164px; } }
  @media print, screen and (min-width: 64em) {
    .img-doo-wap {
      width: 286px; } }

.highlight span {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  background-color: #1ce783;
  padding: 0.938rem 1.563rem;
  border-radius: 1.563rem; }

.subheader {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 900 !important;
  color: #FFFFFF;
  font-size: 1.7rem;
  margin: 1.7rem 0 2.5rem 0;
  letter-spacing: -1px;
  text-align: center;
  -webkit-transition: all ease-in-out 2.25s;
  transition: all ease-in-out 2.25s; }
  @media print, screen and (min-width: 64em) {
    .subheader {
      font-size: 3.125rem; } }

.masthead-wide-bonn {
  margin-top: 100px; }

.masthead-wide-wrapper {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh; }

.masthead-wide-lolla {
  padding: 14rem 0 30rem 0; }

.masthead-logo-bonn {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl3w292568h7x1v2drgckmrf0-logo-lockup-bonn.full.png") top center no-repeat !important;
  background-position: 0 0;
  margin: 0 auto;
  margin-top: -3rem;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  width: 90%;
  height: 170px;
  background-size: 330px 143px !important; }
  @media print, screen and (min-width: 40em) {
    .masthead-logo-bonn {
      background-size: 100% !important;
      background-position: 0 0;
      width: 500px;
      height: 220px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .masthead-logo-bonn {
      background-size: 100% !important;
      background-position: 0 0;
      width: 600px;
      height: 270px;
      margin-bottom: 30px; } }

.masthead-block-wrapper {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  margin-top: -1rem;
  z-index: 9; }

.subtitle-bold {
  margin-top: -1rem;
  font-weight: 800;
  margin-top: 0; }
  @media print, screen and (min-width: 40em) {
    .subtitle-bold {
      margin-top: .6rem; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-bold {
      margin-top: -1rem; } }

.subtitle-require {
  font-size: .9rem !important;
  margin: 0 auto;
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 10px !important;
  max-width: 80%; }
  @media print, screen and (min-width: 40em) {
    .subtitle-require {
      font-size: .7rem !important;
      max-width: 360px; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-require {
      font-size: .9rem !important;
      max-width: 710px; } }

.note-lolla {
  display: block;
  margin: .2rem 0 1rem 0; }

.note-bonn {
  padding: 0 40px; }
  @media print, screen and (min-width: 40em) {
    .note-bonn {
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    .note-bonn {
      padding: 0; } }

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

a.button-header-lolla.button {
  -webkit-transition-delay: .3s !important;
          transition-delay: .3s !important; }
  a.button-header-lolla.button:hover {
    background-color: #FFFFFF;
    color: #000000;
    opacity: .8 !important; }

.button-header-lolla {
  margin-top: 1.5rem; }

.button-watch-lolla {
  margin: 0 auto;
  margin-top: 0;
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 220px;
  display: none;
  margin-top: -2rem;
  margin-bottom: 6rem; }

.carousel-lolla {
  padding: 3rem 0 3rem 0;
  margin-bottom: 4rem;
  padding: 0 0 1rem 0 !important; }
  @media print, screen and (min-width: 64em) {
    .carousel-lolla {
      padding: 9rem 0 0 0 !important;
      margin-bottom: 9rem; } }

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

.accordion-title-lolla {
  margin-bottom: 0; }

.accordion-item {
  border-bottom: solid 1px #EBEDF2; }

.masthead-icons-wrapper {
  position: absolute;
  width: 100%;
  z-index: 2;
  margin-top: -6rem; }

.masthead-icons {
  position: absolute;
  margin: 0 5%;
  max-width: 100%; }

.masthead-t1 {
  left: 2%;
  top: 190px; }

.masthead-t2 {
  left: 26%;
  top: 80px; }

.masthead-t3 {
  left: 47%;
  top: 70px;
  width: 190px; }

.masthead-t4 {
  left: 71%;
  top: 120px;
  width: 230px; }

.masthead-t5 {
  left: 0;
  top: 520px;
  width: 260px; }

.masthead-t6 {
  left: 20%;
  top: 610px;
  width: 120px; }

.masthead-t7 {
  left: 57%;
  top: 645px;
  width: 185px; }

.masthead-t8 {
  left: 69%;
  top: 500px;
  width: 150px; }

.masthead-t9 {
  left: 81%;
  top: 420px;
  width: 170px; }

.row-listen {
  display: block;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/ckr29aamzm0z01u4wcahbelhe-right-arrow.svg") no-repeat;
  background-position: 0 0;
  background-size: 100%;
  width: 29px;
  height: 29px;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .row-listen {
      width: 35px;
      height: 35px; } }
  @media print, screen and (min-width: 64em) {
    .row-listen {
      width: 35px;
      height: 35px; } }
  .row-listen:hover {
    opacity: .7; }

.text-bonus img {
  width: 29px;
  height: 29px; }
  @media print, screen and (min-width: 40em) {
    .text-bonus img {
      width: 35px;
      height: 35px; } }
  @media print, screen and (min-width: 64em) {
    .text-bonus img {
      width: 35px;
      height: 35px; } }

.temp-wrapper {
  margin: 0 10px; }

.temp-img {
  width: 90.2%;
  height: 362px;
  background-color: #424957;
  border-radius: 16px;
  text-align: center; }

.temp-img-left {
  float: left; }

.temp-img-right {
  float: right; }

@media only screen and (max-width: 2920px) {
  .h1-bonn {
    padding-right: 7rem; }
  .masthead-cover-bonn-top::before {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl2s1q2jo3a8t1v2dzdq5ik1v-mast-bonn-tl.full.png") no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    width: 22%;
    top: 70px;
    left: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s; }
  .masthead-cover-bonn-top::after {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl2s1qxuc366o1v4nmv0ro491-mast-bonn-tr.full.png") no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    width: 22%;
    top: 70px;
    right: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s; }
  .masthead-cover-bonn-bot::before {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl398p29qk3ca1v45dw6xjk7d-img-bon-bl.full.png") no-repeat bottom center;
    background-size: 100% auto;
    position: absolute;
    width: 22%;
    bottom: 0;
    left: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s; }
  .masthead-cover-bonn-bot::after {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl398p24rk2xb1v5sxqrycnbe-img-bon-br.full.png") no-repeat bottom center;
    background-size: 100% auto;
    position: absolute;
    width: 22%;
    bottom: 0;
    right: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s; } }

@media only screen and (max-width: 1800px) {
  .masthead-logo-lolla {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 1440px) {
  .masthead-logo-lolla {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 1022px) {
  .masthead-cover-bonn-top::before {
    content: '';
    top: 50px;
    width: 35%; }
  .masthead-cover-bonn-top::after {
    top: 50px;
    width: 35%; }
  .masthead-cover-bonn-bot::before {
    content: '';
    width: 35%; }
  .masthead-cover-bonn-bot::after {
    width: 35%; } }

@media only screen and (max-width: 768px) {
  .masthead-logo-lolla {
    width: 430px; }
  .note-lolla {
    margin-top: 0; }
  .h1-bonn {
    padding-right: 0; } }

@media only screen and (max-width: 475px) {
  .masthead-cover-bonn-top::before {
    content: '';
    top: 50px;
    width: 45%; }
  .masthead-cover-bonn-top::after {
    top: 50px;
    width: 45%; }
  .masthead-cover-bonn-bot::before {
    content: '';
    width: 45%; }
  .masthead-cover-bonn-bot::after {
    width: 45%; }
  .body-bk-lolla {
    height: 100vh; }
  .masthead-logo-lolla {
    width: 270px;
    height: 140px;
    margin-top: -3rem !important; }
  .subtitle {
    font-size: 1rem; }
  .masthead-block-wrapper {
    position: relative;
    width: 70%;
    margin: 0 auto;
    margin-top: -1rem;
    z-index: 9; }
  .masthead-wide-lolla {
    padding-bottom: 13rem; } }

.now-live {
  display: none;
  color: #1ce783;
  position: absolute;
  margin-top: -3px;
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: bold; }

.active {
  display: block; }

.note-fav-bonn {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 1rem 1.7rem 0 1.7rem; }
  @media print, screen and (min-width: 40em) {
    .note-fav-bonn {
      margin: 1rem 6rem 0 6rem; } }
  @media print, screen and (min-width: 64em) {
    .note-fav-bonn {
      margin: 1rem 3rem 0 0; } }

.subtitle-require {
  font-size: .9rem !important;
  margin: 0 auto;
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 10px !important;
  max-width: 80%; }
  @media print, screen and (min-width: 40em) {
    .subtitle-require {
      font-size: .7rem !important;
      max-width: 360px; } }
  @media print, screen and (min-width: 64em) {
    .subtitle-require {
      font-size: .9rem !important;
      max-width: 600px; } }

.acl-tabs-container {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 0;
  margin-bottom: -40px !important; }
  @media print, screen and (min-width: 40em) {
    .acl-tabs-container {
      padding: 4rem 0 2rem 0;
      color: #FFFFFF; } }
  @media print, screen and (min-width: 64em) {
    .acl-tabs-container {
      padding: 3rem 0 7rem 7rem; } }

.masthead-wide-acl {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: -100px; }
  @media print, screen and (min-width: 40em) {
    .masthead-wide-acl {
      margin-top: -100px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-wide-acl {
      margin-top: 100px; } }

.masthead-acl-mob {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  position: absolute;
  display: block;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8c0esxe1jml1v3jauydu6ie-acl-mast-mob.full.png") top center no-repeat !important;
  height: 300px;
  width: 100%;
  background-size: 100% !important;
  margin-top: 690px; }
  @media print, screen and (min-width: 40em) {
    .masthead-acl-mob {
      display: block;
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8c0esxe1jml1v3jauydu6ie-acl-mast-mob.full.png") top center no-repeat !important;
      height: 500px;
      width: 100%;
      background-size: 100% !important;
      margin-top: 690px; } }
  @media print, screen and (min-width: 64em) {
    .masthead-acl-mob {
      display: none; } }

.masthead-logo-acl {
  background-position: 0 0;
  margin: 0 auto;
  margin-top: -3rem;
  -webkit-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bxq6j21g5f1v4jk5gy2br6-acl-logo-mob.full.png") top center no-repeat !important;
  height: 220px;
  width: 155px;
  background-size: 100% !important; }
  @media print, screen and (min-width: 40em) {
    .masthead-logo-acl {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8avxz18031r1v5jkt2dyc8f-acl-logo.full.png") top center no-repeat !important;
      background-size: 100% !important;
      background-position: 0 0;
      width: 500px;
      height: 200px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .masthead-logo-acl {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8avxz18031r1v5jkt2dyc8f-acl-logo.full.png") top center no-repeat !important;
      background-size: 100% !important;
      background-position: 0 0;
      width: 600px;
      height: 270px; } }

@media only screen and (max-width: 2920px) {
  .masthead-cover-acl-top::before {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bxear01fpy1v4jehq650b4-acl-mast-tl.full.png") no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    width: 20%;
    top: 100px;
    left: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 40em) {
    .masthead-cover-acl-top::before {
      display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 64em) {
    .masthead-cover-acl-top::before {
      display: block; } }

@media only screen and (max-width: 2920px) {
  .masthead-cover-acl-top::after {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bxear71fpy1v3j29epgkfy-acl-mast-tr.full.png") no-repeat top center;
    background-size: 100% auto;
    position: absolute;
    width: 22%;
    top: 100px;
    right: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 40em) {
    .masthead-cover-acl-top::after {
      display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 64em) {
    .masthead-cover-acl-top::after {
      display: block; } }

@media only screen and (max-width: 2920px) {
  .masthead-cover-acl-bot::before {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bxeapw1fpz1v47qvi54w0c-acl-mast-bl.full.png") no-repeat bottom center;
    background-size: 100% auto;
    position: absolute;
    width: 33%;
    bottom: 0;
    left: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 40em) {
    .masthead-cover-acl-bot::before {
      display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 64em) {
    .masthead-cover-acl-bot::before {
      display: block; } }

@media only screen and (max-width: 2920px) {
  .masthead-cover-acl-bot::after {
    content: '';
    background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bxeasy1fpw1v0ye8ab25de-acl-mast-br.full.png") no-repeat bottom center;
    background-size: 100% auto;
    position: absolute;
    width: 30%;
    bottom: 0;
    right: 0;
    height: 100%;
    -webkit-transition: all ease-in-out .25s;
    transition: all ease-in-out .25s;
    display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 40em) {
    .masthead-cover-acl-bot::after {
      display: none; } }
  @media only screen and (max-width: 2920px) and (min-width: 64em) {
    .masthead-cover-acl-bot::after {
      display: block; } }

.stars {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl8bzdrk71ia91v14eyu01gcz-acl-mast-star.full.png") no-repeat center center;
  background-size: 100% auto;
  position: absolute;
  width: 22px;
  height: 25px; }

.stars-one {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-one {
      display: block;
      left: 7%;
      top: 100px; } }
  @media print, screen and (min-width: 64em) {
    .stars-one {
      display: block;
      left: 25%;
      top: 150px; } }

.stars-two {
  left: 6%;
  top: 280px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-two {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .stars-two {
      display: block; } }

.stars-three {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-three {
      display: block;
      left: 18%;
      top: 450px; } }
  @media print, screen and (min-width: 64em) {
    .stars-three {
      display: block;
      left: 18%;
      top: 350px; } }

.stars-four {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-four {
      display: block;
      left: 6%;
      top: 570px; } }
  @media print, screen and (min-width: 64em) {
    .stars-four {
      display: block;
      left: 2%;
      top: 420px; } }

.stars-five {
  right: 30%;
  top: 150px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-five {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .stars-five {
      display: block; } }

.stars-six {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-six {
      display: block;
      right: 12%;
      top: 390px; } }
  @media print, screen and (min-width: 64em) {
    .stars-six {
      display: block;
      right: 12%;
      top: 350px; } }

.stars-seven {
  right: 24%;
  top: 530px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-seven {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    .stars-seven {
      display: block; } }

.stars-eight {
  right: 2%;
  top: 540px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .stars-eight {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .stars-eight {
      display: block; } }

.h1-acl {
  margin-top: 50px !important;
  margin-bottom: -30px !important; }

.acl-on-desk {
  margin-top: -380px;
  width: 520px;
  right: 8%; }

@media only screen and (max-width: 3800px) {
  .dont-acl-on-desk {
    -webkit-transition: all ease-in-out .24s;
    transition: all ease-in-out .24s;
    width: 70%; } }

@media only screen and (max-width: 1800px) {
  .dont-acl-on-desk {
    width: 100%; }
  .masthead-logo-acl {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 1440px) {
  .dont-acl-on-desk {
    width: 120%; }
  .masthead-logo-acl {
    margin-top: -1rem !important; } }

@media only screen and (max-width: 475px) {
  .masthead-logo-acl {
    margin-top: 3rem !important; } }

#grid {
  margin-bottom: 60px;
  display: block;
  overflow: hidden; }

.wkb-body {
  display: block;
  position: absolute;
  width: 100%;
  height: 100vh;
  background: #1b1a1a;
  background: radial-gradient(circle, #1b1a1a 0%, #120e0e 100%); }
  @media print, screen and (min-width: 40em) {
    .wkb-body {
      position: absolute;
      width: 100%;
      height: 100vh; } }
  @media print, screen and (min-width: 64em) {
    .wkb-body {
      position: relative;
      width: 100%;
      height: 100%;
      background-color: #1F1D1D; } }

.wkb-wrapper {
  padding: 70px 30px;
  overflow: hidden;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  max-width: 1630px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  @media print, screen and (min-width: 64em) {
    .wkb-wrapper {
      width: 1630px; } }

.wkb-wrapper-desktop {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .wkb-wrapper-desktop {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .wkb-wrapper-desktop {
      display: block;
      overflow-y: scroll;
      height: 100vh;
      width: 100%;
      margin: 0 auto; } }

/* Hide scrollbar for Chrome, IE, Edge and Firefox */
.wkb-wrapper-desktop::-webkit-scrollbar {
  display: none; }

.wkb-wrapper-desktop {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.wkb-wrapper-mobile {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: block;
  background-size: 330px;
  background-position: center;
  background: radial-gradient(circle, #1b1a1a 0%, #120e0e 100%); }
  @media print, screen and (min-width: 40em) {
    .wkb-wrapper-mobile {
      display: block;
      background-size: 360px;
      background-position: center center;
      background: radial-gradient(circle, #1b1a1a 0%, #120e0e 100%); } }
  @media print, screen and (min-width: 64em) {
    .wkb-wrapper-mobile {
      display: none; } }

.wkb-back-mobile {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5h2btdtasec1v3vgqt9oduz-wkb-logo.full.png");
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .wkb-back-mobile {
      width: 300px;
      height: 100vh;
      background-repeat: no-repeat;
      background-position: center;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin: 0 auto;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 64em) {
    .wkb-back-mobile {
      display: none; } }

.door-img-wkb {
  width: 137px;
  height: 143px; }

.door-img-num {
  width: 163px;
  height: 289px; }

.door {
  position: relative;
  float: left;
  width: 165px;
  height: 344px;
  cursor: pointer;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transform: perspective(3000px) !important;
          transform: perspective(3000px) !important;
  margin: 15px 15px; }
  .door:hover {
    z-index: 2; }

.door-front {
  width: 170px;
  height: 345px;
  overflow: hidden;
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  position: absolute;
  background-color: #f9f9f9;
  z-index: 1;
  -webkit-transition: .5s;
  transition: .5s;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lidqdmek8f1v58ey8pw1l2-wkb-img-door-yellow.full.png") no-repeat;
  background-size: 100%; }

.door-front-red {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lidqagq0ap1v1y7bv3l23c-wkb-img-door-red.full.png") no-repeat;
  background-size: 100%; }

.door-front-green {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5lidq9uv9fu1v6w0jkbw34h-wkb-img-door-green.full.png") no-repeat;
  background-size: 100%; }

.door:hover .door-front {
  -webkit-transform: rotateY(110deg);
          transform: rotateY(110deg);
  -webkit-box-shadow: 30px 0 50px rgba(0, 0, 0, 0.2);
          box-shadow: 30px 0 50px rgba(0, 0, 0, 0.2); }

.door-back {
  position: relative;
  background: #ccc;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 10px solid #bc9645; }

.door-back-red {
  outline: 10px solid #8e291d; }

.door-back-green {
  outline: 10px solid #3c6754; }

.door-dark {
  color: #ffffff;
  background-color: transparent;
  outline: transparent solid 10px;
  cursor: default;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.door-back-link {
  width: 100%;
  height: 345px;
  display: block; }

.door-back-sus {
  -webkit-transition: all ease-in-out .75s !important;
  transition: all ease-in-out .75s !important;
  width: 170px;
  height: 345px;
  background-size: 130%;
  background-repeat: no-repeat;
  background-position: center center; }

.door-guilty {
  display: none;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.65);
  border: dashed 2px #f9f9f9;
  padding: 5px 10px;
  color: #f9f9f9;
  position: absolute;
  bottom: 20px;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  letter-spacing: .5px; }
  .door-guilty:hover {
    width: 90%;
    padding: 8px 15px;
    bottom: 17px;
    background: rgba(22, 22, 22, 0.35); }

.wkb-footer {
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#000000));
  background-image: linear-gradient(to bottom, transparent, #000000);
  position: fixed;
  bottom: 0;
  color: #FFFFFF;
  width: 100%;
  z-index: 9999;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  height: 80px;
  padding: 0 20px;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .wkb-footer {
      height: 120px;
      padding: 0 40px;
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .wkb-footer {
      height: 120px;
      padding: 0 40px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.wkb-footer-r {
  float: right;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .wkb-footer-r {
      display: block; } }
  @media print, screen and (min-width: 64em) {
    .wkb-footer-r {
      display: block; } }
  .wkb-footer-r img {
    width: 135px;
    height: 75px; }

.wkb-footer-title {
  color: #FFFFFF;
  font-size: 14px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  letter-spacing: 1px;
  padding-bottom: 15px; }

.footer-list ul li {
  font-size: 10px;
  float: left;
  padding-right: 15px;
  text-transform: uppercase; }
  .footer-list ul li a {
    color: #FFFFFF;
    text-decoration: none; }
    .footer-list ul li a:hover {
      text-decoration: underline; }

.spotlight {
  pointer-events: none;
  position: fixed;
  height: 100%;
  width: 100%;
  background-image: radial-gradient(circle, transparent 300px, rgba(0, 0, 0, 0.85) 800px);
  z-index: 9;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .spotlight {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .spotlight {
      display: block; } }

.reveal-wkb {
  background: transparent !important;
  scrollbar-width: none; }

.wkb-cover {
  cursor: pointer;
  width: 100%;
  height: 100%;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 9999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #FFFFFF; }

.cover-audio {
  position: absolute;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  text-transform: uppercase;
  text-align: right;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  font-size: 14px;
  top: 15px;
  right: 120px;
  width: 170px; }
  @media print, screen and (min-width: 40em) {
    .cover-audio {
      font-size: 14px;
      top: 15px;
      right: 120px;
      width: 170px; } }
  @media print, screen and (min-width: 64em) {
    .cover-audio {
      right: 410px;
      top: 18px;
      font-size: 24px;
      width: 300px; } }

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

.cover-instruction {
  font-size: 35px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  text-transform: uppercase;
  margin: 30px auto; }

.cover-instruction-mobile, .cover-share-mobile {
  font-size: 14px;
  font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
  text-transform: uppercase;
  margin: 30px auto;
  width: 200px; }

.cover-share-mobile {
  position: absolute;
  bottom: 55px; }

.cover-button-mobile {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl6143h4ok4re1v58v76qobs8-wlb-cover-button.full.png") no-repeat;
  background-position: center;
  background-size: contain;
  width: 200px;
  height: 40px;
  position: fixed;
  bottom: 35px; }

.cover-close {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-left: -25px; }
  .cover-close:after {
    content: '';
    background: url(https://hulu-matchmaker.s3.amazonaws.com/attachments/ckro70zxjobbr1u72rc1zmsac-icon-close.svg) no-repeat;
    width: 23px;
    height: 23px;
    background-size: 100%;
    position: absolute;
    margin: -1px 0px 0 10px; }

.cover-image {
  margin: 0 auto;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5jummurpnyo1w58axf6y010-wkb-cover-img-tap.full.png") center center no-repeat;
  width: 100px;
  height: 100px;
  background-size: 100%; }
  @media print, screen and (min-width: 40em) {
    .cover-image {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5jummurpnyo1w58axf6y010-wkb-cover-img-tap.full.png") center center no-repeat;
      width: 100px;
      height: 100px;
      background-size: 100%; } }
  @media print, screen and (min-width: 64em) {
    .cover-image {
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5h2skp4k7xt1v1yap38yg3x-wkb-cover-img-click.full.png") center center no-repeat;
      width: 100px;
      height: 100px;
      background-size: 100%; } }

.cover-image-mobile {
  margin: 0 auto;
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl6143gzdk4wy1v6w25k4mpfk-wkb-cover-mobile-frame.full.png") center center no-repeat;
  width: 200px;
  height: 300px;
  background-size: 100%; }
  @media print, screen and (min-width: 40em) {
    .cover-image-mobile {
      background: url("    https://hulu-matchmaker.s3.amazonaws.com/attachments/cl6143gzdk4wy1v6w25k4mpfk-wkb-cover-mobile-frame.full.png") center center no-repeat;
      width: 200px;
      height: 300px;
      background-size: 100%; } }
  @media print, screen and (min-width: 64em) {
    .cover-image-mobile {
      display: none; } }

.cover-message-desktop {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: none; }
  @media print, screen and (min-width: 40em) {
    .cover-message-desktop {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .cover-message-desktop {
      display: inline-block; } }

.cover-message-mobile {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  display: inline-block; }
  @media print, screen and (min-width: 40em) {
    .cover-message-mobile {
      display: inline-block; } }
  @media print, screen and (min-width: 64em) {
    .cover-message-mobile {
      display: none; } }

.reveal-wkb {
  border-radius: 8px;
  margin-top: 10px;
  background-color: #1F1D1D !important;
  padding: 40px;
  background-size: 80% !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 265px !important;
  height: 425px; }
  @media print, screen and (min-width: 40em) {
    .reveal-wkb {
      width: 300px !important;
      height: 480px; } }
  @media print, screen and (min-width: 64em) {
    .reveal-wkb {
      width: 280px !important;
      height: 450px; } }

.reveal-wkb-frame {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5l8gm4ie7al1v8ohk83xp27-wkb-modal-frame.full.png") center center no-repeat !important;
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99;
  background-size: 100% !important;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 210px;
  height: 384px;
  margin-top: -20px; }
  @media print, screen and (min-width: 40em) {
    .reveal-wkb-frame {
      width: 220p;
      height: 405px;
      margin-top: 0; } }
  @media print, screen and (min-width: 64em) {
    .reveal-wkb-frame {
      width: 220px;
      height: 404px;
      margin-top: -18px; } }

.reveal-wkb-card {
  margin: 0 auto;
  background-size: 100% !important;
  z-index: 9;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 163px;
  height: 340px; }
  @media print, screen and (min-width: 40em) {
    .reveal-wkb-card {
      width: 170px;
      height: 395px; } }
  @media print, screen and (min-width: 64em) {
    .reveal-wkb-card {
      width: 170px;
      height: 365px; } }

.reveal-title, .reveal-merch {
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  font-size: 16px;
  position: fixed;
  color: #ffffff;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  margin: 60px 0 0 0;
  text-transform: uppercase;
  letter-spacing: 1px; }

.reveal-merch {
  margin-top: 150px;
  text-decoration: underline; }
  .reveal-merch:hover, .reveal-merch:active, .reveal-merch:focus {
    color: #FFFFFF !important;
    text-decoration: none !important; }

.reveal-social-wrapper {
  position: fixed;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 100px auto;
  left: 0;
  right: 0; }

.btn-wkb-share {
  float: left;
  margin: 0 7.5px;
  display: block;
  background-color: #C3A404 !important;
  display: block;
  text-decoration: none;
  letter-spacing: 1px;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  font-size: 11px;
  text-transform: uppercase;
  background: #C3A404;
  color: #1F1D1D;
  border-radius: 4px;
  padding: 10px 25px 9px 37px;
  border: none !important;
  -webkit-transition: -webkit-transform ease-in-out .25s;
  transition: -webkit-transform ease-in-out .25s;
  transition: transform ease-in-out .25s;
  transition: transform ease-in-out .25s, -webkit-transform ease-in-out .25s;
  cursor: pointer;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 0 4.5px;
  padding: 10px 17px 9px 37px; }
  @media print, screen and (min-width: 40em) {
    .btn-wkb-share {
      margin: 0 7.5px;
      padding: 10px 25px 9px 37px; } }
  @media print, screen and (min-width: 64em) {
    .btn-wkb-share {
      margin: 0 7.5px;
      padding: 10px 25px 9px 37px; } }
  .btn-wkb-share:hover, .btn-wkb-share:active, .btn-wkb-share:focus {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    color: #1F1D1D !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }

.btn-wkb-fb {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5jyutsa35501v34swb50ryo-wkb-icon-share-fb.full.png") no-repeat !important;
  background-color: #C3A404 !important;
  background-size: 8% !important;
  background-position: 18px 8px !important; }

.btn-wkb-tw {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5jzvcjdclb91v58318ye6zf-wkb-icon-share-tw.full.png") no-repeat !important;
  background-color: #C3A404 !important;
  background-size: 15% !important;
  background-position: 16px 10px !important; }

.btn-wkb-ig {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5n0kozt1sgg1v6hjcxwcvxw-wkb-icon-share-ig.full.png") no-repeat !important;
  background-color: #C3A404 !important;
  background-size: 13% !important;
  background-position: 16px 9px !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin: 0 4.5px;
  padding: 8px 17px 7px 37px; }
  @media print, screen and (min-width: 40em) {
    .btn-wkb-ig {
      margin: 0 7.5px;
      padding: 8px 25px 7px 37px; } }
  @media print, screen and (min-width: 64em) {
    .btn-wkb-ig {
      margin: 0 7.5px;
      padding: 8px 25px 7px 37px; } }
  .btn-wkb-ig:hover {
    text-decoration: none; }

.reveal-wkb-sweep {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 360px !important;
  height: 547px;
  background-image: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl63xah261cxw1v4sf1ixgxr8-wkb-sweep-frame-mobile-t.full.png") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 92% !important;
  background-color: #1F1D1D !important;
  top: 70px !important; }
  @media print, screen and (min-width: 40em) {
    .reveal-wkb-sweep {
      width: 430px !important;
      height: 630px;
      background-size: 90% !important;
      background-color: #1F1D1D !important;
      top: 80px !important; } }
  @media print, screen and (min-width: 64em) {
    .reveal-wkb-sweep {
      width: 470px !important;
      height: 550px;
      background-size: 90% !important;
      margin-top: 50px;
      background-color: #1F1D1D !important;
      background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl62nkuoam5fj1v6heespedpc-wkb-sweep-frame-mobile.full.png") !important;
      background-repeat: no-repeat !important;
      background-position: center !important;
      background-size: 92% !important;
      background-color: #1F1D1D !important;
      top: 60px !important; } }

.wkb-sweep-wrapper {
  display: block;
  text-align: center;
  width: 90%;
  padding: 0 40px;
  margin-top: 30px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  padding: 0; }
  @media print, screen and (min-width: 40em) {
    .wkb-sweep-wrapper {
      padding: 0 20px; } }
  @media print, screen and (min-width: 64em) {
    .wkb-sweep-wrapper {
      padding: 0 20px; } }

.wkb-sweep-img {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 210px;
  margin-bottom: 15px; }
  @media print, screen and (min-width: 40em) {
    .wkb-sweep-img {
      width: 253px;
      margin-bottom: 30px; } }
  @media print, screen and (min-width: 64em) {
    .wkb-sweep-img {
      width: 253px;
      margin-bottom: 30px; } }

.wkb-sweep-title {
  font-size: 14px;
  color: #C0BBA0;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-bottom: 15px; }
  @media print, screen and (min-width: 40em) {
    .wkb-sweep-title {
      margin-bottom: 30px; } }
  @media print, screen and (min-width: 64em) {
    .wkb-sweep-title {
      margin-bottom: 30px; } }

.wkb-sweep-title-o {
  margin-bottom: 8px; }

.wkb-sweep-note {
  font-size: 14px;
  margin-top: 8px;
  color: #FFFFFF;
  opacity: 0.5;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 20px; }

a.wkb-sweep-btn {
  display: block;
  max-width: 230px;
  margin: 0 auto;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  font-size: 11px;
  text-transform: uppercase;
  background: #C3A404;
  color: #1F1D1D;
  border-radius: 4px;
  padding: 11px 10px;
  letter-spacing: 1px;
  -webkit-transition: -webkit-transform ease-in-out .25s;
  transition: -webkit-transform ease-in-out .25s;
  transition: transform ease-in-out .25s;
  transition: transform ease-in-out .25s, -webkit-transform ease-in-out .25s;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  margin-top: 15px; }
  a.wkb-sweep-btn:hover, a.wkb-sweep-btn:active, a.wkb-sweep-btn:focus {
    text-decoration: none;
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    color: #1F1D1D !important;
    background: #C3A404 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  @media print, screen and (min-width: 40em) {
    a.wkb-sweep-btn {
      margin-top: 40px; } }
  @media print, screen and (min-width: 64em) {
    a.wkb-sweep-btn {
      margin-top: 40px; } }

.wkb-sweep-btn-cancel {
  display: block;
  max-width: 230px;
  margin: 0 auto;
  border-radius: 4px;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  font-size: 11px;
  text-transform: uppercase;
  margin-top: 20px;
  background: transparent;
  color: #FFFFFF;
  padding: 11px 10px;
  letter-spacing: 1px;
  -webkit-transition: -webkit-transform ease-in-out .25s;
  transition: -webkit-transform ease-in-out .25s;
  transition: transform ease-in-out .25s;
  transition: transform ease-in-out .25s, -webkit-transform ease-in-out .25s; }
  .wkb-sweep-btn-cancel:hover, .wkb-sweep-btn-cancel:active, .wkb-sweep-btn-cancel:focus {
    text-decoration: none;
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
    color: #FFFFFF !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }

.card-sus {
  background-repeat: no-repeat;
  background-position: center center; }

.close-button {
  top: -50px !important; }

@media not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) and (stroke-color: transparent) {
    .close-button {
      top: 0px !important;
      margin-top: -40px; } } }

.close-button-large:after {
  width: 30px;
  height: 30px;
  background-size: 100%;
  position: fixed;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }

.sus-alice {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/alice_s.png"); }

.sus-amy {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/amy_t.png"); }

.sus-mabel {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/mabel.jpg"); }

.sus-marv {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/marv.jpg"); }

.sus-nina {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/nina.jpg"); }

.sus-oliver {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/oliver.jpg"); }

.sus-poppy {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/poppy.jpg"); }

.sus-teddy {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/teddy.jpg"); }

.sus-theo {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/theo.jpg"); }

.sus-uma {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/uma.jpg"); }

.sus-will {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/will.jpg"); }

.sus-charles {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/charles_s.png"); }

.sus-cinda {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/cinda_s.png"); }

.sus-williams {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/detectivewilliams_s.png"); }

.sus-grover {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/drgrover_s.png"); }

.sus-howard {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/howard.png"); }

.sus-kreps {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/detectivekreps_s.jpg"); }

.sus-lenora {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/leonora_s.png"); }

.sus-lester {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/lester_s.png"); }

.sus-lucy {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/lucy_s.png"); }

.sus-ursula {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/ursula.jpg"); }

.sus-sam {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/sam_s.png"); }

.sus-director {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/director_s.png"); }

.sus-ivan {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/ivan_s.png"); }

.sus-liam {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/liam_s.png"); }

.sus-grant {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/grant_s.png"); }

.sus-naomi {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/naomi_s.png"); }

.sus-jonathan {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/jonathan_s.png"); }

.sus-joy {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/joy_s.png"); }

.sus-paulette {
  background-image: url("https://assetshuluimcom-a.akamaihd.net/wkb/paulette_s.png"); }

.swiper {
  display: none;
  width: 100%; }

.swiper-slide {
  text-align: center;
  font-size: 18px;
  height: 100% !important;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center; }

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.swiper {
  background-color: transparent;
  height: 100%;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  left: 0;
  right: 0; }

.swipe-card {
  background-repeat: no-repeat;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  background-position: center;
  background-size: contain;
  width: 75%;
  height: 66vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: -28%; }
  @media print, screen and (min-width: 40em) {
    .swipe-card {
      background-position: center 58px;
      background-size: contain;
      width: 400px;
      height: 70vh;
      top: 50px; } }
  @media print, screen and (min-width: 64em) {
    .swipe-card {
      display: none; } }

.swipe-frame {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5twrl89arwa1v4sp551e2tl-wkb-swipe-frame.full.png") center center no-repeat !important;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 99;
  background-size: 100% !important;
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 210px;
  height: 420px;
  top: 35px; }
  @media print, screen and (min-width: 40em) {
    .swipe-frame {
      width: 255px;
      height: 480px;
      top: 60px; } }
  @media print, screen and (min-width: 64em) {
    .swipe-frame {
      display: none; } }

.swipe-guilty-txt {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5u3uchmb0ty1v1yh2l8p8ok-wkb-swipe-btn-guilty.full.png") no-repeat;
  position: absolute;
  background-size: 100%;
  color: #ffffff;
  height: 65px;
  line-height: 65px;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  z-index: 9999;
  background-position: center;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  bottom: 10%;
  width: 220px; }
  @media print, screen and (min-width: 64em) {
    .swipe-guilty-txt {
      display: none; } }

.swiper-button-next:after, .swiper-button-prev:after {
  display: none; }

.swiper-button-wrapper {
  display: block;
  width: 100%; }

.swiper-button {
  position: absolute;
  background-size: 100% !important;
  width: 35px;
  height: 35px;
  display: block !important;
  top: unset;
  bottom: 12% !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s; }
  @media print, screen and (min-width: 40em) {
    .swiper-button {
      bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .swiper-button {
      display: none; } }

.swiper-button-next {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5u1yxsqayhs1v580y5hws6i-wkb-swipe-arrow-right.full.png") no-repeat;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  right: 4%; }
  @media print, screen and (min-width: 40em) {
    .swiper-button-next {
      right: 25%; } }
  @media print, screen and (min-width: 64em) {
    .swiper-button-next {
      display: none; } }

.swiper-button-prev {
  background: url("https://hulu-matchmaker.s3.amazonaws.com/attachments/cl5u1yxm6ayg51v3c3ftoub25-wkb-swipe-arrow-left.full.png") no-repeat;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  left: 4%; }
  @media print, screen and (min-width: 40em) {
    .swiper-button-prev {
      left: 25%; } }
  @media print, screen and (min-width: 64em) {
    .swiper-button-prev {
      display: none; } }

.outof {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: fixed;
  width: 291px;
  bottom: 20%;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.3);
  z-index: 9999;
  text-transform: uppercase;
    font-family: 'Curiosity-TWDC', Helvetica, Roboto, Arial, sans-serif;
    font-weight: 600 !important;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  white-space: nowrap;
  width: 267px; }
  @media print, screen and (min-width: 40em) {
    .outof {
      width: 290px; } }
  @media print, screen and (min-width: 64em) {
    .outof {
      display: none; } }

.outof-sus {
  float: left; }

.outof-line {
  display: inline-block;
  margin: -10px 15px;
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s;
  width: 150px; }
  @media print, screen and (min-width: 40em) {
    .outof-line {
      width: 155px; } }
  @media print, screen and (min-width: 64em) {
    .outof-line {
      display: none; } }
  .outof-line hr {
    opacity: .5; }

.outof-total {
  float: right; }

@media only screen and (min-width: 821px) and (max-width: 1500px) {
  .wkb-wrapper {
    width: 1240px !important;
    max-width: 1240px !important; }
  .door-sml {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsInNpdGVzL19iZW9ic2Vzc2VkLnNjc3MiLCJzaXRlcy9faGFtLW1vZHVsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3RpY2t5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3ByZWxvYWRlci5zY3NzIiwiY29tcG9uZW50cy9fcHJlbG9hZGVyX2h1bHV3ZWVuLnNjc3MiLCJjb21wb25lbnRzL19wcm9ncmVzc19iYXIuc2NzcyIsImNvbXBvbmVudHMvX2NvdmVyLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbHMuc2NzcyIsImNvbXBvbmVudHMvX2hvdmVyX2dsaXRjaC5zY3NzIiwiY29tcG9uZW50cy9fc3RpY2t5LW5hdi5zY3NzIiwiY29tcG9uZW50cy9fcHJpY2UtY2hhcnQuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fdGFicy5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVzaG93LnNjc3MiLCJjb21wb25lbnRzL19vd2wuc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXJfc2hvcnQuc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiZ2xvYmFsL19sb2NvbW90aXZlLnNjc3MiLCJnbG9iYWwvX2h1bHUuc2NzcyIsInNpdGVzL190dGhoLnNjc3MiLCJzaXRlcy9fbG9sbGEuc2NzcyIsInNpdGVzL19pYW9pLnNjc3MiLCJzaXRlcy9faHVsdXdlZW4uc2NzcyIsInNpdGVzL19wbGFuZXN3YXAuc2NzcyIsInNpdGVzL19ib25uYXJvby5zY3NzIiwic2l0ZXMvX2F1c3RpbmNpdHlsaW1pdHMuc2NzcyIsInNpdGVzL193aG9raWxsZWRidW5ueS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RURNRTtBRUxGLHFGQUFZO0FDQVoscUZBQVk7QUMrS0o7RUNuSU47SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWMsRUFBQSxFQUNmOztBQ2hERCwyRUFBQTtBQVFBO0VBQ0UsaUJBQWlCO0VBQ2pCLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUNFLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFTbEI7RUFDRSwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUIsRUFBQTs7QUFNbkI7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYyxFQUFBOztBQVFoQjtFQUNFLDZCQUE2QixFQUFBOztBQU0vQjtFQUNFLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIseUNBQWlDO1VBQWpDLGlDQUFpQyxFQUFBOztBQUtuQzs7RUFFRSxtQkFBbUIsRUFBQTs7QUFNckI7OztFQUdFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBS2hCO0VBQ0UsY0FBYyxFQUFBOztBQU1oQjs7RUFFRSxjQUFjO0VBQ2Qs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dEosZ0JOZ0V1RDtFTS9EdkQsZVQyYytCO0VTemMvQix3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUNoQix5QlRtRG1CO0VTbERuQixrQlRzRWlCO0VTckVqQix5QlR1RGE7RVNyRGIsb0JUMmJ5QjtFUzFiekIsZU51RHVEO0VNdER2RCxtQlQrRDJCO0VTOUQzQixnQlRrQ3FCO0VTakNyQixjVDhDYTtFQ29FYix3T0FBeU47RVE5R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVUdWI4RDtFU3ZiOUQsbUVUdWI4RDtFU3ZiOUQsMkRUdWI4RDtFU3ZiOUQsb0ZUdWI4RCxFQUFBO0VDaFZoRTtJRndDQTtNRXJDSSx1V0FBdVcsRUFBQSxFUW5FMVc7RUFuQ0Q7SUFDRSxhQUFhO0lBQ2IseUJUeUJlO0lTeEJmLHlCVDZCVztJUzVCWCxtQ1RzQmlCO1lTdEJqQiwyQlRzQmlCO0lTbkJmLDJFVDRhNEQ7SVM1YTVELG1FVDRhNEQ7SVM1YTVELDJEVDRhNEQ7SVM1YTVELG9GVDRhNEQsRUFBQTtFU3ZhaEU7SUFDRSx5QlRZZ0I7SVNYaEIsbUJUb2ErQixFQUFBO0VTaGFqQztJQUNFLGFBQWEsRUFBQTtFQUdmO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQixFQUFBO0VBRXhCO0lBQ0UsY0FBYztJQUNkLGlCQUFpQixFQUFBOztBQ3JDbkI7RUFDRSxxQlYrQlk7RVU5QloseUJBQStELEVBQUE7RUFFL0Q7SUFDRSxjVjJCVSxFQUFBO0VVNUJaO0lBQ0UsY1YyQlUsRUFBQTtFVTVCWjtJQUNFLGNWMkJVLEVBQUE7RVU1Qlo7SUFDRSxjVjJCVSxFQUFBO0VVNUJaO0lBQ0UsY1YyQlUsRUFBQTs7QVVEWjtFQUNFLGNWQVUsRUFBQTs7QVVLZDtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CUDhCdUQ7RU81QnZELGtCUDRCdUQ7RU8zQnZELGlCVnFDdUI7RVVwQ3ZCLGNWY2MsRUFBQTtFVUtkO0lBSUksY0FBYyxFQUFBOztBQzhJbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUNFLG1CWG5FMEI7RVdxRTFCLGtCQUFrQjtFQUNsQixnQlh2RXNCO0VXd0V0QixrQ1h0RXlDLEVBQUE7O0FXMEUzQzs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBSXRCOztFQUVFLGlCWDNLcUI7RVc0S3JCLG9CQUFvQixFQUFBOztBYnRMdEI7RWEyTEUsY1g3RmlCO0VXOEZqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLG9FWG5Nc0U7RVdvTXRFLGtCWGpJc0I7RVdrSXRCLG1CWC9MeUI7RVdnTXpCLGNYaklrQjtFV2tJbEIsa0NYN0dzQyxFQUFBO0VXbUd4Qzs7Ozs7O0lBYUksY0FBYztJQUNkLGNYdk5lLEVBQUE7O0FXZ09iO0VBSUksaUJSM042QztFUXVPN0MsZ0JYOUpXO0VXc0tYLGFBQWE7RUFPYixxQlg1S2lCLEVBQUE7O0FXNklyQjtFQUlJLGtCUjNONkM7RVF1TzdDLGdCWDlKVztFV3NLWCxhQUFhO0VBT2IscUJYNUtpQixFQUFBOztBVzZJckI7RUFJSSxvQlIzTjZDO0VRdU83QyxnQlg5Slc7RVdzS1gsYUFBYTtFQU9iLHFCWDVLaUIsRUFBQTs7QVc2SXJCO0VBSUksbUJSM042QztFUXVPN0MsZ0JYOUpXO0VXc0tYLGFBQWE7RUFPYixxQlg1S2lCLEVBQUE7O0FXNklyQjtFQUlJLG9CUjNONkM7RVF1TzdDLGdCWDlKVztFV3NLWCxhQUFhO0VBT2IscUJYNUtpQixFQUFBOztBVzZJckI7RUFJSSxlUjNONkM7RVF1TzdDLGdCWDlKVztFV3NLWCxhQUFhO0VBT2IscUJYNUtpQixFQUFBOztBSmNyQjtFZStIQTtJQUlJLGVSM042QyxFQUFBO0VRdU5qRDtJQUlJLGlCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxvQlIzTjZDLEVBQUE7RVF1TmpEO0lBSUksb0JSM042QyxFQUFBO0VRdU5qRDtJQUlJLGtCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxlUjNONkMsRUFBQSxFUXdQaEQ7O0FieFJQO0VhK1JFLG9CQUFvQjtFQUNwQixjWGpSYztFV2tSZCxxQlgzSnlCO0VXNkp6QixlQUFlLEVBQUE7RUFMakI7SUFTSSxjWGxLMkQsRUFBQTtFV3lKL0Q7SUFnQkksU0FBUyxFQUFBOztBYmpVYjtFYXVVRSxXQUFXO0VBRVgsaUJSdFJxRDtFUXVSckQsU0FBUztFQUNULG9CWDlLeUI7RVdnTHpCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NYclNpQjtFV3NTakIsY0FBYyxFQUFBOztBQUloQjs7O0VBR0UsbUJYbk0wQjtFV29NMUIsNEJYdkx5QjtFV3dMekIsZ0JYdE1zQixFQUFBOztBVzBNeEI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlhqTXNCO0VXa010QixxQlhwTWtCLEVBQUE7O0FXd01wQjtFQUNFLG9CWHZNc0IsRUFBQTs7QVcyTXhCO0VBRUksb0JYNU0yQjtFVzZNM0IsZ0JBQWdCLEVBQUE7O0FBS3BCO0VBQ0UsbUJYbE55QixFQUFBO0VXaU4zQjtJQUlJLHFCWG5OOEI7SVdvTjlCLGlCWDdUbUIsRUFBQTs7QVdrVXZCO0VBQ0UsZ0JYNU8wQjtFVzZPMUIsc0NSOVVxRDtFUStVckQsOEJYeFZpQixFQUFBO0VXcVZuQjtJQU1JLGdCWGxQb0I7SVdtUHBCLGNYM1ZhLEVBQUE7O0FXeVdqQjtFQUNFLGlDWHhXVztFV3lXWCxZQUFZO0VBQ1oscUJBQXFCLEVBQUE7O0FBSXZCO0VBQ0UsU0FBUyxFQUFBOztBQVdYO0VBQ0UsU0FBUztFQUNULDJCUmpYUztFUW1YVCx5QlhsWWdCO0VXb1loQiw0RFhuVG1FO0VXb1RuRSxjWGpZVztFV29ZVCxrQlhuWGEsRUFBQTs7QVlrQ2pCO0VBQ0Usa0JaeUZ5QjtFWXhGekIscUJaeUY0QjtFWXZGNUIsbUJaeEN5QjtFWXlDekIsZ0Jaa0ZzQjtFWWpGdEIsY1ozRGUsRUFBQTs7QVkrRGpCO0VBQ0UsZVowRXFDO0VZekVyQyxnQlowRWlCLEVBQUE7O0FZdEVuQjtFQUNFLGlCWjJFbUI7RVkxRW5CLGNBQWMsRUFBQTtFQUVkO0lBQ0Us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O1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FuQmtGQztFbUJ6R0Y7SUdrREosbUJBQU07SUFBTixxQkFBTTtRQUFOLGlCQUFNO1lBQU4sYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsbUJBQU07SUFBTixzQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0VDdkdNLHNCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFcEJn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QmdKN0Q7SW1CTE47TUMzSU0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEMkpoRTs7QUszSkg7RUZvSUUsV0NuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxZQ25CeUQsRUFBQTs7QXZCK0JyRDtFd0JoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QXhCOElLO0V3QmhKTjtJRm9JRSxXQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsWUNuQnlELEVBQUEsRUMvRzFEOztBQUZEO0VGb0lFLDJCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDBCQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLGdDQXREOEYsRUFBQTs7QUU5RWhHO0VGb0lFLDRCQXREOEYsRUFBQTs7QXRCa0UxRjtFd0JoSk47SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBLEVFNUUvRjs7QXhCOElLO0V3QmhKTjtJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0FMcU1HO0VNOU1FLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBc0J4QjtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQTtFdkIrQnJEO0l5QjVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RXpCMEhMO0l5QjVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FOdUxQO0VNN0tFLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEIsRUFBQTs7QXpCMkc5QjtFbUJ1REY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QmdKQztFeUJySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBekJtSUw7RXlCNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QXpCMEhMO0V5QjVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0F6QjBITDtFbUI2REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBekJ5R0M7RW1CdURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJnSkM7RXlCcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QXpCbUlMO0V5QnJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0F6Qm1JTDtFeUI1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBekIwSEw7RW1CNkRGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QU5vTEQ7RU92TUYsZUFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGdDQUE2QixFQUFBOztBUHVNM0I7RU92TUYscUJBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixzQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixnQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLGlDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRix1Q0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0ExQjRIekI7RW1CMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGlDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsdUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQSxFUDZNMUI7O0FuQmpGQztFbUIyRUY7SU92TUYsZUFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsaUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHFCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix1Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixnQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsa0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBLEVQNk0xQjs7QUF6SlM7RUV0RWQsb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUg2QjtFQUc3Qiw2QkFINkI7RUFHN0IsZ0NBSDZCO01BRzdCLDRCQUg2QjtVQUc3Qix3QkFINkIsRUFBQTtFRmlQN0I7SUcxSUEsWUFBbUI7SUFDbkIsZ0JBQTJCLEVBQUE7RUh5STNCO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJQTJCTSx3QkFBZ0I7UUFBaEIsNkJBQWdCO1lBQWhCLGdCQUFnQixFQUFBO0VuQjVIaEI7SW1CaUdOO01BMkJNLHdCQUFnQjtVQUFoQiw2QkFBZ0I7Y0FBaEIsZ0JBQWdCLEVBQUEsRUFDakI7RW5CN0hDO0ltQmlHTjtNQTJCTSx3QkFBZ0I7VUFBaEIsNkJBQWdCO2NBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lHeEpBLG1CQUFNO0lBQU4sc0JBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxnQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsWUNuQnlELEVBQUE7RXZCK0JyRDtJbUJpR047TUd4SkEsbUJBQU07TUFBTixxQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO01BQU4sc0JBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RW5CMUpEO0ltQmlHTjtNR3hKQSxtQkFBTTtNQUFOLHFCQUFNO1VBQU4saUJBQU07Y0FBTixhQUFNO01BMkNKLFlBbEZZLEVBQUE7SUgrTGQ7TUd4SkEsbUJBQU07TUFBTixzQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lId0pOO01HN0dFLFlBbEZZLEVBQUE7SUgrTGQ7TUc3R0UsZ0JDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFlDbkJ5RCxFQUFBLEVKeUxwRDs7QUFPTDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXBCZ0o3RDtJbUJpS0o7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RXBCZ0o3RDtJbUJpS0o7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEMFQ5RDs7QUFuTkw7RUN2R00scUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQmdKN0Q7SW1CekNOO01DdkdNLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7RUEvQkQ7SUc2QkUsNEJBdEQ4RjtJRnJFNUYsb0JBQTZEO0lBQTdELHVCQUE2RCxFQUFBO0VwQnVJM0Q7SW1CekNOO01HNkJFLDZCQXREOEY7TUZyRTVGLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0V0QmtFMUY7SW1CakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSENoRztNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhl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aUNkO0lHaURFLFlBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw0QkF0RDhGLEVBQUE7RXRCa0UxRjtJbUJqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3RjtFbkJtREc7SW1CakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3Rjs7QUFrVEQ7RVE1WUksNkJBQW1DLEVBQUE7RTNCNkluQztJbUIrUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDO0VuQmpRRztJbUIrUEo7TVE1WUksOEJBQW1DLEVBQUEsRVI4WXRDOztBbkJqUUc7RW1CbVFGO0lRaFpFLDhCQUFtQyxFQUFBLEVSa1pwQzs7QW5CclFDO0VtQm1RRjtJUWhaRSw4QkFBbUMsRUFBQSxFUmtacEM7O0FTekdMO0VBMU9BLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsa0J4QnVOa0M7RXdCN01oQyxrQnhCNE1zQjtFd0J6TXhCLDZCeEJvTm1DO0V3Qm5ObkMsa0J4QmZpQjtFd0JnQmpCLHlFeEI4TnVFO0V3QjlOdkUsaUV4QjhOdUU7RXdCN052RSxvQnhCbU0wQjtFd0JsTTFCLG1CeEJxTmlCO0V3QnBOakIsZ0J4QmtNc0I7RXdCak10Qix3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixl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QiwyQkF4Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCO0VEd0ZkLDZCQUFxQjtNQUFyQiwwQkFBcUI7VUFBckIscUJBQXFCLEVBQUE7O0FBTW5CO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLDRCRCtCZ0I7RUMvQmhCLGdCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQixFQUFBOztBNURtRVY7RTREbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBNURnRUM7RTREbEVGO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBQS9GTDtFQ1lBLG9CQUFhO0VBQWIscUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTs7QURSYjtFQUNFLG1CQUFjO0VBQWQsc0JBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxtQkFBYztFQUFkLHNCQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsbUJBQWM7RUFBZCxzQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUlkO0VDc0RGLDhCQW5FVTtFQW1FViw2QkFuRVU7RUFtRVYsMkJBbkVVO01BbUVWLHVCQW5FVTtVQW1FVixtQkFuRVUsRUFBQTs7QURhUjtFQ3NERiw4QkFsRTBCO0VBa0UxQiw4QkFsRTBCO0VBa0UxQixtQ0FsRTBCO01Ba0UxQiwrQkFsRTBCO1VBa0UxQiwyQkFsRTBCLEVBQUE7O0FEWXhCO0VDc0RGLDRCQWpFZ0I7RUFpRWhCLDZCQWpFZ0I7RUFpRWhCLDhCQWpFZ0I7TUFpRWhCLDBCQWpFZ0I7VUFpRWhCLHNCQWpFZ0IsRUFBQTs7QURXZDtFQ3NERiw0QkFoRWdDO0VBZ0VoQyw4QkFoRWdDO0VBZ0VoQyxzQ0FoRWdDO01BZ0VoQyxrQ0FoRWdDO1VBZ0VoQyw4QkFoRWdDLEVBQUE7O0E3RHdKMUI7RTREcElFO0lDZlIsb0JBQWE7SUFBYixxQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYSxFQUFBO0VEbUJMO0lBQ0UsbUJBQWM7SUFBZCxzQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFQUFBO0VBR2hCO0lBQ0UsbUJBQWM7SUFBZCxzQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFQUFBO0VBR2hCO0lBQ0UsbUJBQWM7SUFBZCxzQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYyxFQUFBO0VBSWQ7SUMyQlYsOEJBbkVVO0lBbUVWLDZCQW5FVTtJQW1FViwyQkFuRVU7UUFtRVYsdUJBbkVVO1lBbUVWLG1CQW5FVSxFQUFBO0VEd0NBO0lDMkJWLDhCQWxFMEI7SUFrRTFCLDhCQWxFMEI7SUFrRTFCLG1DQWxFMEI7UUFrRTFCLCtCQWxFMEI7WUFrRTFCLDJCQWxFMEIsRUFBQTtFRHVDaEI7SUMyQlYsNEJBakVnQjtJQWlFaEIsNkJBakVnQjtJQWlFaEIsOEJBakVnQjtRQWlFaEIsMEJBakVnQjtZQWlFaEIsc0JBakVnQixFQUFBO0VEc0NOO0lDMkJWLDRCQWhFZ0M7SUFnRWhDLDhCQWhFZ0M7SUFnRWhDLHNDQWhFZ0M7UUFnRWhDLGtDQWhFZ0M7WUFnRWhDLDhCQWhFZ0MsRUFBQSxFRHVDckI7O0E1RGlITDtFNERwSUU7SUNmUixvQkFBYTtJQUFiLHFCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhLEVBQUE7RURtQkw7SUFDRSxtQkFBYztJQUFkLHNCQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjLEVBQUE7RUFHaEI7SUFDRSxtQkFBYztJQUFkLHNCQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjLEVBQUE7RUFHaEI7SUFDRSxtQkFBYztJQUFkLHNCQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjLEVBQUE7RUFJZDtJQzJCViw4QkFuRVU7SUFtRVYsNkJBbkVVO0lBbUVWLDJCQW5FVTtRQW1FVix1QkFuRVU7WUFtRVYsbUJBbkVVLEVBQUE7RUR3Q0E7SUMyQlYsOEJBbEUwQjtJQWtFMUIsOEJBbEUwQjtJQWtFMUIsbUNBbEUwQjtRQWtFMUIsK0JBbEUwQjtZQWtFMUIsMkJBbEUwQixFQUFBO0VEdUNoQjtJQzJCViw0QkFqRWdCO0lBaUVoQiw2QkFqRWdCO0lBaUVoQiw4QkFqRWdCO1FBaUVoQiwwQkFqRWdCO1lBaUVoQixzQkFqRWdCLEVBQUE7RURzQ047SUMyQlYsNEJBaEVnQztJQWdFaEMsOEJBaEVnQztJQWdFaEMsc0NBaEVnQztRQWdFaEMsa0NBaEVnQztZQWdFaEMsOEJBaEVnQyxFQUFBLEVEdUNyQjs7QUVDWDtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNFLGtCQUFrQixFQUFBOztBOUQyR2Q7RThENUZKO0lBMUJBLHdCQUF3QixFQUFBLEVBNEJ2Qjs7QUEvQ0Q7RUFpREE7SUFoREUsd0JBQXdCLEVBQUEsRUFrRHpCOztBOURzRkc7RThEckdGO0lBekJGLHdCQUF3QixFQUFBLEVBMkJyQjs7QTlEd0dDO0U4RHRHRjtJQWpFRix3QkFBd0IsRUFBQSxFQW1FckI7O0E5RCtGQztFOEQ1Rko7SUExQkEsd0JBQXdCLEVBQUEsRUE0QnZCOztBQS9DRDtFQWlEQTtJQWhERSx3QkFBd0IsRUFBQSxFQWtEekI7O0E5RHNGRztFOERyR0Y7SUF6QkYsd0JBQXdCLEVBQUEsRUEyQnJCOztBOUR3R0M7RThEdEdGO0lBakVGLHdCQUF3QixFQUFBLEVBbUVyQjs7QTlEK0ZDO0U4RDVGSjtJQTFCQSx3QkFBd0IsRUFBQSxFQTRCdkI7O0FBL0NEO0VBaURBO0lBaERFLHdCQUF3QixFQUFBLEVBa0R6Qjs7QUFLSDs7RXpEeUhBLDZCQUFnQztFQUNoQyxxQkFBd0I7RUFDeEIsc0JBQXlCO0VBQ3pCLHFCQUF3QjtFQUN4QiwyQkFBOEI7RUFDOUIsaUNBQWlDO0VBQ2pDLDhCQUFpQztFQUNqQyxvQkFBdUIsRUFBQTs7QXlEMUh2QjtFekRvSUEsMkJBQThCO0VBQzlCLHNCQUF5QjtFQUN6Qix1QkFBMEI7RUFDMUIsNEJBQStCO0VBQy9CLHFCQUF3QjtFQUN4Qiw4QkFBaUMsRUFBQTs7QXlEaklqQzs7RUFFRSx5QkFBeUIsRUFBQTtFOURzRXJCO0k4RHhFTjs7TUFLSSx5QkFBeUIsRUFBQSxFQU01QjtFOUQ2REs7SThEeEVOOztNQVNJLHdCQUF3QixFQUFBLEVBRTNCOztBQUVEOztFQUVFLHdCQUF3QixFQUFBO0U5RHlEcEI7SThEM0ROOztNQUtJLHdCQUF3QixFQUFBLEVBTTNCO0U5RGdESztJOEQzRE47O01BU0kseUJBQXlCLEVBQUEsRUFFNUI7O0FDaEhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3RCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpDM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRmhDa0M7RUlFbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFU1QjtFR29CQSxVRmhDcUMsRUFBQTs7QURBckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGL0JrQztFSUNsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMVTVCO0VHb0JBLFVGL0JxQyxFQUFBOztBRERyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsNkJGNUJtRDtNRTRCbkQseUJGNUJtRDtVRTRCbkQscUJGNUJtRDtFTUlqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLCtCRjNCcUQ7TUUyQnJELDJCRjNCcUQ7VUUyQnJELHVCRjNCcUQ7RU1HbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VIbUNqQyxnQ0YxQnNEO01FMEJ0RCw0QkYxQnNEO1VFMEJ0RCx3QkYxQnNEO0VNRXBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFSGtDL0IsOEJGekJvRDtNRXlCcEQsMEJGekJvRDtVRXlCcEQsc0JGekJvRDtFTUNsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0VlO01IRmYsNEJHRWU7VUhGZix3QkdFZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsNkJGdEJtRDtNRXNCbkQseUJGdEJtRDtVRXNCbkQscUJGdEJtRDtFTUZqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHL0I4QjtVSCtCOUIsNkNHL0I4QjtFQ2tCNUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLCtCRnJCcUQ7TUVxQnJELDJCRnJCcUQ7VUVxQnJELHVCRnJCcUQ7RU1IbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERzlCZ0M7VUg4QmhDLDZDRzlCZ0M7RUNpQjlCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0ZwQnNEO01Fb0J0RCw0QkZwQnNEO1VFb0J0RCx3QkZwQnNEO0VNSnBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxzREc3QnNDO1VINkJ0Qyw4Q0c3QnNDO0VDZ0JwQyxVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsOEJGbkJvRDtNRW1CcEQsMEJGbkJvRDtVRW1CcEQsc0JGbkJvRDtFTUxsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEsc0RHNUJvQztVSDRCcEMsOENHNUJvQztFQ2VsQyxVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREc5QmdDO1VIOEJoQyw2Q0c5QmdDO0VDaUI5QixVQUE4QixFQUFB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LGdDQUFnQztFQUU1QixZQUFZLEVBQUE7RWxHbDlCWjtJa0c2OEJSO01BUVEsWUFBWSxFQUFBLEVBU25CO0VsRzk5Qk87SWtHNjhCUjtNQVdRLGFBQWEsRUFBQSxFQU1wQjtFQWpCRDtJQWVPLFdBQVcsRUFBQTs7QUFHbEI7RUFDSSxZQUFZLEVBQUE7O0FBTWhCO0VBM25DQTtJQThuQ1Esd0JBQXdCO0lBQ3hCLDRCQUE0QixFQUFBO0VBRWhDO0lBQ0ksYUFBYSxFQUFBLEVBQ2hCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBvcHBpbnM6d2dodEA3MDAmZGlzcGxheT1zd2FwXCIpO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBvcHBpbnM6d2dodEA3MDAmZGlzcGxheT1zd2FwXCIpO1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCwgLnJldmVhbC50aW55LCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLmxhcmdlIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgwZW0meHhsYXJnZT0xMDBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLVJlZ3VsYXJcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzE1MTUxNTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDIxLCAyMSwgMjEsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMTUxNTE1O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg4ODg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMTUxNTE1OyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMxNTE1MTU7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4OyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMTUxNTE1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxNTE1MTU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM2LCAxMzYsIDEzNiUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODg4ODtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNEQTFCNEI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmU4ZWQ7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0RBMUI0QjsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjREExQjRCOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNEQTFCNEI7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLVJlZ3VsYXJcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMwNDA0MDU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDMwMzA0OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4ODg4ODg7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxNTE1MTU7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMTUxNTE1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzg4ODg4ODsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzE1MTUxNTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzE1MTUxNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODg4ODtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFlbSAyLjZlbTtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5idXR0b24ubWVkaXVtIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLnNtYWxsLW9ubHktZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi5tZWRpdW0tb25seS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24ubWVkaXVtLWRvd24tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLm1lZGl1bS1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLW9ubHktZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLWRvd24tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLmxhcmdlLWV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIC5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTE1MTU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4MzgzODtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNDA0MDU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTMxM2Q7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLnRlcnRpYXJ5LCAuYnV0dG9uLnRlcnRpYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnRlcnRpYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi50ZXJ0aWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi50ZXJ0aWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24udGVydGlhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24udGVydGlhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNlNzgzO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5idXR0b24udGVydGlhcnk6aG92ZXIsIC5idXR0b24udGVydGlhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0OWVjOWM7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc2RUUxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE4YWVjO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBQUMxMTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQ0MTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREExQjRCO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlODQyNmM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTE1MTU7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYjBiMGI7XG4gICAgY29sb3I6ICMwYjBiMGI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzA0MDQwNTtcbiAgICBjb2xvcjogIzA0MDQwNTsgfVxuICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMjAyMDM7XG4gICAgY29sb3I6ICMwMjAyMDM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgY29sb3I6IGdyYXk7IH1cbiAgLmJ1dHRvbi5ob2xsb3cudGVydGlhcnksIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxY2U3ODM7XG4gICAgY29sb3I6ICMxY2U3ODM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cudGVydGlhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzc1NDI7XG4gICAgY29sb3I6ICMwYzc1NDI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NkVFMTtcbiAgICBjb2xvcjogIzE3NkVFMTsgfVxuICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzM3NzE7XG4gICAgY29sb3I6ICMwYzM3NzE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZBQUMxMTtcbiAgICBjb2xvcjogI0ZBQUMxMTsgfVxuICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MzU4MDM7XG4gICAgY29sb3I6ICM4MzU4MDM7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQTFCNEI7XG4gICAgY29sb3I6ICNEQTFCNEI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDBlMjY7XG4gICAgY29sb3I6ICM2ZDBlMjY7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgICBjb2xvcjogIzBiMGIwYjsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDQwNDA1OyB9XG4gIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzAyMDIwMzsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogZ3JheTsgfVxuICAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5LCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIudGVydGlhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIudGVydGlhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzFjZTc4MzsgfVxuICAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzBjNzU0MjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTc2RUUxOyB9XG4gIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzBjMzc3MTsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRkFBQzExOyB9XG4gIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgzNTgwMzsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0RBMUI0QjsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzZkMGUyNjsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjZlbTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTUxNTE1OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDQwNDA1OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy50ZXJ0aWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIudGVydGlhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMWNlNzgzOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTc2RUUxOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjRkFBQzExOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNEQTFCNEI7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubWVkaXVtIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA0MDQwNTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTMxM2Q7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLWdyb3VwLnRlcnRpYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGVydGlhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC50ZXJ0aWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC50ZXJ0aWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnRlcnRpYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnRlcnRpYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAudGVydGlhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2U3ODM7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJ1dHRvbi1ncm91cC50ZXJ0aWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnRlcnRpYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0OWVjOWM7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzZFRTE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDE4YWVjO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFBQzExO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZiYmQ0MTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQTFCNEI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlODQyNmM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE1MTUxNTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYjBiMGI7XG4gICAgY29sb3I6ICMwYjBiMGI7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNDA0MDU7XG4gICAgY29sb3I6ICMwNDA0MDU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMjAyMDM7XG4gICAgY29sb3I6ICMwMjAyMDM7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgY29sb3I6IGdyYXk7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cudGVydGlhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cudGVydGlhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cudGVydGlhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnRlcnRpYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnRlcnRpYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy50ZXJ0aWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy50ZXJ0aWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi50ZXJ0aWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi50ZXJ0aWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi50ZXJ0aWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24udGVydGlhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24udGVydGlhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnRlcnRpYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnRlcnRpYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzFjZTc4MztcbiAgICBjb2xvcjogIzFjZTc4MzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy50ZXJ0aWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy50ZXJ0aWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnRlcnRpYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzc1NDI7XG4gICAgY29sb3I6ICMwYzc1NDI7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzZFRTE7XG4gICAgY29sb3I6ICMxNzZFRTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwYzM3NzE7XG4gICAgY29sb3I6ICMwYzM3NzE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGQUFDMTE7XG4gICAgY29sb3I6ICNGQUFDMTE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MzU4MDM7XG4gICAgY29sb3I6ICM4MzU4MDM7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0RBMUI0QjtcbiAgICBjb2xvcjogI0RBMUI0QjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDBlMjY7XG4gICAgY29sb3I6ICM2ZDBlMjY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBiMGIwYjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDQwNDA1OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzAyMDIwMzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogZ3JheTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnRlcnRpYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIudGVydGlhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci50ZXJ0aWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci50ZXJ0aWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnRlcnRpYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnRlcnRpYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIudGVydGlhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi50ZXJ0aWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnRlcnRpYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24udGVydGlhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24udGVydGlhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi50ZXJ0aWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi50ZXJ0aWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnRlcnRpYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMxY2U3ODM7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci50ZXJ0aWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnRlcnRpYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnRlcnRpYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzBjNzU0MjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMTc2RUUxOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzBjMzc3MTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjRkFBQzExOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgzNTgwMzsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNEQTFCNEI7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzZkMGUyNjsgfVxuICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24ubWVkaXVtLCAuY2xvc2UtYnV0dG9uIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDQwNDA1O1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5sYWJlbC50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzFjZTc4MztcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzE3NkVFMTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI0ZBQUMxMTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNEQTFCNEI7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNDA1OyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gIC5wcm9ncmVzcy50ZXJ0aWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2U3ODM7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc2RUUxOyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBQUMxMTsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREExQjRCOyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQwNDA1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA0MDQwNTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzMDMwNDsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzA0MDQwNTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMwNDA0MDU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuYmFkZ2UudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQ6ICMxY2U3ODM7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMxNzZFRTE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNGQUFDMTE7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjREExQjRCO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzE1MTUxNTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzA0MDQwNTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMSwgMjEsIDIxLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWRlO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmNhbGxvdXQudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGZiZWM7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZTlmYjtcbiAgICBjb2xvcjogIzE1MTUxNTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmM2RiO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJkY2UzO1xuICAgIGNvbG9yOiAjMTUxNTE1OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzE1MTUxNTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMxNTE1MTU7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwqtcIjsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4ODg4ODg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUxNTE1O1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTUxNTE1O1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNTE1MTUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTUxNTE1O1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTUxNTE1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzA0MDQwNTsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogXCIrXCI7IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJNcIjsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzE1MTUxNTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1haW4tc2VjdGlvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMjEsIDIxLCAwLjUpO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMjEsIDIxLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg4ODg7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4ODg4ODg7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwNDA0MDU7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwZjBmMTM7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzA0MDQwNTsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICMwMzAzMDQ7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMDQwNDA1OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzE1MTUxNTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDRweCBzb2xpZCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDIxLCAyMSwgMjEsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoNCwgNCwgNSwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwNDA0MDU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICMwNDA0MDU7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI0ZGRkZGRiwgMCAxNHB4IDAgI0ZGRkZGRjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzE1MTUxNTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMxNTE1MTUsIDAgMTRweCAwICMxNTE1MTU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzg4ODg4ODtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4ODg4ODgsIDAgMTRweCAwICM4ODg4ODg7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzA0MDQwNSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDQwNDA1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDQwNDA1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDQwNDA1O1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwNDA0MDUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MDQwNSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMDQwNDA1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzA0MDQwNTsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51IC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDQwNDA1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwNDA0MDU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwNDA0MDUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwNDA0MDUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA0MDQwNTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwNDA0MDUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDQwNDA1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA0MDQwNTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA0MDQwNSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA0MDQwNTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDIxLCAyMSwgMjEsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjEsIDIxLCAyMSwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDIxLCAyMSwgMjEsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDIxLCAyMSwgMjEsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDIxLCAyMSwgMjEsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgyMSwgMjEsIDIxLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMjEsIDIxLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogMTAwcmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzE1MTUxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY2N3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4ucHJlbG9hZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFvb20xZDQxdTVobXpuN2Z6NWEtaHVsdS1sb2dvLTRiZWF0LWJ1aWxkLWFscGhhLXYwMS5mdWxsLmdpZlwiKSBjZW50ZXIgbm8tcmVwZWF0ICMwNDA0MDU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcmVsb2FkZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCU7IH0gfVxuXG4ucHJlbG9hZGVyLWh1bHV3ZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByZWxvYWRlci1odWx1d2VlbiB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwJTsgfSB9XG5cbi5wcmVsb2FkZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzc1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByZWxvYWRlci13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByZWxvYWRlci13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG5cbi5wcmVsb2FkZXItYXVkaW8tcGF1c2Uge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2Nrc3V0eGJ1ZDI5NDIxdjNkb3JyaXgxNDctaWNvbi1wcmVsb2FkZXItdHVybi1vbi1hdWRpby5zdmdcIikgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTg4cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdG9wOiAxMTAlOyB9XG5cbi5wcmVsb2FkZXItYXVkaW8tcGxheSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzdXR4YnUyMjRnYTF2N2gzOGpmcXpmYy1pY29uLXByZWxvYWRlci10dXJuLW9mZi1hdWRpby5zdmdcIikgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTg4cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MnB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdG9wOiAxMTAlOyB9XG5cbi5wcm9ncmVzcy1iYXJfX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IC4zcmVtO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBiYWNrZ3JvdW5kOiAjNjI2MjYyO1xuICBtYXJnaW46IDU1cHggMDsgfVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNlNzgzO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLTEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyB9XG5cbi5wcm9ncmVzcy1iYXJfX3RleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb3Zlci1kaXJlY3Rpb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OyB9XG4gIC5jb3Zlci1kaXJlY3Rpb24gaDIge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvdmVyLWRpcmVjdGlvbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb3Zlci1kaXJlY3Rpb24gaDIge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG4jdGFyZ2V0IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uSGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvdmVyLWV4cGxvcmUtaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogLTVyZW07IH1cbiAgLmNvdmVyLWV4cGxvcmUtaWNvbiBpbWcge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG5cbi5jb3Zlci1hdWRpby1ub3RlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQuNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHJpZ2h0OiB1bnNldDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb3Zlci1hdWRpby1ub3RlIHtcbiAgICAgIHJpZ2h0OiB1bnNldDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvdmVyLWF1ZGlvLW5vdGUge1xuICAgICAgcmlnaHQ6IDE2cmVtOyB9IH1cblxuLmNvdmVyLWNsb3NlLW5vdGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcmVtO1xuICByaWdodDogNSU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHRvcDogNnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb3Zlci1jbG9zZS1ub3RlIHtcbiAgICAgIHRvcDogMTByZW07IH0gfVxuICAuY292ZXItY2xvc2Utbm90ZTphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnXCIpO1xuICAgIHBhZGRpbmctbGVmdDogLjdyZW07IH1cblxuLnJldmVhbCB7XG4gIHBhZGRpbmc6IDJlbSAzZW0gM2VtIDNlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogOTAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNTUlOyB9IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMjEsIDIxLCAwLjkpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbC1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEsIDIxLCAyMSwgMC44NSk7IH0gfVxuXG4ubW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbWFyZ2luOiAyMHB4IDAgMjVweCAwOyB9XG5cbi5tb2RhbC1ub3RlcyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4ubW9kYWwtcHJpY2Uge1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7IH1cblxuLm1vZGFsLWNvcHkge1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzZCNzc5MDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHJlbTtcbiAgcmlnaHQ6IDUlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgdG9wOiA2cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICB0b3A6IDEwcmVtOyB9IH1cbiAgLmNsb3NlLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnXCIpO1xuICAgIHBhZGRpbmctbGVmdDogLjdyZW07IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogLjc7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLm1vZGFsLXdyYXBwZXIge1xuICB6LWluZGV4OiA5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ubXlWaWRlbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGhlaWdodDogNzAlO1xuICB0b3A6IDUwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5teVZpZGVvIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5teVZpZGVvIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH0gfVxuXG4ubXlWaWRlb0xnIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIG1pbi1oZWlnaHQ6IDEyMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubXlWaWRlb0xnIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5teVZpZGVvTGcge1xuICAgICAgbWluLWhlaWdodDogMTAwJTsgfSB9XG5cbi5teVZpZGVvQmcge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWluLWhlaWdodDogMTQwJTtcbiAgbGVmdDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5teVZpZGVvQmcge1xuICAgICAgbWluLWhlaWdodDogMTQwJTtcbiAgICAgIGxlZnQ6IDUwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm15VmlkZW9CZyB7XG4gICAgICBtaW4taGVpZ2h0OiAxNDAlO1xuICAgICAgbGVmdDogNTAlOyB9IH1cblxuLm1vZGFsLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50LCBibGFjayk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiA5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4ubW9kYWwtY292ZXItaHVsdXdlZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5tb2RhbC1pbmZvLXdyYXBwZXIge1xuICB6LWluZGV4OiA5O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1pbmZvLXdyYXBwZXIge1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAubW9kYWwtaW5mby13cmFwcGVyIGgxIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbSAwO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogdW5zZXQ7XG4gICAgbGluZS1oZWlnaHQ6IC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjhyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvLXdyYXBwZXIgaDEge1xuICAgICAgICBsaW5lLWhlaWdodDogLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW0gIWltcG9ydGFudDsgfSB9XG4gIC5tb2RhbC1pbmZvLXdyYXBwZXIgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvLXdyYXBwZXIgaDQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfSB9XG5cbi5tb2RhbC1pbWctbmV0d29yayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE4MHB4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICByaWdodDogNSU7XG4gIGJvdHRvbTogOTVweDtcbiAgaGVpZ2h0OiAxMXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWltZy1uZXR3b3JrIHtcbiAgICAgIHJpZ2h0OiA1JTtcbiAgICAgIGJvdHRvbTogOTVweDtcbiAgICAgIGhlaWdodDogMTFweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1vZGFsLWltZy1uZXR3b3JrIHtcbiAgICAgIHJpZ2h0OiAxODBweDtcbiAgICAgIGJvdHRvbTogOThweDtcbiAgICAgIGhlaWdodDogMTdweDsgfSB9XG5cbi5tb2RhbC1pbWctc2hvd3RpbWUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdTdsa3hqeTNsdzQxdjZibHYwOHFzeG0tc2hvd3RpbWUuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA0M3B4O1xuICBoZWlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtaW1nLXNob3d0aW1lIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kYWwtaW1nLXNob3d0aW1lIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfSB9XG5cbi5tb2RhbC1pbWctaHVsdSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2xzcHplYjJ2ODF2N2gxbGgzZXdjYS1odWx1LmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogNDNweDtcbiAgaGVpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWltZy1odWx1IHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kYWwtaW1nLWh1bHUge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9IH1cblxuLm1vZGFsLWltZy1oYm9tYXgge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdThtcWoxOWNleGcxdmFjMWtjMXVrb3ctaGJvLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogNDNweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAxM3B4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWltZy1oYm9tYXgge1xuICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1pbWctaGJvbWF4IHtcbiAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfSB9XG5cbi5tb2RhbC1pbWctZnhtIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bHJhZWhiMnRhMXY3aGFrM20yc2dnLWZ4bS5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMThweDtcbiAgd2lkdGg6IDMzcHg7XG4gIGhlaWdodDogMTNweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2RhbC1pbWctZnhtIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kYWwtaW1nLWZ4bSB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH0gfVxuXG4ubW9kYWwtaW1nLWFtYyB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2xvejU4M20xZzF2NmJzOGVlNTY0Zy1hbWMuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHdpZHRoOiAzM3B4O1xuICBoZWlnaHQ6IDEzcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtaW1nLWFtYyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMThweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1vZGFsLWltZy1hbWMge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9IH1cblxuLm1vZGFsLWltZy1meCB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2x4cnA3M21jeDF2NmJmamtsMmt6ei1meC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMThweDtcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMTNweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2RhbC1pbWctZngge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1pbWctZngge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9IH1cblxuLm1vZGFsLWltZy1mb3gge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdTdtMTZmZDNtYjQxdjl1YjN3emtxNXktZm94LmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogNDlweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1vZGFsLWltZy1mb3gge1xuICAgICAgd2lkdGg6IDQ5cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1pbWctZm94IHtcbiAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfSB9XG5cbi5tb2RhbC1pbWctdXNhIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bWwyb2Uzbjc4MXY2YmNqcGF0YnowLXVzYS5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDQ5cHg7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2RhbC1pbWctdXNhIHtcbiAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubW9kYWwtaW1nLXVzYSB7XG4gICAgICB3aWR0aDogNDlweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH0gfVxuXG4ubW9kYWwtaW1nLWNicyB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N21ud2g5M24xODF2YWtmaHRjZTBvcS1jYnMuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiA0OXB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kYWwtaW1nLWNicyB7XG4gICAgICB3aWR0aDogNDlweDtcbiAgICAgIGhlaWdodDogMjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1vZGFsLWltZy1jYnMge1xuICAgICAgd2lkdGg6IDQ5cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9IH1cblxuLm1vZGFsLWJ0bi13YXRjaCB7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIGJvcmRlcjogc29saWQgMnB4ICNmZmZmZmY7XG4gIHdpZHRoOiAyMzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgd2lkdGg6IDIwOHB4O1xuICBwYWRkaW5nOiA2cHggMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tb2RhbC1idG4td2F0Y2gge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzBweDsgfSB9XG4gIC5tb2RhbC1idG4td2F0Y2g6aG92ZXIsIC5tb2RhbC1idG4td2F0Y2g6Zm9jdXMsIC5tb2RhbC1idG4td2F0Y2g6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLm1vZGFsLWJ0bi1jcyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB3aWR0aDogMjAwcHg7IH1cbiAgLm1vZGFsLWJ0bi1jczpob3ZlciwgLm1vZGFsLWJ0bi1jczphY3RpdmUsIC5tb2RhbC1idG4tY3M6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLm1vZGFsLXNsaWRlci13cmFwcGVyIHtcbiAgd2lkdGg6IDEyOXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk7XG4gIGJvdHRvbTogOTBweDsgfVxuXG4uc2xpZGVyLWluZm8ge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDUxcHg7IH1cblxuLnNsaWRlci1hcnJvdywgLnNsaWRlci1pbmZvIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCA1cHg7IH1cblxuLnNsaWRlci1hcnJvdzpob3ZlciB7XG4gIG9wYWNpdHk6IC43OyB9XG5cbi5zbGlkZXItYXJyb3ctbGVmdCB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0MzhlZXBrM3ppMzF2M2RhcGlmbXJxOC1pY29uLWxlZnQtc2xpZGVyLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWRlci1hcnJvdy1yaWdodCB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0MzhlM3dyM3pobTF2M2Q5OGlraDE2ei1pY29uLXJpZ2h0LXNsaWRlci5zdmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxOXB4OyB9XG5cbi5mcmFtZSB7XG4gIHdpZHRoOiAzNjBweDtcbiAgaGVpZ2h0OiA2NDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pbWctbGF5ZXIsIC5pbWctbGF5ZXItMSwgLmltZy1sYXllci0yLCAuaW1nLWxheWVyLTMsIC5pbWctbGF5ZXItNCwgLmltZy1sYXllci01LCAuaW1nLWxheWVyLTYsIC5pbWctbGF5ZXItNywgLmltZy1sYXllci04LCAuaW1nLWxheWVyLTksIC5pbWctbGF5ZXItMTAsIC5pbWctbGF5ZXItMTEsIC5pbWctbGF5ZXItMTIsIC5pbWctbGF5ZXItMTMsIC5pbWctbGF5ZXItMTQsIC5pbWctbGF5ZXItMTUsIC5pbWctbGF5ZXItMTYsIC5pbWctbGF5ZXItMTcsIC5pbWctbGF5ZXItMTgsIC5pbWctbGF5ZXItMTksIC5pbWctbGF5ZXItMjAsIC5pbWctbGF5ZXItMjEsIC5pbWctbGF5ZXItMjIsIC5pbWctbGF5ZXItMjMsIC5pbWctbGF5ZXItMjQsIC5pbWctbGF5ZXItMjUsIC5pbWctbGF5ZXItMjYsIC5pbWctbGF5ZXItMjcsIC5pbWctbGF5ZXItMjgsIC5pbWctbGF5ZXItMjksIC5pbWctbGF5ZXItMzAge1xuICB3aWR0aDogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuaW1nLWxheWVyLS0xLCAuaW1nLWxheWVyLTEtLTEsIC5pbWctbGF5ZXItMi0tMSwgLmltZy1sYXllci0zLS0xLCAuaW1nLWxheWVyLTQtLTEsIC5pbWctbGF5ZXItNS0tMSwgLmltZy1sYXllci02LS0xLCAuaW1nLWxheWVyLTctLTEsIC5pbWctbGF5ZXItOC0tMSwgLmltZy1sYXllci05LS0xLCAuaW1nLWxheWVyLTEwLS0xLCAuaW1nLWxheWVyLTExLS0xLCAuaW1nLWxheWVyLTEyLS0xLCAuaW1nLWxheWVyLTEzLS0xLCAuaW1nLWxheWVyLTE0LS0xLCAuaW1nLWxheWVyLTE1LS0xLCAuaW1nLWxheWVyLTE2LS0xLCAuaW1nLWxheWVyLTE3LS0xLCAuaW1nLWxheWVyLTE4LS0xLCAuaW1nLWxheWVyLTE5LS0xLCAuaW1nLWxheWVyLTIwLS0xLCAuaW1nLWxheWVyLTIxLS0xLCAuaW1nLWxheWVyLTIyLS0xLCAuaW1nLWxheWVyLTIzLS0xLCAuaW1nLWxheWVyLTI0LS0xLCAuaW1nLWxheWVyLTI1LS0xLCAuaW1nLWxheWVyLTI2LS0xLCAuaW1nLWxheWVyLTI3LS0xLCAuaW1nLWxheWVyLTI4LS0xLCAuaW1nLWxheWVyLTI5LS0xLCAuaW1nLWxheWVyLTMwLS0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG4gIC5pbWctbGF5ZXItLTIsIC5pbWctbGF5ZXItMS0tMiwgLmltZy1sYXllci0yLS0yLCAuaW1nLWxheWVyLTMtLTIsIC5pbWctbGF5ZXItNC0tMiwgLmltZy1sYXllci01LS0yLCAuaW1nLWxheWVyLTYtLTIsIC5pbWctbGF5ZXItNy0tMiwgLmltZy1sYXllci04LS0yLCAuaW1nLWxheWVyLTktLTIsIC5pbWctbGF5ZXItMTAtLTIsIC5pbWctbGF5ZXItMTEtLTIsIC5pbWctbGF5ZXItMTItLTIsIC5pbWctbGF5ZXItMTMtLTIsIC5pbWctbGF5ZXItMTQtLTIsIC5pbWctbGF5ZXItMTUtLTIsIC5pbWctbGF5ZXItMTYtLTIsIC5pbWctbGF5ZXItMTctLTIsIC5pbWctbGF5ZXItMTgtLTIsIC5pbWctbGF5ZXItMTktLTIsIC5pbWctbGF5ZXItMjAtLTIsIC5pbWctbGF5ZXItMjEtLTIsIC5pbWctbGF5ZXItMjItLTIsIC5pbWctbGF5ZXItMjMtLTIsIC5pbWctbGF5ZXItMjQtLTIsIC5pbWctbGF5ZXItMjUtLTIsIC5pbWctbGF5ZXItMjYtLTIsIC5pbWctbGF5ZXItMjctLTIsIC5pbWctbGF5ZXItMjgtLTIsIC5pbWctbGF5ZXItMjktLTIsIC5pbWctbGF5ZXItMzAtLTIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgYW5pbWF0aW9uOiBibGlua2luZyAwLjNzIGVhc2Utb3V0IGluZmluaXRlLCBnbGl0Y2gtYW5pbS1ob3Jpem9udGFsIDVzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgLmltZy1sYXllci0tMywgLmltZy1sYXllci0xLS0zLCAuaW1nLWxheWVyLTItLTMsIC5pbWctbGF5ZXItMy0tMywgLmltZy1sYXllci00LS0zLCAuaW1nLWxheWVyLTUtLTMsIC5pbWctbGF5ZXItNi0tMywgLmltZy1sYXllci03LS0zLCAuaW1nLWxheWVyLTgtLTMsIC5pbWctbGF5ZXItOS0tMywgLmltZy1sYXllci0xMC0tMywgLmltZy1sYXllci0xMS0tMywgLmltZy1sYXllci0xMi0tMywgLmltZy1sYXllci0xMy0tMywgLmltZy1sYXllci0xNC0tMywgLmltZy1sYXllci0xNS0tMywgLmltZy1sYXllci0xNi0tMywgLmltZy1sYXllci0xNy0tMywgLmltZy1sYXllci0xOC0tMywgLmltZy1sYXllci0xOS0tMywgLmltZy1sYXllci0yMC0tMywgLmltZy1sYXllci0yMS0tMywgLmltZy1sYXllci0yMi0tMywgLmltZy1sYXllci0yMy0tMywgLmltZy1sYXllci0yNC0tMywgLmltZy1sYXllci0yNS0tMywgLmltZy1sYXllci0yNi0tMywgLmltZy1sYXllci0yNy0tMywgLmltZy1sYXllci0yOC0tMywgLmltZy1sYXllci0yOS0tMywgLmltZy1sYXllci0zMC0tMyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgYW5pbWF0aW9uOiBnbGl0Y2gtYW5pbS1ob3Jpem9udGFsIDJzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgLmltZy1sYXllci0tNCwgLmltZy1sYXllci0xLS00LCAuaW1nLWxheWVyLTItLTQsIC5pbWctbGF5ZXItMy0tNCwgLmltZy1sYXllci00LS00LCAuaW1nLWxheWVyLTUtLTQsIC5pbWctbGF5ZXItNi0tNCwgLmltZy1sYXllci03LS00LCAuaW1nLWxheWVyLTgtLTQsIC5pbWctbGF5ZXItOS0tNCwgLmltZy1sYXllci0xMC0tNCwgLmltZy1sYXllci0xMS0tNCwgLmltZy1sYXllci0xMi0tNCwgLmltZy1sYXllci0xMy0tNCwgLmltZy1sYXllci0xNC0tNCwgLmltZy1sYXllci0xNS0tNCwgLmltZy1sYXllci0xNi0tNCwgLmltZy1sYXllci0xNy0tNCwgLmltZy1sYXllci0xOC0tNCwgLmltZy1sYXllci0xOS0tNCwgLmltZy1sYXllci0yMC0tNCwgLmltZy1sYXllci0yMS0tNCwgLmltZy1sYXllci0yMi0tNCwgLmltZy1sYXllci0yMy0tNCwgLmltZy1sYXllci0yNC0tNCwgLmltZy1sYXllci0yNS0tNCwgLmltZy1sYXllci0yNi0tNCwgLmltZy1sYXllci0yNy0tNCwgLmltZy1sYXllci0yOC0tNCwgLmltZy1sYXllci0yOS0tNCwgLmltZy1sYXllci0zMC0tNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgYW5pbWF0aW9uOiBnbGl0Y2gtYW5pbS1ob3Jpem9udGFsIDAuOHMgZWFzZSBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgLmltZy1sYXllci0tNSwgLmltZy1sYXllci0xLS01LCAuaW1nLWxheWVyLTItLTUsIC5pbWctbGF5ZXItMy0tNSwgLmltZy1sYXllci00LS01LCAuaW1nLWxheWVyLTUtLTUsIC5pbWctbGF5ZXItNi0tNSwgLmltZy1sYXllci03LS01LCAuaW1nLWxheWVyLTgtLTUsIC5pbWctbGF5ZXItOS0tNSwgLmltZy1sYXllci0xMC0tNSwgLmltZy1sYXllci0xMS0tNSwgLmltZy1sYXllci0xMi0tNSwgLmltZy1sYXllci0xMy0tNSwgLmltZy1sYXllci0xNC0tNSwgLmltZy1sYXllci0xNS0tNSwgLmltZy1sYXllci0xNi0tNSwgLmltZy1sYXllci0xNy0tNSwgLmltZy1sYXllci0xOC0tNSwgLmltZy1sYXllci0xOS0tNSwgLmltZy1sYXllci0yMC0tNSwgLmltZy1sYXllci0yMS0tNSwgLmltZy1sYXllci0yMi0tNSwgLmltZy1sYXllci0yMy0tNSwgLmltZy1sYXllci0yNC0tNSwgLmltZy1sYXllci0yNS0tNSwgLmltZy1sYXllci0yNi0tNSwgLmltZy1sYXllci0yNy0tNSwgLmltZy1sYXllci0yOC0tNSwgLmltZy1sYXllci0yOS0tNSwgLmltZy1sYXllci0zMC0tNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwIDElLCAxMDAlIDElLCAxMDAlIDApO1xuICAgIGFuaW1hdGlvbjogYmxpbmtpbmcgMXMgbGluZWFyIGluZmluaXRlLCBnbGl0Y2gtYW5pbS12ZXJ0aWNhbCAzcyBlYXNlIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAuaW1nLWxheWVyLS02LCAuaW1nLWxheWVyLTEtLTYsIC5pbWctbGF5ZXItMi0tNiwgLmltZy1sYXllci0zLS02LCAuaW1nLWxheWVyLTQtLTYsIC5pbWctbGF5ZXItNS0tNiwgLmltZy1sYXllci02LS02LCAuaW1nLWxheWVyLTctLTYsIC5pbWctbGF5ZXItOC0tNiwgLmltZy1sYXllci05LS02LCAuaW1nLWxheWVyLTEwLS02LCAuaW1nLWxheWVyLTExLS02LCAuaW1nLWxheWVyLTEyLS02LCAuaW1nLWxheWVyLTEzLS02LCAuaW1nLWxheWVyLTE0LS02LCAuaW1nLWxheWVyLTE1LS02LCAuaW1nLWxheWVyLTE2LS02LCAuaW1nLWxheWVyLTE3LS02LCAuaW1nLWxheWVyLTE4LS02LCAuaW1nLWxheWVyLTE5LS02LCAuaW1nLWxheWVyLTIwLS02LCAuaW1nLWxheWVyLTIxLS02LCAuaW1nLWxheWVyLTIyLS02LCAuaW1nLWxheWVyLTIzLS02LCAuaW1nLWxheWVyLTI0LS02LCAuaW1nLWxheWVyLTI1LS02LCAuaW1nLWxheWVyLTI2LS02LCAuaW1nLWxheWVyLTI3LS02LCAuaW1nLWxheWVyLTI4LS02LCAuaW1nLWxheWVyLTI5LS02LCAuaW1nLWxheWVyLTMwLS02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7XG4gICAgYW5pbWF0aW9uOiBibGlua2luZyAwLjhzIGxpbmVhciBpbmZpbml0ZTsgfVxuICAuaW1nLWxheWVyLS03LCAuaW1nLWxheWVyLTEtLTcsIC5pbWctbGF5ZXItMi0tNywgLmltZy1sYXllci0zLS03LCAuaW1nLWxheWVyLTQtLTcsIC5pbWctbGF5ZXItNS0tNywgLmltZy1sYXllci02LS03LCAuaW1nLWxheWVyLTctLTcsIC5pbWctbGF5ZXItOC0tNywgLmltZy1sYXllci05LS03LCAuaW1nLWxheWVyLTEwLS03LCAuaW1nLWxheWVyLTExLS03LCAuaW1nLWxheWVyLTEyLS03LCAuaW1nLWxheWVyLTEzLS03LCAuaW1nLWxheWVyLTE0LS03LCAuaW1nLWxheWVyLTE1LS03LCAuaW1nLWxheWVyLTE2LS03LCAuaW1nLWxheWVyLTE3LS03LCAuaW1nLWxheWVyLTE4LS03LCAuaW1nLWxheWVyLTE5LS03LCAuaW1nLWxheWVyLTIwLS03LCAuaW1nLWxheWVyLTIxLS03LCAuaW1nLWxheWVyLTIyLS03LCAuaW1nLWxheWVyLTIzLS03LCAuaW1nLWxheWVyLTI0LS03LCAuaW1nLWxheWVyLTI1LS03LCAuaW1nLWxheWVyLTI2LS03LCAuaW1nLWxheWVyLTI3LS03LCAuaW1nLWxheWVyLTI4LS03LCAuaW1nLWxheWVyLTI5LS03LCAuaW1nLWxheWVyLTMwLS03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICAgIGFuaW1hdGlvbjogYmxpbmtpbmcgMC44cyAxLjRzIGxpbmVhciBpbmZpbml0ZSwgZ2xpdGNoLWFuaW0tbGVmdCA1cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBibGlua2luZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIDcwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZ2xpdGNoLWFuaW0tcmlnaHQge1xuICB0byB7XG4gICAgbGVmdDogMiU7XG4gICAgdG9wOiAtMSU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGdsaXRjaC1hbmltLWxlZnQge1xuICB0byB7XG4gICAgcmlnaHQ6IDIlO1xuICAgIGJvdHRvbTogLTElOyB9IH1cblxuQGtleWZyYW1lcyBnbGl0Y2gtYW5pbS1ob3Jpem9udGFsIHtcbiAgMCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMTAwJSwgMiUgMTAwJSwgMiUgMCk7IH1cbiAgMTAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMzUlIDAsIDM1JSAxMDAlLCAzNyUgMTAwJSwgMzclIDApOyB9XG4gIDI1JSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDI1JSAwLCAyNSUgMTAwJSwgMjclIDEwMCUsIDI3JSAwKTsgfVxuICA0MCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigzNSUgMCwgMzUlIDEwMCUsIDM3JSAxMDAlLCAzNyUgMCk7IH1cbiAgNTAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oNzUlIDAsIDc1JSAxMDAlLCA3NyUgMTAwJSwgNzclIDApOyB9XG4gIDYwJSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDY1JSAwLCA2NSUgMTAwJSwgNjclIDEwMCUsIDY3JSAwKTsgfVxuICA3NSUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigzNSUgMCwgMzUlIDEwMCUsIDM3JSAxMDAlLCAzNyUgMCk7IH1cbiAgODUlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oODUlIDAsIDg1JSAxMDAlLCA4NyUgMTAwJSwgODclIDApOyB9XG4gIDEwMCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDApOyB9IH1cblxuQGtleWZyYW1lcyBnbGl0Y2gtYW5pbS12ZXJ0aWNhbCB7XG4gIDAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAwIDElLCAxMDAlIDElLCAxMDAlIDApOyB9XG4gIDEwJSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMjAlLCAwIDIxJSwgMTAwJSAyMSUsIDEwMCUgMjAlKTsgfVxuICAyNSUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDc1JSwgMCA3NiUsIDEwMCUgNzYlLCAxMDAlIDc1JSk7IH1cbiAgNDAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCA0MCUsIDAgNDElLCAxMDAlIDQxJSwgMTAwJSA0MCUpOyB9XG4gIDUwJSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgOTAlLCAwIDkxJSwgMTAwJSA5MSUsIDEwMCUgOTAlKTsgfVxuICA2MCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDgwJSwgMCA4NSUsIDEwMCUgODUlLCAxMDAlIDgwJSk7IH1cbiAgNzUlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAzMiUsIDAgMzMlLCAxMDAlIDMzJSwgMTAwJSAzMiUpOyB9XG4gIDg1JSB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNjUlLCAwIDY2JSwgMTAwJSA2NiUsIDEwMCUgNjUlKTsgfVxuICAxMDAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAzNSUsIDAgNTAlLCAxMDAlIDUwJSwgMTAwJSAzNSUpOyB9IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDsgfVxuXG4udGl0bGUtYmFyLWltYWdlLCAubWVudS1sb2dvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja2w5dTJqNXYyOTZ6MXU2cHRyZTlmYTI4LWxvZ28taHVsdS1ncmVlbi5zdmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgd2lkdGg6IDY1cHg7XG4gIGhlaWdodDogMjJweDsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMS41cmVtOyB9XG5cbi5tZW51LXRleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLnN0aWNreS10b3BiYXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk7IH1cblxuLnRvcC1iYXIsXG4udG9wLWJhciB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiAwLjRyZW0gMC41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRvcC1iYXIsXG4gICAgLnRvcC1iYXIgdWwge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi50b3AtYmFyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSg0LCA0LCA1LCAwKSwgIzA0MDQwNSk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBiYWNrZ3JvdW5kOiAjMDQwNDA1O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnRvcC1iYXItYmxhbmsge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXItYmxhbmsge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRvcC1iYXItYmxhbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAuNzVyZW0gMC42MjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2M3JlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAyNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9IH1cblxuLm1lbnUgYSwgLm1lbnUgYS5idXR0b24ge1xuICBwYWRkaW5nOiAwLjlyZW0gMXJlbTsgfVxuXG4ubWVudS1sb2dvIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC02cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm1lbnUgbGkgaW1nIHtcbiAgbWFyZ2luOiAtNXB4IDAgMCAxcmVtOyB9XG5cbi5idXR0b24tbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5idXR0b24tbWVudTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IC44OyB9XG5cbi5uYXYtYnRuIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLW1lbnUtbWFuYWdlIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tbWVudS1tYW5hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC00MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tbWVudS1tYW5hZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uZHJvcGRvd24tZGVzayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZHJvcGRvd24tZGVzayB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5kcm9wZG93bi1tb2JpbGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5kcm9wZG93bi1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5kcm9wZG93bi1kZXNrLXN1YiBhIHtcbiAgd2lkdGg6IDE5NXB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZHJvcGRvd24tZGVzay1zdWIgYSB7XG4gICAgICB3aWR0aDogMTk1cHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmRyb3Bkb3duLWRlc2stc3ViIGEge1xuICAgICAgd2lkdGg6IDE5NXB4OyB9IH1cblxuLnN5ZnQtbm90ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWsnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBvcGFjaXR5OiAuODtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMXB4O1xuICBtYXJnaW46IDRweCAwIDAgMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zeWZ0LW5vdGUge1xuICAgICAgbWFyZ2luOiA0cHggMCAwIDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zeWZ0LW5vdGUge1xuICAgICAgbWFyZ2luOiA0cHggMCAwIDA7IH0gfVxuXG4ucGFzdC1tYWluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDQ0ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5wYXN0LW1haW4gLm1lbnUtbG9nbyB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja2Y0OXpvam45aTF6MTg0YThhanJjc3lnLWxvZ28taHVsdS5zdmdcIikgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAhaW1wb3J0YW50OyB9XG4gIC5wYXN0LW1haW4gLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5wYXN0LW1haW4gYS5idXR0b24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgLnBhc3QtbWFpbiAubmF2LWJ0biB7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuICAucGFzdC1tYWluIC5zeWZ0LW5vdGUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5ncmlkLXggPiAubWVkaXVtLTUge1xuICB3aWR0aDogMjUlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG5cbi5ncmlkLXggPiAubWVkaXVtLTMge1xuICB3aWR0aDogMzMlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMTYlOyB9IH1cblxuLmdyaWQtY29udGFpbmVyLXdyYXBwZXIge1xuICBwYWRkaW5nOiA3cmVtIC4zcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogN3JlbSAxLjVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXItd3JhcHBlciAuZ3JpZC1kcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIgLmdyaWQtdGl0bGUge1xuICAgIG1hcmdpbjogNXJlbSAwIDJyZW0gMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciAuZ3JpZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogN3JlbSAwOyB9IH1cblxuLmdyaWQtcm93IHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U2ZTZlNjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQtcm93IHtcbiAgICAgIG1hcmdpbjogMCA1cmVtOyB9IH1cblxuLmdyaWQtY2hhcnQgLmNlbGwge1xuICBwYWRkaW5nOiAxLjVyZW0gMDsgfVxuXG4uZ3JpZC1zZWxlY3Qge1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXNlbGVjdCB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uZ3JpZC1idXR0b24ge1xuICBtYXJnaW46IDFyZW0gMCAycmVtIDA7XG4gIHBhZGRpbmc6IDAuOXJlbSAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAuOXJlbSAxNSUgIWltcG9ydGFudDsgfSB9XG5cbi5ub3RlLXRyaWFsIHtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGZvbnQtc2l6ZTogMC40cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ub3RlLXRyaWFsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4ubm90ZS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMyMTIxMjE7IH1cblxuLm5vdGUtdHh0IHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4ubW9zdC1wb3B1bGFyIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5pY29uLWluZm8ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDsgfVxuXG4uc3Ryb25nLXBsYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0cm9uZy1wbGFuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLm1vc3QtcG9wdWxhci1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNlNzgzO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBmb250LXNpemU6IC43cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9zdC1wb3B1bGFyLWFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAwLjRyZW0gMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjhyZW07IH0gfVxuXG4ubm90ZS1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RlLWdyaWQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5oYWxmLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ubGlnaHQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmxpZ2h0LWNvbnRhaW5lciAuZ3JpZC1kcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y4RkE7IH1cbiAgLmxpZ2h0LWNvbnRhaW5lciAuYnV0dG9uLWRyayB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5saWdodC1jb250YWluZXIgLmJ1dHRvbi1kcmsge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpZ2h0LWNvbnRhaW5lciAuYnV0dG9uLWRyayB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICAgIC5saWdodC1jb250YWluZXIgLmJ1dHRvbi1kcms6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5saWdodC1jb250YWluZXIgaDEge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucXVlc3Rpb25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IC01cmVtOyB9XG5cbi5xdWVzdGlvbnMtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5wcmljZS1uYW1lIHtcbiAgZm9udC1zaXplOiAuOXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmljZS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJpY2UtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG5cbi5hY2NvcmRpb24tY29udGVudCwgLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcGFkZGluZzogMnJlbSA1cmVtO1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07IH1cblxuLmFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja2xyNXR6d2o1dXlpMWpiMGhwOHN2c3BkLWljb24tYWRkb24tc2hvdy5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5hY2NfX2FjdGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrbHI1dHp0ZzV1amUxamFvbzhsN3hnZXQtaWNvbi1hZGRvbi1oaWRlLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmFjY29yZGlvbi10aXRsZS1xdWVzdGlvbnMge1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNHJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY2NvcmRpb24tdGl0bGUtcXVlc3Rpb25zIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlLXF1ZXN0aW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tsYTBoeTJzMmhpMjF1ODdrY2wzcGVpZy1pY29uLXBsdXMuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC0xNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFjY29yZGlvbi10aXRsZS1xdWVzdGlvbnM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDsgfSB9XG5cbi5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlLXF1ZXN0aW9uczo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tsYTBoeTJxMmhubzF1OHNud3libHNwYi1pY29uLW1pbnVzLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlLXF1ZXN0aW9uczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDhweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4OyB9IH1cblxuLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5hY2NvcmRpb24tY29udGVudC1xdWVzdGlvbnMge1xuICBjb2xvcjogIzVFNjU3MztcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHdpZHRoOiA4MCU7IH1cbiAgLmFjY29yZGlvbi1jb250ZW50LXF1ZXN0aW9ucyBhIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmFjY29yZGlvbi11bCB7XG4gIG1hcmdpbjogMnJlbSAwICAxcmVtIDA7IH1cbiAgLmFjY29yZGlvbi11bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG5cbi5hY2Mge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYWNjX190aXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYWNjX19jYXJkIHtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFjY19fcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5hY2NvcmRpYW4tbm90ZSB7XG4gIGNvbG9yOiAjNUU2NTczO1xuICBmb250LXNpemU6IC43cmVtO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLnRhYnMsIC50YWJzLWNvbnRlbnQsIC50YWJzLXBhbmVsLCAudGFicy1wYW5lbC5pcy1hY3RpdmUsIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLnRhYnM6aG92ZXIsIC50YWJzLWNvbnRlbnQ6aG92ZXIsIC50YWJzLXBhbmVsOmhvdmVyLCAudGFicy1wYW5lbC5pcy1hY3RpdmU6aG92ZXIsIC50YWJzLXRpdGxlID4gYTpmb2N1czpob3ZlciwgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi50YWJzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDdyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50YWJzLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDdyZW0gMTFyZW07IH0gfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYnMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnRhYnMtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk1MHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC50YWJzLWNvbnRlbnQtY2VudGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbG9hdDogbm9uZTsgfSB9XG5cbi50YWJzLXRpdGxlIHtcbiAgd2lkdGg6IDI1JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRhYnMtdGl0bGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy10aXRsZSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi50YWJzLXRpdGxlLXRocmVlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAzMyU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGFicy10aXRsZS10aHJlZSB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy10aXRsZS10aHJlZSB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi50YWJzLXRpdGxlID4gYSB7XG4gIGNvbG9yOiAjNjg2ODY5O1xuICBtYXJnaW46IDEuMjVyZW0gMXJlbSAxLjI1cmVtIDFyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWstQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGFicy10aXRsZSA+IGEge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDFyZW0gMi4yNXJlbSAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy10aXRsZSA+IGEge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDFyZW0gMi4yNXJlbSAxcmVtOyB9IH1cbiAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMxY2U3ODM7XG4gICAgY29sb3I6ICM2ODY4Njk7IH1cblxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMWNlNzgzOyB9XG5cbi50YWJzLXBhbmVsIHAge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG50aGVhZCwgdGJvZHksIHRmb290LCB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGFibGUgdGQsIC50YWJsZSB0aCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBhZGRpbmc6IDEuMXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50YWJsZSB0ZCwgLnRhYmxlIHRoIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuXG4ucm93LTEge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG50Ym9keSB0aCxcbnRib2R5IHRkIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHRib2R5IHRoLFxuICAgIHRib2R5IHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICB0Ym9keSB0aCxcbiAgICB0Ym9keSB0ZCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5yb3ctdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWstQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRkZGRkZGOyB9XG5cbi5yb3ctdGl0bGUtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5oZWFkbGluZXIge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjMWNlNzgzO1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC0xNXB4OyB9XG5cbi5yb3ctbG9jayB7XG4gIHdpZHRoOiA0MHB4OyB9XG5cbi50YWJzLW5vdGUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJzLW5vdGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC50YWJzLW5vdGUgYTphY3RpdmUsIC50YWJzLW5vdGUgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMzQzg4RUI7IH1cblxuLnJvdy1vbmUge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDY1JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3ctb25lIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3ctb25lIHtcbiAgICAgIHdpZHRoOiA0OCU7IH0gfVxuXG4jc3BsYXNoc2NyZWVuLCAjaW50cm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgI3NwbGFzaHNjcmVlbiBoMSwgI2ludHJvIGgxIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNzUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuI3NwbGFzaHNjcmVlbiB7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG4gICNzcGxhc2hzY3JlZW4gcCB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMTg4cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNzcGxhc2hzY3JlZW4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNzcGxhc2hzY3JlZW4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICNzcGxhc2hzY3JlZW4gLmxvZ28taHVsdXdlZW4ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI3NwbGFzaHNjcmVlbiAubG9nby1odWx1d2VlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3NwbGFzaHNjcmVlbiAubG9nby1odWx1d2VlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI2ludHJvIHtcbiAgei1pbmRleDogOTk5OTsgfVxuICAjaW50cm8gcCB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgZm9udC1zaXplOiAxLjE4OHJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgI2ludHJvIHAge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNpbnRybyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLmludHJvLXNjcmVlbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDM2cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG5cbiNzcGxhc2hzY3JlZW4sICNpbnRybyB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBmb250LWZhbWlseTogJ0h1bHV3ZWVuLVNhbnMnO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHc1MnpteW92Z2wxdjFuNDhwMmFpYmYtYmctdmVpbC1ncmFkLTItbW9iaWxlMy5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGhlaWdodDogMTAxdmg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjc3BsYXNoc2NyZWVuLCAjaW50cm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgIGhlaWdodDogMTAxdmg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjc3BsYXNoc2NyZWVuLCAjaW50cm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5vd2wtY2Fyb3VzZWwge1xuICBtYXJnaW4tYm90dG9tOiAxNHJlbTsgfVxuXG4ub3dsLXNob3J0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ub3dsLWl0ZW0uYWN0aXZlID4gZGl2OmFmdGVyIHtcbiAgY29udGVudDogJyc7IH1cblxuLm93bC1pdGVtLmNlbnRlciA+IGRpdjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyB9XG5cbi5vd2wtaXRlbS5hY3RpdmUuY2VudGVyID4gZGl2OmFmdGVyIHtcbiAgY29udGVudDogJyc7IH1cblxuLm93bC1pdGVtID4gZGl2OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogN3B4OyB9XG5cbi5vd2wtY2Fyb3VzZWwtYm9ubiB7XG4gIG1hcmdpbi10b3A6IDByZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3dsLWNhcm91c2VsLWJvbm4ge1xuICAgICAgbWFyZ2luLXRvcDogMHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm93bC1jYXJvdXNlbC1ib25uIHtcbiAgICAgIG1hcmdpbi10b3A6IC05cmVtOyB9IH1cblxuLm93bC1jYXJvdXNlbC1ib25uIC5vd2wtaXRlbSBpbWcge1xuICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm93bC1jYXJvdXNlbC1ib25uIC5vd2wtaXRlbSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsgfSB9XG5cbi5zaG93cy1nb3RvLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5MCU7IH1cblxuLnNob3dzLWdvdG8tY29udGFpbmVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLm93bC1pdGVtOm50aC1vZi10eXBlKGV2ZW4pIC5zaG93cy1nb3RvLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLnNob3dzLWdvdG8tY29udGFpbmVyIGltZzpudGgtb2YtdHlwZShvZGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4jc2hhcmUtZXhhbXBsZSB7XG4gIG1hcmdpbjogMCAwIC40cmVtIDA7IH1cblxuLmIxc2ZrdndwIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG5cbi5kdHV3eHU2OmhvdmVyIHtcbiAgb3BhY2l0eTogLjc7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLmR0dXd4dTY6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmIxYXl6MTFtOmhvdmVyLCAuYjFheXoxMW06YWN0aXZlLCAuYjFjdHM2aGYge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5idzR6cnhvOmFmdGVyOmhvdmVyLCAucHkybnRtbDphZnRlciB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4uY24wMmE4eDpob3ZlciB7XG4gIGNvbG9yOiAjMDQwNDA1ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IC43ICFpbXBvcnRhbnQ7IH1cblxuLm0xbHBwNjB0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYTE2cDZmaGMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cbi5iYXA5bGZnIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5kdHV3eHU2IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3I0MWJ3aWdvbHdxMXU2bnRsaHF2cXh2LWJ0bi1zaGFyZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogODVweDtcbiAgaGVpZ2h0OiAyNXB4OyB9XG5cbi5senA5eDUwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uYmJsa2k5IHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzA0MDQwNTtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAyMzBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYmxraTkge1xuICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuLmZ6YWh3ZXQge1xuICBmbGV4LXdyYXA6IG5vLXdyYXAgIWltcG9ydGFudDtcbiAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cblxuLmI2Z2Z3N2k6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNGRkZGRkYgIWltcG9ydGFudDsgfVxuICAuYjZnZnc3aTphZnRlcjphY3RpdmUge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAuYjZnZnc3aTphZnRlcjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG5cbi5jMWs2bXJybSB7XG4gIGNvbG9yOiAjMDQwNDA1ICFpbXBvcnRhbnQ7IH1cblxuLm0xdHJjdTRpICsgLm0xdHJjdTRpIHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tMXRyY3U0aSArIC5tMXRyY3U0aSB7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfSB9XG5cbi5obWd2NHUyIHN2Zzpob3ZlciwgLmhtZ3Y0dTIgaW1nOmhvdmVyIHtcbiAgb3BhY2l0eTogLjc7IH1cblxuLnNoYXJlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IC41cmVtIGF1dG8gMXJlbSBhdXRvO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbWF4LXdpZHRoOiAzMDBweDsgfVxuICAuc2hhcmUtd3JhcHBlciBwIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWstQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0uM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAuc2hhcmUtd3JhcHBlciBhLnNoYXJlLWxpbmsge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMXB4IDFyZW0gMCAwOyB9XG4gIC5zaGFyZS13cmFwcGVyIGEuc2hhcmUtbGluay1sc3Qge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2hhcmUtd3JhcHBlciAuc2hhcmUtYnRuIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4ycztcbiAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAuc2hhcmUtd3JhcHBlciAuc2hhcmUtYnRuOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IC43OyB9XG5cbi5mb290ZXItc2hvcnQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxcmVtO1xuICBsZWZ0OiAycmVtO1xuICB6LWluZGV4OiA5O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItc2hvcnQtd3JhcHBlciB7XG4gICAgICBsZWZ0OiAycmVtOyB9IH1cbiAgLmZvb3Rlci1zaG9ydC13cmFwcGVyIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzU3MTQzcHg7XG4gICAgZm9udC1zaXplOiAwLjQyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItc2hvcnQtd3JhcHBlciBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtOyB9IH1cbiAgICAuZm9vdGVyLXNob3J0LXdyYXBwZXIgbGkgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLmZvb3Rlci1zaG9ydC13cmFwcGVyIGxpIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZm9vdGVyLXNoYXJlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgZm9udC1mYW1pbHk6IFwiR3JhcGhpay1Cb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uc2hhcmUtYnRuLXNob3J0LCAuc2hhcmUtYnRuLXNob3J0LWxzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIC5zaGFyZS1idG4tc2hvcnQ6aG92ZXIsIC5zaGFyZS1idG4tc2hvcnQtbHN0OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAuNzsgfVxuXG4uc2hhcmUtYnRuLXNob3J0IHtcbiAgd2lkdGg6IDExcHg7IH1cblxuLnNoYXJlLWJ0bi1zaG9ydC1sc3Qge1xuICB3aWR0aDogMjFweDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLUxpZ2h0JztcbiAgc3JjOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUxpZ2h0LVdlYi5lb3RcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstTGlnaHQtV2ViLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1MaWdodC1XZWIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1FeHRyYWxpZ2h0JztcbiAgc3JjOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUV4dHJhbGlnaHQtV2ViLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1FeHRyYWxpZ2h0LVdlYi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstRXh0cmFsaWdodC1XZWIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstRXh0cmFsaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLU1lZGl1bSc7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1NZWRpdW0tV2ViLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1NZWRpdW0tV2ViLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1NZWRpdW0tV2ViLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVJlZ3VsYXInO1xuICBzcmM6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstUmVndWxhci1XZWIuZW90XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVJlZ3VsYXItV2ViLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1SZWd1bGFyLVdlYi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1SZWd1bGFyLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBzcmM6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstU2VtaWJvbGQtV2ViLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1TZW1pYm9sZC1XZWIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVNlbWlib2xkLVdlYi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1TZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLUJvbGQnO1xuICBzcmM6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstQm9sZC1XZWIuZW90XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUJvbGQtV2ViLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay0tV2ViLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSHVsdXdlZW4tU2Fucyc7XG4gIHNyYzogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvaHVsdXdlZW4vSHVsdXdlZW5TYW5zLmVvdFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvaHVsdXdlZW4vSHVsdXdlZW5TYW5zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvaHVsdXdlZW4vSHVsdXdlZW5TYW5zLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9odWx1d2Vlbi9IdWx1d2VlblNhbnMub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyohIGxvY29tb3RpdmUtc2Nyb2xsIHY0LjEuMCB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9naXRodWIuY29tL2xvY29tb3RpdmVtdGwvbG9jb21vdGl2ZS1zY3JvbGwgKi9cbmh0bWwuaGFzLXNjcm9sbC1zbW9vdGgge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaGFzLXNjcm9sbC1kcmFnZ2luZyB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmhhcy1zY3JvbGwtc21vb3RoIGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5oYXMtc2Nyb2xsLXNtb290aCBbZGF0YS1zY3JvbGwtY29udGFpbmVyXSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbltkYXRhLXNjcm9sbC1kaXJlY3Rpb249XCJob3Jpem9udGFsXCJdIFtkYXRhLXNjcm9sbC1jb250YWluZXJdIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbltkYXRhLXNjcm9sbC1kaXJlY3Rpb249XCJob3Jpem9udGFsXCJdIFtkYXRhLXNjcm9sbC1zZWN0aW9uXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDExcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgb3BhY2l0eSAwLjNzO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5jLXNjcm9sbGJhcjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEuNDUpOyB9XG5cbi5jLXNjcm9sbGJhcjpob3ZlciwgLmhhcy1zY3JvbGwtc2Nyb2xsaW5nIC5jLXNjcm9sbGJhciwgLmhhcy1zY3JvbGwtZHJhZ2dpbmcgLmMtc2Nyb2xsYmFyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG5bZGF0YS1zY3JvbGwtZGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiXSAuYy1zY3JvbGxiYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMHB4O1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7IH1cblxuW2RhdGEtc2Nyb2xsLWRpcmVjdGlvbj1cImhvcml6b250YWxcIl0gLmMtc2Nyb2xsYmFyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMS4zKTsgfVxuXG4uYy1zY3JvbGxiYXJfdGh1bWIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjU7XG4gIHdpZHRoOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG1hcmdpbjogMnB4O1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5oYXMtc2Nyb2xsLWRyYWdnaW5nIC5jLXNjcm9sbGJhcl90aHVtYiB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG5bZGF0YS1zY3JvbGwtZGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiXSAuYy1zY3JvbGxiYXJfdGh1bWIge1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAwOyB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IC0xO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuaHRtbC5oYXMtc2Nyb2xsLXNtb290aCB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLm1hcmtldGluZy1zaXRlLWhlcm8ge1xuICBoZWlnaHQ6IDY1dmg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXJrZXRpbmctc2l0ZS1oZXJvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0gfVxuXG4ubWFya2V0aW5nLXNpdGUtaGVyby1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDByZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWFya2V0aW5nLXNpdGUtaGVyby1jb250ZW50IC5idXR0b24ucm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b246Zm9jdXMsIGE6Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5ncmlkLXBhZGRpbmcteCB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbmEge1xuICBjb2xvcjogIzNDODhFQjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzNDODhFQjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5hLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnICFpbXBvcnRhbnQ7IH1cbiAgYS5idXR0b246aG92ZXIge1xuICAgIG9wYWNpdHk6IC44OyB9XG5cbi5ub3RlIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbjogMXJlbSAwIC4zcmVtIDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5vdGUge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5vdGUge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTsgfSB9XG5cbi5zdWJ0aXRsZS1ub3RlIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG4gIG1hcmdpbjogLTFyZW0gMCAyLjVyZW0gMDtcbiAgbWFyZ2luOiAwIDAgMi41cmVtIDA7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH0gfVxuXG5wIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDsgfVxuXG5zdHJvbmcge1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjE1cmVtO1xuICBsaW5lLWhlaWdodDogMi43cmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xLjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjlyZW07IH0gfVxuXG4uaDEtcHJpY2luZyB7XG4gIGZvbnQtc2l6ZTogMi4xNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xLjVweDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmgxLXByaWNpbmcge1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDUuOXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGNvbG9yOiAjMTUxNTE1O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfSB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAyLjE4OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5wLCBoNiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWstQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBoNiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uaGVhZGVyLXRpdGxlIHtcbiAgd2lkdGg6IDkwJTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA3OTBweDsgfSB9XG5cbi5tYXN0aGVhZC13aWRlIHtcbiAgcGFkZGluZzogMTRyZW0gMCAwIDA7IH1cblxuLmhlYWRlci13aWRlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhcm91c2VsLWhpZ2gge1xuICBwYWRkaW5nOiAxNnJlbSAwIDAgMDsgfVxuXG4jbG92ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTBweDsgfVxuXG4udGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICBtYXJnaW46IDA7IH1cblxuLnRpdGxlLXZpZGVvIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGl0bGUtdmlkZW8ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnN1YnRpdGxlLXZpZGVvIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1YnRpdGxlLXZpZGVvIHtcbiAgICAgIHBhZGRpbmc6IDAgMTIuNXJlbTsgfSB9XG5cbi50eHQtbW9iIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR4dC1tb2Ige1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHh0LW1vYiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnR4dC1kZXNrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50eHQtZGVzayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHh0LWRlc2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLnRleHQtZ3JlZW4ge1xuICBjb2xvcjogIzFjZTc4MzsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMCAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWxlZnQge1xuICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG5cbi50ZXh0LXBhZGRpbmcge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cblxuLnR4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udHRoaC1oZWlnaHQge1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi50dGhoLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA3cmVtOyB9XG5cbi50dGhoLXNob3J0IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4udHRoaC1jb250YWluZXIge1xuICBwYWRkaW5nOiA0cmVtIDFyZW07XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnR0aGgtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDdyZW07IH0gfVxuICAudHRoaC1jb250YWluZXIgLmltZy1hcnJvdyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTsgfVxuICAudHRoaC1jb250YWluZXIgLmhpZ2hsaWdodCBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjZTc4MztcbiAgICBwYWRkaW5nOiAwLjkzOHJlbSAxLjU2M3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjU2M3JlbTsgfVxuICAudHRoaC1jb250YWluZXIgLnN1YmhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR3JhcGhpay1Cb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBtYXJnaW46IDEuN3JlbSAwIDIuNXJlbSAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMi4yNXM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnR0aGgtY29udGFpbmVyIC5zdWJoZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDMuMTI1cmVtOyB9IH1cbiAgLnR0aGgtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA2MS44NzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgZm9udC1zaXplOiAxLjA2M3JlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudHRoaC1jb250YWluZXIgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cbiAgLnR0aGgtY29udGFpbmVyIGg0IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxcmVtO1xuICAgIG1hcmdpbjogMi41cmVtIDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnR0aGgtY29udGFpbmVyIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAudHRoaC1jb250YWluZXIgYS5idXR0b24sIC50dGhoLWNvbnRhaW5lciAuYnV0dG9uLW1lbnUge1xuICAgIHBhZGRpbmc6IDEuMXJlbSAxLjJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJzsgfVxuICAgIC50dGhoLWNvbnRhaW5lciBhLmJ1dHRvbjpob3ZlciwgLnR0aGgtY29udGFpbmVyIC5idXR0b24tbWVudTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAuOCAhaW1wb3J0YW50OyB9XG5cbi5oNCB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oNCB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi50ZXh0LXVwcGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAxMCU7IH1cblxuLmFsbC1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAyNXZoOyB9XG5cbi50dGhoLW1hc3RoZWFkIHtcbiAgcGFkZGluZy10b3A6IDdyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHRoaC1tYXN0aGVhZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTRyZW07IH0gfVxuXG4uYnV0dG9uLW1lbnUge1xuICBwYWRkaW5nOiAwLjlyZW0gMXJlbSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50OyB9XG5cbi5vcmlnaW5hbHMtdGlsZS1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggOHB4ICMzMzM7XG4gIGxpbmUtaGVpZ2h0OiAxLjlyZW07XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgei1pbmRleDogOTk5OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9yaWdpbmFscy10aWxlLWNvdmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuOXJlbTsgfSB9XG5cbi5pbWctZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDguNzVyZW07XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07IH1cblxuLmltZy1jaGFuIHtcbiAgbWFyZ2luLXRvcDogNS41cmVtOyB9XG5cbi5ncmlkLXRhYnMge1xuICBwYWRkaW5nOiA3cmVtIDUuNXJlbSAwIDMuNXJlbTsgfVxuXG4uZ3JpZC1kZWFsIHtcbiAgcGFkZGluZy10b3A6IDRyZW07IH1cblxuLmdyaWQtZmxpcCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZsaXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGluaXRpYWw7IH0gfVxuXG4uaWNvbi1hcnJvdy1jb250YWluZXIge1xuICBtYXJnaW46IDE0cmVtIDAgMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5pY29uLWFycm93IHtcbiAgd2lkdGg6IDYwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaWNvbi1hcnJvdyB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG4ucXVpei1jb250YWluZXIge1xuICBtYXJnaW46IDEwcmVtIDA7XG4gIHBhZGRpbmc6IDUuNXJlbSAxMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxY2U3ODM7XG4gIGNvbG9yOiAjMTUxNTE1OyB9XG5cbnZpZGVvLnR0aGgtdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MCU7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgei1pbmRleDogLTE7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICB2aWRlby50dGhoLXZpZGVvIHtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG5hLmJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBwYWRkaW5nOiAwLjdyZW0gLjZyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBhLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjlyZW0gMXJlbTsgfSB9XG5cbi5tYXJrZXRpbmctc2l0ZS10aHJlZS11cCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG4gIC5tYXJrZXRpbmctc2l0ZS10aHJlZS11cCAucm93IHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gIC5tYXJrZXRpbmctc2l0ZS10aHJlZS11cCAuY29sdW1ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYXJrZXRpbmctc2l0ZS10aHJlZS11cCAuY29sdW1ucyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubWFya2V0aW5nLXNpdGUtdGhyZWUtdXAgLmZhIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBjb2xvcjogIzA0MDQwNTsgfVxuXG4ubWFya2V0aW5nLXNpdGUtdGhyZWUtdXAtaGVhZGxpbmUge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLm5vdGUtZmF2IHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW46IDFyZW0gMXJlbSAwIDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1mYXYge1xuICAgICAgbWFyZ2luOiAxcmVtIDNyZW0gMCAzcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubm90ZS1mYXYge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9IH1cblxuLm5vdGUtbGl2ZSB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW07IH1cblxuLmxpdmUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBtYXJnaW46IDRyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXZlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiA3cmVtIDA7IH0gfVxuICAubGl2ZS13cmFwcGVyIGRpdiB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1hcmdpbjogMTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNzAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpdmUtd3JhcHBlciBkaXYge1xuICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuXG4uaW1nLWxpdmUtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW1nLWxpdmUtaWNvbiB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDsgfSB9XG5cbmZvb3RlciAuZm9vdGVyLS1sZWdhbC1saW5rIHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5zZWN0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2Nyb2xsIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0yNTBweCAqIDcpKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMjUwcHggKiA3KSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMjUwcHggKiA3KSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTI1MHB4ICogNykpOyB9IH1cblxuLnNsaWRlciB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2xpZGVyOjpiZWZvcmUsIC5zbGlkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNsaWRlcjo6YWZ0ZXIge1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsgfVxuXG4uc2xpZGVyOjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnNsaWRlciAuc2xpZGUtdHJhY2sge1xuICAtd2Via2l0LWFuaW1hdGlvbjogc2Nyb2xsIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc2Nyb2xsIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBjYWxjKDI1MHB4ICogMTQpOyB9XG5cbi5zbGlkZXIgLnNsaWRlIHtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgd2lkdGg6IDI1MHB4OyB9XG5cbi5ub3RlLW5ldy1wcmljZSB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBtYXJnaW46IDAgMTBweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1uZXctcHJpY2Uge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RlLW5ldy1wcmljZSB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfSB9XG5cbi5ub3RlLW5ldy1wcmljZSBwIHtcbiAgY29sb3I6ICMxMTExMTE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5vdGUtbmV3LXByaWNlIHAge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5vdGUtbmV3LXByaWNlIHAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmNoYXJ0LWZlZWQge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZm9udC1zaXplOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1ib2xkJztcbiAgY29sb3I6ICMxY2U3ODM7XG4gIG1hcmdpbjogNjBweCAwIDAgMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jaGFydC1mZWVkIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNoYXJ0LWZlZWQge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jbG9zZS1idXR0b24tY2VudGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNsb3NlLWJ1dHRvbi1jZW50ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHVybChodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2Nrcm83MHp4am9iYnIxdTcycmMxem1zYWMtaWNvbi1jbG9zZS5zdmcpIG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hdWRpby13cmFwcGVyIHtcbiAgei1pbmRleDogOTk5OTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDM2MHB4O1xuICB0b3A6IDIycHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICByaWdodDogNzBweDtcbiAgdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmF1ZGlvLXdyYXBwZXIge1xuICAgICAgcmlnaHQ6IDcwcHg7XG4gICAgICB0b3A6IDE1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hdWRpby13cmFwcGVyIHtcbiAgICAgIHJpZ2h0OiAzNjBweDtcbiAgICAgIHRvcDogMjJweDsgfSB9XG5cbiNwbGF5ZXItY29udGFpbmVyICNwbGF5LXBhdXNlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLnBsYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWlraGVvMHNhdWcxdjNjbnFjcDF1dGItaWNvbi1zb3VuZC1vZmYuZnVsbC5wbmdcIik7IH1cblxuLnBhdXNlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVpa2hlanhhcHpoMXY1ODZvNmI3aWh2LWljb24tc291bmQtb24uZnVsbC5wbmdcIikgIWltcG9ydGFudDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICB6LWluZGV4OiA5OTk5OTk7IH1cblxuLmJvZHktYmsge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrbDl1Mm5zZjI4aW4xdTgzZzkzdDk0ZnQtYmstdHRoaC1ncmFkLmZ1bGwucG5nXCIpIHRvcCBjZW50ZXIgcmVwZWF0LXkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTAlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYm9keS1iayB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG4gIHRvcDogMjBweDtcbiAgY29sb3I6ICMxMTE7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgcmlnaHQ6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLnJldmVhbCB7XG4gIG1heC13aWR0aDogMTMzMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiA5MCUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDsgfSB9XG5cbi5idXR0b24tbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzZweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ5cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ5cHg7IH0gfVxuXG4vKiAqe1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn0gKi9cbmJvZHkge1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uVGl0bGUsIC5tb2R1bGUgaDIge1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstYm9sZCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDNlbTtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7IH1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiAxMzUlOyB9XG5cbmJvZHksXG5odG1sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUMxQjIxO1xuICBjb2xvcjogIzA0MDQwNTsgfVxuXG4udG9wLWJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMjI1LCAyMjUsIDIyNSwgMCksICMwNDA0MDUpO1xuICBwYWRkaW5nLWJvdHRvbTogN3B4OyB9XG5cbi5tYXN0aGVhZC1ibyB7XG4gIGhlaWdodDogOTV2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDY0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjhFQTM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uVGl0bGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi50aXRsZS1iby13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50aXRsZS1oMi1ibyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5UaXRsZSB7XG4gIGZvbnQtc2l6ZTogMTI4cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAxMDAlKSBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIGFuaW1hdGlvbjogcmV2ZWFsVGV4dCAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNywgMCwgMC4zLCAxKSBmb3J3YXJkcyAyNTBtcztcbiAgbWFyZ2luOiAwOyB9XG5cbi5UaXRsZS1tYXNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLlRpdGxlLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNlNzgzO1xuICBib3JkZXItcmFkaXVzOiAuMmVtO1xuICBwYWRkaW5nOiAuM2VtIC4yZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDEwMCUpIG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgYW5pbWF0aW9uOiByZXZlYWxUZXh0IDEwMDBtcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIGZvcndhcmRzO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTI4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfVxuXG4uVGl0bGUtbGVhZGluZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYW5pbWF0aW9uOiByZXZlYWxMZWFkIDMwMG1zIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgZm9yd2FyZHMgODc1bXM7IH1cblxuLmFycm93LWRvd24ge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTI4cHg7XG4gIHdpZHRoOiAxMjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiBwb3AtaW4gLjVzIGZvcndhcmRzO1xuICBhbmltYXRpb24tZGVsYXk6IDEyMDBtcztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IC4ycyBlYXNlOyB9XG4gIC5hcnJvdy1kb3duOmhvdmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY5NTsgfVxuXG4uVGl0bGUtbWFzazpudGgtY2hpbGQoMSkgLlRpdGxlLWxpbmUge1xuICBhbmltYXRpb24tZGVsYXk6IDI1MG1zOyB9XG5cbi5UaXRsZS1tYXNrOm50aC1jaGlsZCgyKSAuVGl0bGUtbGluZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNTAwbXM7IH1cblxuQGtleWZyYW1lcyByZXZlYWxMZWFkIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMTAwJSkgbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSkgbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyByZXZlYWxUZXh0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMTAwJSkgbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAwJSkgbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBwb3AtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cblxuLm1vZHVsZSB7XG4gIHBhZGRpbmc6IDY0cHggMDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLm1vZHVsZSBoMiB7XG4gICAgZm9udC1zaXplOiA1NnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMTE1JTsgfVxuICAubW9kdWxlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDF2dyAwIDAgMDsgfVxuXG4ubW9kdWxlLm9uZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQzFCMjE7IH1cbiAgLm1vZHVsZS5vbmUgaDIge1xuICAgIGNvbG9yOiAjRThFOEU5OyB9XG4gIC5tb2R1bGUub25lIHAge1xuICAgIGNvbG9yOiAjQzVDQUQzOyB9XG5cbi5tb2R1bGUudHdvLCAuYmstc3dpdGNoLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjZTc4MztcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4zczsgfVxuICAubW9kdWxlLnR3byBoMiwgLmJrLXN3aXRjaC1ncmVlbiBoMiB7XG4gICAgY29sb3I6ICMxQzFCMjE7IH1cbiAgLm1vZHVsZS50d28gcCwgLmJrLXN3aXRjaC1ncmVlbiBwIHtcbiAgICBjb2xvcjogIzFDMUIyMTsgfVxuXG4ubW9kdWxlLWhlYWRlciB7XG4gIG1heC13aWR0aDogMTgwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgNjRweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBncmlkLWdhcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG4ubW9kdWxlIHZpZGVvIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYxMDsgfVxuXG4ubW9kdWxlLXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk7IH1cblxuLm93bC1ibyB7XG4gIG1hcmdpbjogMDsgfVxuICAub3dsLWJvIC5pdGVtIHtcbiAgICBtYXJnaW46IDEwcHg7IH1cblxuLm93bC1iby1jYXJkcyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tdG9wOiAtNTdweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vd2wtYm8tY2FyZHMge1xuICAgICAgbWFyZ2luLXRvcDogLTYycHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vd2wtYm8tY2FyZHMge1xuICAgICAgbWFyZ2luLXRvcDogLTkwcHg7IH0gfVxuXG4ub3dsLWRvdHMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi52aWRlby1jb250YWluZXIgdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zY3JvbGwtYm91bmQge1xuICBoZWlnaHQ6IDI1MHZoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNjcm9sbC1ib3VuZCAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLnNjcm9sbC1ib3VuZCB2aWRlbyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi52aWQtdG9wIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTY4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiA5MSU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmlkLXRvcCB7XG4gICAgICB3aWR0aDogODUlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZpZC10b3Age1xuICAgICAgd2lkdGg6IDkzJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IH0gfVxuXG4udmlkLXNpemUge1xuICB3aWR0aDogODAlOyB9XG5cbi5zaXplLWZ1bGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDEyNSUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMjUlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwdmg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2l6ZS1mdWxsIHtcbiAgICAgIHdpZHRoOiAyMzAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDIzMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTA1dmg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zaXplLWZ1bGwge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5zaXplLW9yZyB7XG4gIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87IH1cblxuLnZpZC1iaWctd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLnZpZC1kZXNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52aWQtZGVzayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZpZC1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLnZpZC10YWIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZpZC10YWIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC52aWQtdGFiIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udmlkLW1vYiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZpZC1tb2Ige1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnZpZC1tb2Ige1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5tYXN0aGVhZCB7XG4gICAgaGVpZ2h0OiA5NXZoO1xuICAgIHBhZGRpbmc6IDQ4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQkYwMDsgfVxuICAubWFzdGhlYWQtYm8ge1xuICAgIGhlaWdodDogOTV2aDtcbiAgICBwYWRkaW5nOiA0OHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkJGMDA7IH1cbiAgLlRpdGxlIHtcbiAgICBmb250LXNpemU6IDk2cHg7IH1cbiAgLlRpdGxlLWxpbmUge1xuICAgIGZvbnQtc2l6ZTogOTZweDsgfVxuICAubW9kdWxlIHtcbiAgICBwYWRkaW5nOiA0OHB4IDI0cHg7IH1cbiAgICAubW9kdWxlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYyg0MHJlbSAvIDE2KTsgfVxuICAgIC5tb2R1bGUgcCB7XG4gICAgICBmb250LWZhbWlseTogYXJpYWw7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5tYXN0aGVhZCB7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBQjBEQzsgfVxuICAubWFzdGhlYWQtYm8ge1xuICAgIGhlaWdodDogOTV2aDtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyQUIwREM7IH1cbiAgLlRpdGxlIHtcbiAgICBmb250LXNpemU6IDU2cHg7IH1cbiAgLlRpdGxlLWxpbmUge1xuICAgIGZvbnQtc2l6ZTogNTZweDsgfVxuICAubW9kdWxlIHtcbiAgICBwYWRkaW5nOiA0OHB4IDA7IH1cbiAgICAubW9kdWxlIGgyIHtcbiAgICAgIC8qIGZvbnQtc2l6ZTo4dnc7ICovXG4gICAgICBmb250LXNpemU6IGNhbGMoMzJyZW0gLyAxNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1vZHVsZSBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH1cbiAgLm1vZHVsZS1oZWFkZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAwcHg7XG4gICAgcGFkZGluZzogMCAyNHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MjhweCkge1xuICAubWFzdGhlYWQge1xuICAgIGhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NzQ3RkY7IH1cbiAgLm1hc3RoZWFkLWJvIHtcbiAgICBoZWlnaHQ6IDk1dmg7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc0N0ZGOyB9XG4gIC5UaXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnZ3OyB9XG4gIC5UaXRsZS1saW5lIHtcbiAgICBmb250LXNpemU6IDEydnc7IH1cbiAgLm1vZHVsZSB7XG4gICAgcGFkZGluZzogNDhweCAwOyB9XG4gICAgLm1vZHVsZSBoMiB7XG4gICAgICAvKiBmb250LXNpemU6OHZ3OyAqL1xuICAgICAgZm9udC1zaXplOiBjYWxjKDMycmVtIC8gMTYpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tb2R1bGUgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gIC5tb2R1bGUtaGVhZGVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogMHB4O1xuICAgIHBhZGRpbmc6IDAgMjRweDsgfSB9XG5cbmJvZHksIC5ib2R5LWJrLXRlc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFQUVEICFpbXBvcnRhbnQ7IH1cblxuLmRwLXdyYXAge1xuICBtYXJnaW46IDEyMHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5kcC1zbGlkZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLmRwLXNsaWRlciBkaXYge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5kcF9pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuMnM7IH1cblxuLmRwLWltZyBpbWcge1xuICAvKiBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmY7ICovIH1cblxuI2RwLXNsaWRlciAuZHBfaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVYKDBweCkgIWltcG9ydGFudDsgfVxuXG4uZHBfaXRlbVtkYXRhLXBvc2l0aW9uPVwiMlwiXSB7XG4gIHotaW5kZXg6IDk7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVYKDEwJSkgc2NhbGUoMC45KTsgfVxuXG4uZHBfaXRlbVtkYXRhLXBvc2l0aW9uPVwiM1wiXSB7XG4gIHotaW5kZXg6IDg7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVYKDIwJSkgc2NhbGUoMC44KTsgfVxuXG4uZHBfaXRlbVtkYXRhLXBvc2l0aW9uPVwiNFwiXSB7XG4gIHotaW5kZXg6IDc7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVYKDMwJSkgc2NhbGUoMC43KTsgfVxuXG4jZHAtbmV4dCxcbiNkcC1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDcwJTtcbiAgaGVpZ2h0OiAyN3B4O1xuICB3aWR0aDogMTZweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4jZHAtcHJldiB7XG4gIGxlZnQ6IDE1cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuI2RwLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjVweDtcbiAgei1pbmRleDogMTI7XG4gIGxlZnQ6IDM4JTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbiNkcC1kb3RzIGxpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDsgfVxuXG4jZHAtZG90cyBsaTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzOyB9XG5cbiNkcC1kb3RzIGxpLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmRwX2l0ZW0ge1xuICB3aWR0aDogODUlOyB9XG5cbi5kcC1jb250ZW50LFxuLmRwLWltZyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRwX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiBub25lOyB9XG5cbi5kcC1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZHAtY29udGVudCBoMiB7XG4gIGNvbG9yOiAjNDE0MTRiO1xuICBmb250LWZhbWlseTogQ2lyY3VsYXIgU3RkIEJvbGQ7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLmRwLWNvbnRlbnQgcCB7XG4gIGNvbG9yOiAjNzQ3NDdmO1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBmb250LXNpemU6IDI0cHg7IH1cblxuLmRwLWNvbnRlbnQgLnNpdGUtYnRuIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiAxOXB4IDQwcHg7IH1cblxuLmRwLWltZyBpbWcge1xuICAvKiBvYmplY3QtZml0OiBjb3Zlcjtcbm9iamVjdC1wb3NpdGlvbjogcmlnaHQ7ICovIH1cblxuI2RwLXNsaWRlcixcbi5kcC1pbWcgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cblxuI2RwLXNsaWRlciAuZHBfaXRlbTpob3Zlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2l0ZS1idG4ge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJDaXJjdWxhciBTdGQgTWVkaXVtXCI7XG4gIGJhY2tncm91bmQ6ICMxNjE4MUQ7XG4gIHBhZGRpbmc6IDE0cHggMzNweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc2l0ZS1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi50ZXN0aW1vbmlhbC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4udGVzdGltb25pYWwtaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjogIzE2MTgxRDtcbiAgbGluZS1oZWlnaHQ6IDQ2LjRweDtcbiAgd2lkdGg6IDQ3MHB4O1xuICBtYXJnaW46IC00NTBweCAwIDAgLTE1MHB4OyB9XG5cbi50ZXN0aW1vbmlhbC1uYW1lIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qIEJhc2UvR3JleS05MDAgKi9cbiAgY29sb3I6ICM1ODYxNzQ7IH1cblxuLnRlc3RpbW9uaWFsLW51bSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmRwLWFycm93cy13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQyN3B4O1xuICByaWdodDogLTcwJTtcbiAgdG9wOiA0OTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHAtYXJyb3dzLWNvbnRhaW5lciB7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5kcC1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kcF9pdGVtIHtcbiAgICB3aWR0aDogODUlOyB9XG4gICNkcC1kb3RzIHtcbiAgICBsZWZ0OiAwOyB9XG4gICNkcC1kb3RzIGxpLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAjZHAtc2xpZGVyLFxuICAuZHAtaW1nIGltZyB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9XG4gIC50ZXN0aW1vbmlhbC1oZWFkZXIge1xuICAgIHdpZHRoOiA0NzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gIC5kcC1hcnJvd3Mtd3JhcHBlciB7XG4gICAgbGVmdDogMDsgfVxuICAuZHAtYXJyb3dzLWNvbnRhaW5lciB7XG4gICAgcmlnaHQ6IC03MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWFyZ2luLXRvcDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5kcC1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5kcF9pdGVtIHtcbiAgICB3aWR0aDogODUlOyB9XG4gICNkcC1kb3RzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgIGxlZnQ6IDA7IH1cbiAgI2RwLWRvdHMgbGkuYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDEyMHB4OyB9XG4gICNkcC1zbGlkZXIsXG4gIC5kcC1pbWcgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnRlc3RpbW9uaWFsLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAzNzBweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgLmRwLWFycm93cy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA0ODBweDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcC1hcnJvd3MtY29udGFpbmVyIHtcbiAgICByaWdodDogLTcwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tdG9wOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI4cHgpIHtcbiAgLmRwLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmRwX2l0ZW0ge1xuICAgIHdpZHRoOiA5NSU7IH1cbiAgI2RwLWRvdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgbGVmdDogMDsgfVxuICAjZHAtZG90cyBsaS5hY3RpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDEyMHB4OyB9XG4gICNkcC1zbGlkZXIsXG4gIC5kcC1pbWcgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnRlc3RpbW9uaWFsLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC5kcC1hcnJvd3Mtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNDIwcHg7IH1cbiAgLmRwLWFycm93cy1jb250YWluZXIge1xuICAgIHJpZ2h0OiAtNzAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9IH1cblxuLmJvZHktYmstbG9sbGEge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFxa20wdzcxdTV1ZTJzbWw5MnQtZ3JhZGllbnQtYmFja2dyb3VuZC0zNzUuZnVsbC5qcGdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjFzO1xuICB6LWluZGV4OiAtMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ib2R5LWJrLWxvbGxhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYXBkbTEwbzF1NXVlMDlmb2d4Yi1ncmFkaWVudC1iYWNrZ3JvdW5kLTc2OC5mdWxsLmpwZ1wiKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYm9keS1iay1sb2xsYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFzcDZ1ZGsxdTZtcjBmOGs3aDMtZ3JhZGllbnQtYmFja2dyb3VuZC0xNjAwLmZ1bGwuanBnXCIpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5tYXN0aGVhZC1jb3Zlci1pbGwge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnV1OW82N2cxdTV1dDhrc3RndWwtbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTE5MjAuc3ZnXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogOTUuNSU7XG4gIG1hcmdpbi10b3A6IDQuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDIuNSU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG5cbi5sb2xsYS1oZWlnaHQge1xuICBoZWlnaHQ6IDEwMHZoOyB9XG5cbi5sb2xsYS1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogN3JlbTsgfVxuXG4ubG9sbGEtc2hvcnQge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5sb2xsYS1zaG9ydC1zIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0ycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLXNob3J0LXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5sb2xsYS1jb250YWluZXIge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA3cmVtOyB9IH1cblxuLmdyaWQtbG9sbGEge1xuICBwYWRkaW5nOiAwcmVtIDAuNXJlbSAwIDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWxvbGxhIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMCAwIDMuNXJlbTsgfSB9XG5cbi5sb2xsYS1jb250YWluZXItbW9iaWxlIHtcbiAgcGFkZGluZzogNHJlbSAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLWNvbnRhaW5lci1tb2JpbGUge1xuICAgICAgcGFkZGluZzogN3JlbTsgfSB9XG5cbi5sb2xsYS10YWJzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRyZW0gMCAycmVtIDA7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLXRhYnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDdyZW0gMCA3cmVtIDdyZW07IH0gfVxuXG4ubG9sbGEtb24tbW9iIHtcbiAgd2lkdGg6IDg1JTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvbGxhLW9uLW1vYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1vbi1tb2Ige1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5sb2xsYS1vbi1kZXNrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2xsYS1vbi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1vbi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMCU7XG4gICAgICBtYXJnaW46IC00MDBweCAwIDAgMDtcbiAgICAgIHdpZHRoOiAxMjAlOyB9IH1cblxuLmxvbGxhMjItb24tZGVzayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9sbGEyMi1vbi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYTIyLW9uLWRlc2sge1xuICAgICAgbWF4LXdpZHRoOiA5MCU7IH0gfVxuXG4uaW1nLWFycm93IHtcbiAgd2lkdGg6IDEwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG5cbi5oMS1sb2xsYSB7XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmgxLWxvbGxhIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDYycHg7XG4gICAgICBwYWRkaW5nOiAwIDVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oMS1sb2xsYSB7XG4gICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNS45cmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDNyZW0gM3JlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5oNC1sb2xsYSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICB3aWR0aDogODAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmg0LWxvbGxhIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHdpZHRoOiA4MCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oNC1sb2xsYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5icmVhayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmltZy1kb28td2FwIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiA0MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaW1nLWRvby13YXAge1xuICAgICAgd2lkdGg6IDE2NHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW1nLWRvby13YXAge1xuICAgICAgd2lkdGg6IDI4NnB4OyB9IH1cblxuLmhpZ2hsaWdodCBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IFwiR3JhcGhpay1Cb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjZTc4MztcbiAgcGFkZGluZzogMC45MzhyZW0gMS41NjNyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEuNTYzcmVtOyB9XG5cbi5zdWJoZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHcmFwaGlrLUJvbGRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIG1hcmdpbjogMS43cmVtIDAgMi41cmVtIDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAyLjI1czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdWJoZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTsgfSB9XG5cbi5tYXN0aGVhZC13aWRlLWxvbGxhMjIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuICBtYXJnaW4tdG9wOiAxOTBweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLXdpZGUtbG9sbGEyMiB7XG4gICAgICBtYXJnaW4tdG9wOiAxOTBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtd2lkZS1sb2xsYTIyIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ubWFzdGhlYWQtd2lkZS1sb2xsYSB7XG4gIHBhZGRpbmc6IDE0cmVtIDAgMzByZW0gMDsgfVxuXG4ubWFzdGhlYWQtbG9nby1sb2xsYSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlxcXc1bTFtMzF1NXU3dDljdjl3by1tYXN0aGVhZC1sb2xsYS1sb2dvLW1vYmlsZS5zdmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgd2lkdGg6IDI3MHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxODBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA4MCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogLTNyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMnM7XG4gIHdpZHRoOiAyNzBweDtcbiAgaGVpZ2h0OiAxNTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWxvbGxhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlxcXc1bTFtMzF1NXU3dDljdjl3by1tYXN0aGVhZC1sb2xsYS1sb2dvLW1vYmlsZS5zdmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiA3MzhweDtcbiAgICAgIGhlaWdodDogMTgwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWxvbGxhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlxcXc1bTFtMzF1NXU3dDljdjl3by1tYXN0aGVhZC1sb2xsYS1sb2dvLW1vYmlsZS5zdmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA0NTBweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAyNDBweDsgfSB9XG5cbi5tYXN0aGVhZC1sb2dvLWxvbGxhMjIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNDMwaHp4YXdrengxdjVza2xhMXg2OHMtbG9sbGEyMi1tYXN0aGVhZC5mdWxsLnBuZ1wiKSB0b3AgY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuICB3aWR0aDogMjcwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIG1hcmdpbi10b3A6IC0xMi41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLWxvZ28tbG9sbGEyMiB7XG4gICAgICB3aWR0aDogMzgwcHg7XG4gICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLThyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWxvbGxhMjIge1xuICAgICAgd2lkdGg6IDQ3MHB4O1xuICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0zcmVtOyB9IH1cblxuLm1hc3RoZWFkLWNvdmVyLWxvbGxhMjItdG9wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLXRvcCAubWFzdGhlYWQtbG9sbGEyMi1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNDR1azh1bjI3bW8xdjVlNmRraW16aHEtbG9sbGEyMi1tYXN0LXRsLmZ1bGwucG5nXCIpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTYwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hc3RoZWFkLWNvdmVyLWxvbGxhMjItdG9wIC5tYXN0aGVhZC1sb2xsYTIyLWxlZnQge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGhlaWdodDogMjEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWFzdGhlYWQtY292ZXItbG9sbGEyMi10b3AgLm1hc3RoZWFkLWxvbGxhMjItbGVmdCB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG4gIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLXRvcCAubWFzdGhlYWQtbG9sbGEyMi1jZW50ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NHVrOHlqMjdyYTF2NG56a2loa244dy1sb2xsYTIyLW1hc3QtdGMuZnVsbC5wbmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMTYwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hc3RoZWFkLWNvdmVyLWxvbGxhMjItdG9wIC5tYXN0aGVhZC1sb2xsYTIyLWNlbnRlciB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAxODBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLXRvcCAubWFzdGhlYWQtbG9sbGEyMi1jZW50ZXIge1xuICAgICAgICB3aWR0aDogNTIwcHg7XG4gICAgICAgIGhlaWdodDogMTgwcHg7IH0gfVxuICAubWFzdGhlYWQtY292ZXItbG9sbGEyMi10b3AgLm1hc3RoZWFkLWxvbGxhMjItcmlnaHQge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NHZnNjVlanl3NzF2MmQ1MDVkZ3Y0bi1sb2xsYTIyLW1hc3QtdHIuZnVsbC5wbmdcIikgdG9wIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE2MHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLXRvcCAubWFzdGhlYWQtbG9sbGEyMi1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyMTBweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLXRvcCAubWFzdGhlYWQtbG9sbGEyMi1yaWdodCB7XG4gICAgICAgIHdpZHRoOiA0NDBweDtcbiAgICAgICAgaGVpZ2h0OiAyODBweDsgfSB9XG5cbi5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLWJvdCB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfVxuICAubWFzdGhlYWQtY292ZXItbG9sbGEyMi1ib3Q6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYWlhcHM3djF2MXltaWZqdXk2YS1sb2xsYTIyLW1hc3Qtc3BlYWtlci1sLmZ1bGwucG5nXCIpIGJvdHRvbSBsZWZ0IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLWJvdDo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLWJvdDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsY2FhaWFwczd2MXYxeW1pZmp1eTZhLWxvbGxhMjItbWFzdC1zcGVha2VyLWwuZnVsbC5wbmdcIikgYm90dG9tIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWFzdGhlYWQtY292ZXItbG9sbGEyMi1ib3Q6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYThkNHg2bDF2NmhpNGJkenV2ai1sb2xsYTIyLW1hc3Qtc3BlYWtlci1yLmZ1bGwucG5nXCIpIGJvdHRvbSByaWdodCBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MCU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWFzdGhlYWQtY292ZXItbG9sbGEyMi1ib3Q6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZC1jb3Zlci1sb2xsYTIyLWJvdDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxjYWE4ZDR4NmwxdjZoaTRiZHp1dmotbG9sbGEyMi1tYXN0LXNwZWFrZXItci5mdWxsLnBuZ1wiKSBib3R0b20gcmlnaHQgbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubWFzdGhlYWQtYmxvY2std3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgei1pbmRleDogOTsgfVxuXG4uc3VidGl0bGUtYm9sZCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN1YnRpdGxlLWJvbGQge1xuICAgICAgbWFyZ2luLXRvcDogLjZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdWJ0aXRsZS1ib2xkIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9IH1cblxuLnN1YnRpdGxlLXJlcXVpcmUge1xuICBmb250LXNpemU6IC45cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3VidGl0bGUtcmVxdWlyZSB7XG4gICAgICBmb250LXNpemU6IC43cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDM2MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3VidGl0bGUtcmVxdWlyZSB7XG4gICAgICBmb250LXNpemU6IC45cmVtICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDU2MHB4OyB9IH1cblxuLm5vdGUtbG9sbGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAuMnJlbSAwIDFyZW0gMDsgfVxuXG4ubm90ZS1sb2xsYTIyIHtcbiAgcGFkZGluZzogMCA4MHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1sb2xsYTIyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RlLWxvbGxhMjIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi50eHQtbW9iaWxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnR4dC1tb2JpbGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEuYnV0dG9uLWhlYWRlci1sb2xsYS5idXR0b24ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuM3MgIWltcG9ydGFudDsgfVxuICBhLmJ1dHRvbi1oZWFkZXItbG9sbGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG9wYWNpdHk6IC44ICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbi1oZWFkZXItbG9sbGEge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLmJ1dHRvbi13YXRjaC1sb2xsYSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfVxuXG4ubG9sbGEyMi1saW5ldXAge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsY2FhbzRlY2FkMXY1OG5ud3dsZmtvLWxvbGxhMjItbWFzdC1ib2F0LmZ1bGwucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAyNjBweDtcbiAgaGVpZ2h0OiAyNTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2xsYTIyLWxpbmV1cCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYW80ZWNhZDF2NThubnd3bGZrby1sb2xsYTIyLW1hc3QtYm9hdC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiA0MDVweDtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYTIyLWxpbmV1cCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxjYWFvNGVjYWQxdjU4bm53d2xma28tbG9sbGEyMi1tYXN0LWJvYXQuZnVsbC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICB3aWR0aDogNTMwcHg7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgICAgbWFyZ2luOiAtMzgwcHggMCAwIDA7XG4gICAgICBsZWZ0OiBub25lO1xuICAgICAgcmlnaHQ6IDEyMHB4OyB9IH1cblxuLmNhcm91c2VsLWxvbGxhIHtcbiAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgcGFkZGluZzogMCAwIDFyZW0gMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcm91c2VsLWxvbGxhIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCAwIDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cmVtOyB9IH1cblxuLmNhcm91c2VsLWxvbGxhLTIyIHtcbiAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgcGFkZGluZzogMCAwIDFyZW0gMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcm91c2VsLWxvbGxhLTIyIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCAwIDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cmVtOyB9IH1cblxuLmFjY29yZGlvbi1sb2xsYSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmFjY29yZGlvbi10aXRsZS1sb2xsYSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNFQkVERjI7IH1cblxuLm1hc3RoZWFkLWljb25zLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyO1xuICBtYXJnaW4tdG9wOiAtNnJlbTsgfVxuXG4ubWFzdGhlYWQtaWNvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMCA1JTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tYXN0aGVhZC10MSB7XG4gIGxlZnQ6IDIlO1xuICB0b3A6IDE5MHB4OyB9XG5cbi5tYXN0aGVhZC10MiB7XG4gIGxlZnQ6IDI2JTtcbiAgdG9wOiA4MHB4OyB9XG5cbi5tYXN0aGVhZC10MyB7XG4gIGxlZnQ6IDQ3JTtcbiAgdG9wOiA3MHB4O1xuICB3aWR0aDogMTkwcHg7IH1cblxuLm1hc3RoZWFkLXQ0IHtcbiAgbGVmdDogNzElO1xuICB0b3A6IDEyMHB4O1xuICB3aWR0aDogMjMwcHg7IH1cblxuLm1hc3RoZWFkLXQ1IHtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MjBweDtcbiAgd2lkdGg6IDI2MHB4OyB9XG5cbi5tYXN0aGVhZC10NiB7XG4gIGxlZnQ6IDIwJTtcbiAgdG9wOiA2MTBweDtcbiAgd2lkdGg6IDEyMHB4OyB9XG5cbi5tYXN0aGVhZC10NyB7XG4gIGxlZnQ6IDU3JTtcbiAgdG9wOiA2NDVweDtcbiAgd2lkdGg6IDE4NXB4OyB9XG5cbi5tYXN0aGVhZC10OCB7XG4gIGxlZnQ6IDY5JTtcbiAgdG9wOiA1MDBweDtcbiAgd2lkdGg6IDE1MHB4OyB9XG5cbi5tYXN0aGVhZC10OSB7XG4gIGxlZnQ6IDgxJTtcbiAgdG9wOiA0MjBweDtcbiAgd2lkdGg6IDE3MHB4OyB9XG5cbi5yb3ctb25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuXG4ucm93LWxpc3RlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFtem0wejAxdTR3Y2FoYmVsaGUtcmlnaHQtYXJyb3cuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy1saXN0ZW4ge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3ctbGlzdGVuIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgaGVpZ2h0OiAzNXB4OyB9IH1cbiAgLnJvdy1saXN0ZW46aG92ZXIge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi50ZXh0LWJvbnVzIGltZyB7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI5cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGV4dC1ib251cyBpbWcge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWJvbnVzIGltZyB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDsgfSB9XG5cbi5sb2xsYTIyLWZvb3RlciB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBwYWRkaW5nOiAwIDlyZW07XG4gIG1hcmdpbjogLTgwcHggMCAtMnB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9sbGEyMi1mb290ZXIge1xuICAgICAgcGFkZGluZzogMCA5cmVtO1xuICAgICAgbWFyZ2luOiAtODBweCAwIC0ycHggMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhMjItZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgOXJlbTtcbiAgICAgIG1hcmdpbjogLTgwcHggMCAtMnB4IDA7IH0gfVxuXG4ubG9sbGEyMi1mb290ZXItbW9ua2V5IHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NzYyMm92MnlmaDF2NDVveWpyNGpxdy1sb2xsYTIyLWZvb3Rlci1tb25rZXkuZnVsbC5wbmdcIikgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDEzNXB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW4tbGVmdDogLTEyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvbGxhMjItZm9vdGVyLW1vbmtleSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNDc2MjJvdjJ5ZmgxdjQ1b3lqcjRqcXctbG9sbGEyMi1mb290ZXItbW9ua2V5LmZ1bGwucG5nXCIpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDE2OHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTIwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYTIyLWZvb3Rlci1tb25rZXkge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDQ3NjIyb3YyeWZoMXY0NW95anI0anF3LWxvbGxhMjItZm9vdGVyLW1vbmtleS5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiAyODhweDtcbiAgICAgIGhlaWdodDogMzgzcHg7IH0gfVxuXG4ubG9sbGEyMi1mb290ZXItZXllcyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDR4OGYyMm5reG8xMXY4bzZkcTVmbGV6LWxvbGxhMjItZXllcy1ib3QtbW9iLmZ1bGwucG5nXCIpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAxMTVweDtcbiAgaGVpZ2h0OiAxOTBweDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAtMjAwcHggMCAwIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9sbGEyMi1mb290ZXItZXllcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0eDhmMjJua3hvMTF2OG82ZHE1Zmxlei1sb2xsYTIyLWV5ZXMtYm90LW1vYi5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIHdpZHRoOiAxNzhweDtcbiAgICAgIGhlaWdodDogMjMxcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbjogLTIyOXB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9sbGEyMi1mb290ZXItZXllcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmxvbGxhMjItdmlkZW8ge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2xsYTIyLXZpZGVvIHtcbiAgICAgIHdpZHRoOiA2NDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9sbGEyMi12aWRlbyB7XG4gICAgICB3aWR0aDogOTgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7IH0gfVxuXG4uY2xvdWRzLXNsaWRpbmctYmFja2dyb3VuZDIyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDQ2NXpoNWIzMGpzMXY1ZmhrY2R5MGYzLWxvbGxhMjItY2xvdWRzLmZ1bGwucG5nXCIpIHJlcGVhdC14O1xuICB3aWR0aDogMTAwMDc2cHg7XG4gIGFuaW1hdGlvbjogc2xpZGUgMzk2MHMgbGluZWFyIGluZmluaXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgYmFja2dyb3VuZC1zaXplOiAuOCU7XG4gIGhlaWdodDogNTUwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2xvdWRzLXNsaWRpbmctYmFja2dyb3VuZDIyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4xJTtcbiAgICAgIGhlaWdodDogOTUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jbG91ZHMtc2xpZGluZy1iYWNrZ3JvdW5kMjIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjMlO1xuICAgICAgaGVpZ2h0OiAxMzEwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwNjkycHgsIDAsIDApOyB9IH1cblxuLmxvbGxhLXNlY3Rpb24tZmx1ZmZ5IHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHBhZGRpbmc6IDE1cmVtIDAgMTVyZW0gMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2xsYS1zZWN0aW9uLWZsdWZmeSB7XG4gICAgICBwYWRkaW5nOiAxNXJlbSAwIDE1cmVtIDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1zZWN0aW9uLWZsdWZmeSB7XG4gICAgICBwYWRkaW5nOiAyMXJlbSA3cmVtIDEzcmVtIDdyZW0gIWltcG9ydGFudDsgfSB9XG5cbi50ZW1wLXdyYXBwZXIge1xuICBtYXJnaW46IDAgMTBweDsgfVxuXG4udGVtcC1pbWcge1xuICB3aWR0aDogOTAuMiU7XG4gIGhlaWdodDogMzYycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjQ5NTc7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGVtcC1pbWctbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50ZW1wLWltZy1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MjBweCkge1xuICAubWFzdGhlYWQtY292ZXItaWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnV1OW82N2cxdTV1dDhrc3RndWwtbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTE5MjAuc3ZnXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIHtcbiAgLm1hc3RoZWFkLWNvdmVyLWlsbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Izd3Z2aDJvNmIzMXU4cDNvamEzajQyLW1hc3RoZWFkLWlsbHVzdHJhdGlvbi1mcmFtZS0xNjAwLnN2Z1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgfVxuICAubWFzdGhlYWQtbG9nby1sb2xsYSB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5tYXN0aGVhZC1jb3Zlci1pbGwge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyM3d2dDlnOHpuNjF1Nm14cTNuOXY3ay1tYXN0aGVhZC1pbGx1c3RyYXRpb24tZnJhbWUtMTQ0MC5zdmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7IH1cbiAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAubWFzdGhlYWQtY292ZXItaWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnU1a282M28xdTdmbnUwMmp2aHktbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTEyODAuc3ZnXCIpIG5vLXJlcGVhdCB0b3AgY2VudGVyOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubWFzdGhlYWQtY292ZXItaWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnNoYW82MGIxdTZnMXZpMWpscnItbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTc2OC5zdmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7IH1cbiAgLmJvZHktYmstbG9sbGEge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYXBkbTEwbzF1NXVlMDlmb2d4Yi1ncmFkaWVudC1iYWNrZ3JvdW5kLTc2OC5mdWxsLmpwZ1wiKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5tYXN0aGVhZC1sb2dvLWxvbGxhIHtcbiAgICB3aWR0aDogNDMwcHg7IH1cbiAgLm5vdGUtbG9sbGEge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3NXB4KSB7XG4gIC5ib2R5LWJrLWxvbGxhIHtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1pbGwge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyM3d2dDF1bzY4cjF1NHd1YXhseGN5bi1tYXN0aGVhZC1pbGx1c3RyYXRpb24tZnJhbWUtMzc1LnN2Z1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgfVxuICAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubWFzdGhlYWQtYmxvY2std3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgei1pbmRleDogOTsgfVxuICAubWFzdGhlYWQtd2lkZS1sb2xsYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEzcmVtOyB9IH1cblxuLm5vdy1saXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICMxY2U3ODM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogLTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLmlhb2lfY292ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ltZy1pYW9pLXBhZ2UtY292ZXIucG5nXCIpIG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnRpbGVfY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDUyODdweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgei1pbmRleDogOTsgfVxuXG4uaWFvaV90aWxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMTBweDtcbiAgei1pbmRleDogOTsgfVxuICAuaWFvaV90aWxlOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDI0cHggLThweCByZ2JhKDAsIDAsIDAsIDAuNDEpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjQxKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDI0cHggLThweCByZ2JhKDAsIDAsIDAsIDAuNDEpO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7IH1cblxuLmlhb2lfdGlsZTpudGgtY2hpbGQoN24rMSksIC5pYW9pX3RpbGU6bnRoLWNoaWxkKDMwbisxKSwgLmlhb2lfdGlsZTpudGgtY2hpbGQoMTJuKzEpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgbWFyZ2luOiAxMHB4IDIzMHB4IDEwcHggMTBweDsgfVxuXG4udGlsZV96b29tIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDMwMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLS41cHg7IH1cbiAgLnRpbGVfem9vbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjQxKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMjRweCAtOHB4IHJnYmEoMCwgMCwgMCwgMC40MSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLCAwLCAwLCAwLjQxKTtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC50aWxlX3pvb20gaDMge1xuICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICBwYWRkaW5nOiAxLjRyZW0gMCA0cmVtIDA7IH1cbiAgLnRpbGVfem9vbSAudGlsZV9uYW1lX2NvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRpbGVfem9vbSAudGlsZV9uYW1lX2NvbnRhaW5lciBoNCB7XG4gICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogLS41cmVtIDAgMCAwOyB9XG5cbi50aWxlX3NvY2lhbF93cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiBibHVlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogODBweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWFvaV90aWxlOmhvdmVyIC50aWxlX3NvY2lhbF93cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuLnRpbGVfaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlsZV9saW5rIHtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnRpbGVfbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbiNjYXB0dXJlX3dyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBib3R0b206IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuY2FudmFzOm50aC1vZi10eXBlKDEpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5jYW52YXMge1xuICB3aWR0aDogMzAwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50OyB9XG5cbi5yZXZlYWwge1xuICB3aWR0aDogMzc1cHg7XG4gIGhlaWdodDogNTU5cHg7IH1cblxuI3dpZGdldCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjd2lkZ2V0IGgxIHtcbiAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiA3LjVyZW07IH1cbiAgI3dpZGdldCBoMyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmJvZHkge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uYmstZ3JhZGllbnQtaHVsdXdlZW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHZvcnc2ZG9hMGsxdjZ4Nm8wNTdva2ctYmctdmVpbC1ncmFkLTItM3guZnVsbC5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IC05OTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R3NTJ6bXlvdmdsMXYxbjQ4cDJhaWJmLWJnLXZlaWwtZ3JhZC0yLW1vYmlsZTMuZnVsbC5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMXZoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJrLWdyYWRpZW50LWh1bHV3ZWVuIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgaGVpZ2h0OiAxMDF2aDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJrLWdyYWRpZW50LWh1bHV3ZWVuIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4jaHctd3JhcHBlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIGF1dG87XG4gIHBhZGRpbmc6IDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIEZpcmVmb3ggKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMCsgKi8gfVxuXG4jaHctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAvKiBXZWJLaXQgKi9cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4uaHctdGlsZXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTsgfVxuXG4uaHctZ3JhZGllbnQge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHotaW5kZXg6IDk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50LCBibGFjayk7IH1cblxuLmh3LWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MDU3cHg7XG4gIGhlaWdodDogMzIyMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDI2NzdweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ody1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDM1MzlweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmh3LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTA1N3B4OyB9IH1cblxuLmljb24tYXVkaW8ge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgcmlnaHQ6IDQwcHg7XG4gIHRvcDogMTJweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pY29uLWF1ZGlvIHtcbiAgICAgIHJpZ2h0OiA2MHB4O1xuICAgICAgdG9wOiAxMnB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaWNvbi1hdWRpbyB7XG4gICAgICByaWdodDogMzMwcHg7XG4gICAgICB0b3A6IDIwcHg7IH0gfVxuICAuaWNvbi1hdWRpbzpob3ZlciB7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLmljb24tYXVkaW8tc3ViIHtcbiAgcmlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaWNvbi1hdWRpby1zdWIge1xuICAgICAgcmlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pY29uLWF1ZGlvLXN1YiB7XG4gICAgICByaWdodDogMjMwcHg7IH0gfVxuXG4ucGxheXBhdXNlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB3aWR0aDogMS44NzVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tybnVxbG51bjlybTF1NmtjYnN2Yjh0bC1pY29uLWF1ZGlvLW9mZi5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS44NzVyZW07IH1cblxuLmljb24tcGxheSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tybzBmbmhxbmh5azF1Nnk4bHYweHdxei1pY29uLWF1ZGlvLXBsYXkuc3ZnXCIpOyB9XG5cbi5pY29uLXBhdXNlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JudXFsbnVuOXJtMXU2a2Nic3ZiOHRsLWljb24tYXVkaW8tb2ZmLnN2Z1wiKTsgfVxuXG4ucGxheS1idXR0b24ge1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRvcDogNTAwcHg7XG4gIGxlZnQ6IC01NDNweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5ody1sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuaHctbG9nbyBpbWcge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmh3LWxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmh3LWxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cblxuLmh3LXRpbGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQ5LjExZGVnLCAjMDAwMDAwIC00MS4xOSUsIHJnYmEoMCwgMCwgMCwgMCkgNDEuNDQlKSwgIzQyNDk1NztcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgbWluLXdpZHRoOiAxNS42MjVyZW07XG4gIG1pbi1oZWlnaHQ6IDkuNjg4cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLmh3LXRpbGUgLmh3LXRpbGUtaW5mby13cmFwcGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC42MjVyZW07XG4gICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5ody10aWxlIC5ody10aWxlLWluZm8td3JhcHBlciAuaHctdGlsZS10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmh3LXRpbGUgLmh3LXRpbGUtaW5mby13cmFwcGVyIC5ody10aWxlLW5vdGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC40MzhyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmh3LXRpbGUgLmh3LXRpbGUtaW5mby13cmFwcGVyIC5ody10aWxlLWltZy1uZXR3b3JrIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLjRyZW07XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgICAuaHctdGlsZSAuaHctdGlsZS1pbmZvLXdyYXBwZXIgLmh3LXRpbGUtaW1nLW5ldHdvcmstbG9uZyB7XG4gICAgICBoZWlnaHQ6IDEwcHg7IH1cbiAgLmh3LXRpbGUgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyB9XG5cbi5ody10aWxlLTM1NXgyOTUge1xuICB3aWR0aDogMjIuMTg4cmVtO1xuICBoZWlnaHQ6IDE4LjQzOHJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAxNS41MzE2cmVtO1xuICBoZWlnaHQ6IDEyLjkwNjZyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaHctdGlsZS0zNTV4Mjk1IHtcbiAgICAgIHdpZHRoOiAyMi4xODhyZW07XG4gICAgICBoZWlnaHQ6IDE4LjQzOHJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmh3LXRpbGUtMzU1eDI5NSB7XG4gICAgICB3aWR0aDogMjIuMTg4cmVtO1xuICAgICAgaGVpZ2h0OiAxOC40MzhyZW07IH0gfVxuXG4uaHctdGlsZS0zNTV4NDk4IHtcbiAgd2lkdGg6IDIyLjE4OHJlbTtcbiAgaGVpZ2h0OiAzMS4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMTUuNTMxNnJlbTtcbiAgaGVpZ2h0OiAyMS43ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmh3LXRpbGUtMzU1eDQ5OCB7XG4gICAgICB3aWR0aDogMjIuMTg4cmVtO1xuICAgICAgaGVpZ2h0OiAzMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ody10aWxlLTM1NXg0OTgge1xuICAgICAgd2lkdGg6IDIyLjE4OHJlbTtcbiAgICAgIGhlaWdodDogMzEuMTI1cmVtOyB9IH1cblxuLmh3LXRpbGUtMjUweDQ0MCB7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIGhlaWdodDogMjcuNXJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAxMC45Mzc1cmVtO1xuICBoZWlnaHQ6IDI3LjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmh3LXRpbGUtMjUweDQ0MCB7XG4gICAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyNy41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaHctdGlsZS0yNTB4NDQwIHtcbiAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICBoZWlnaHQ6IDI3LjVyZW07IH0gfVxuXG4uaHctdGlsZS01MDV4MjM1IHtcbiAgd2lkdGg6IDMxLjU2M3JlbTtcbiAgaGVpZ2h0OiAxNC42ODhyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMjIuMDk0MXJlbTtcbiAgaGVpZ2h0OiAxMC4yODE2cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmh3LXRpbGUtNTA1eDIzNSB7XG4gICAgICB3aWR0aDogMzEuNTYzcmVtO1xuICAgICAgaGVpZ2h0OiAxNC42ODhyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ody10aWxlLTUwNXgyMzUge1xuICAgICAgd2lkdGg6IDMxLjU2M3JlbTtcbiAgICAgIGhlaWdodDogMTQuNjg4cmVtOyB9IH1cblxuLmh3LXRpbGUtMjUweDE1NSB7XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIGhlaWdodDogOS42ODhyZW07IH1cblxuLnRpbGUtMSB7XG4gIHRvcDogMTQ0MHB4O1xuICBsZWZ0OiAyNDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxMDg3cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzdG1uNDI2MGszbDF2N2h0czJyMHBsOS1hbWVyaWNhbi1ob3Jyb3Itc3Rvcmllcy0zNTR4Mjk0LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtMSB7XG4gICAgICBsZWZ0OiAxNjk3cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTEge1xuICAgICAgbGVmdDogMjQyNXB4OyB9IH1cbiAgLnRpbGUtMTpob3ZlciAuaW1nLWxheWVyLTEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzdG1uNDI2MGszbDF2N2h0czJyMHBsOS1hbWVyaWNhbi1ob3Jyb3Itc3Rvcmllcy0zNTR4Mjk0LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE2cHggMCAwIC0xNzdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEyNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTE6aG92ZXIgLmltZy1sYXllci0xIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aWxlLTE6aG92ZXIgLmltZy1sYXllci0xIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTIge1xuICB0b3A6IDE0OTVweDtcbiAgbGVmdDogMTg1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogNzA2cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0M2ozYm5vZGY5YjF2N2g1YzhtbGwxMS1mZWFyLXRoZS13YWxraW5nLWRlYWQtMzU0eDQ5OC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTIge1xuICAgICAgbGVmdDogMTI5NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yIHtcbiAgICAgIGxlZnQ6IDE4NTBweDsgfSB9XG4gIC50aWxlLTI6aG92ZXIgLmltZy1sYXllci0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdDNqM2Jub2RmOWIxdjdoNWM4bWxsMTEtZmVhci10aGUtd2Fsa2luZy1kZWFkLTM1NHg0OTgtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3OHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjpob3ZlciAuaW1nLWxheWVyLTIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMjpob3ZlciAuaW1nLWxheWVyLTIge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cblxuLnRpbGUtMyB7XG4gIHRvcDogMTIzMHB4O1xuICBsZWZ0OiAxNjcwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiA4MTguM3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGFseG51NTBnaHUxdjNkams5ajZodnctb3VpamEtMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTMge1xuICAgICAgbGVmdDogMTE2OXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0zIHtcbiAgICAgIGxlZnQ6IDE2NzBweDsgfSB9XG4gIC50aWxlLTM6aG92ZXIgLmltZy1sYXllci0zIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGFseG51NTBnaHUxdjNkams5ajZodnctb3VpamEtMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTc3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS0zOmhvdmVyIC5pbWctbGF5ZXItMyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0zOmhvdmVyIC5pbWctbGF5ZXItMyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuXG4udGlsZS00IHtcbiAgdG9wOiAxNDMwcHg7XG4gIGxlZnQ6IDMxMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDE2MTEuMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RicXRzbHMxeTdjMXY1cmdubzMxdGY3LXdoYXQtd2UtZG8taW4tdGhlLXNoYWRvd3MtMjUyeDQ0MC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTQge1xuICAgICAgbGVmdDogMjE4Ny41cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTQge1xuICAgICAgbGVmdDogMzEyNXB4OyB9IH1cbiAgLnRpbGUtNDpob3ZlciAuaW1nLWxheWVyLTQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnF0c2xzMXk3YzF2NXJnbm8zMXRmNy13aGF0LXdlLWRvLWluLXRoZS1zaGFkb3dzLTI1Mng0NDAtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTEyNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtNDpob3ZlciAuaW1nLWxheWVyLTQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtNDpob3ZlciAuaW1nLWxheWVyLTQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNHB4OyB9IH1cblxuLnRpbGUtNSB7XG4gIHRvcDogMTkzNXB4O1xuICBsZWZ0OiAyNTQ1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxMjQ3LjA1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnJuOGR1MXpjZjF3N2E1enRudGZtdy1kcmFnLW1lLXRvLWhlbGwtNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTUge1xuICAgICAgbGVmdDogMTc4MS41cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTUge1xuICAgICAgbGVmdDogMjU0NXB4OyB9IH1cbiAgLnRpbGUtNTpob3ZlciAuaW1nLWxheWVyLTUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnJuOGR1MXpjZjF3N2E1enRudGZtdy1kcmFnLW1lLXRvLWhlbGwtNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMjUycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS01OmhvdmVyIC5pbWctbGF5ZXItNSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS01OmhvdmVyIC5pbWctbGF5ZXItNSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuXG4udGlsZS02IHtcbiAgdG9wOiAxMzE1cHg7XG4gIGxlZnQ6IDI5ODVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHRvcDogMTM3NXB4O1xuICBsZWZ0OiAxNDYyLjY1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnNiNG5yMjA0cTF2M2RrNWJta21wYy1nYWlhLTI1MngxNTYtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS02IHtcbiAgICAgIHRvcDogMTMxNXB4O1xuICAgICAgbGVmdDogMjA4OS41cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTYge1xuICAgICAgdG9wOiAxMzE1cHg7XG4gICAgICBsZWZ0OiAyOTg1cHg7IH0gfVxuICAudGlsZS02OmhvdmVyIC5pbWctbGF5ZXItNiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Ric2I0bnIyMDRxMXYzZGs1Ym1rbXBjLWdhaWEtMjUyeDE1Ni0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07IH1cblxuLnRpbGUtNyB7XG4gIHRvcDogOTcwcHg7XG4gIGxlZnQ6IDIyMzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDEzMTIuN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJzc2tpNjIwdXgxdjJjeTUydjk1dXQtYW50ZWJlbGx1bS0zNTR4Mjk0LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtNyB7XG4gICAgICBsZWZ0OiAxNTYxcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTcge1xuICAgICAgbGVmdDogMjIzMHB4OyB9IH1cbiAgLnRpbGUtNzpob3ZlciAuaW1nLWxheWVyLTcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnNza2k2MjB1eDF2MmN5NTJ2OTV1dC1hbnRlYmVsbHVtLTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtNzpob3ZlciAuaW1nLWxheWVyLTcge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtNzpob3ZlciAuaW1nLWxheWVyLTcge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cblxuLnRpbGUtOCB7XG4gIHRvcDogMTYwMHB4O1xuICBsZWZ0OiAzNjUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxOTY4LjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RidGlmOGMyMXFjMXYyNm40MWhjY29jLWNlbnNvci0zNTR4NDk4LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtOCB7XG4gICAgICBsZWZ0OiAyNTU1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTgge1xuICAgICAgbGVmdDogMzY1MHB4OyB9IH1cbiAgLnRpbGUtODpob3ZlciAuaW1nLWxheWVyLTgge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnRpZjhjMjFxYzF2MjZuNDFoY2NvYy1jZW5zb3ItMzU0eDQ5OC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS04OmhvdmVyIC5pbWctbGF5ZXItOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS04OmhvdmVyIC5pbWctbGF5ZXItOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuXG4udGlsZS05IHtcbiAgdG9wOiA5NzBweDtcbiAgbGVmdDogMzU1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTczOS41cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnY4ZWJqMjN5OTF2NXltMHNseGU3aC10aGUtd2l0Y2gtMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTkge1xuICAgICAgbGVmdDogMjQ4NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS05IHtcbiAgICAgIGxlZnQ6IDM1NTBweDsgfSB9XG4gIC50aWxlLTk6aG92ZXIgLmltZy1sYXllci05IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ2OGViajIzeTkxdjV5bTBzbHhlN2gtdGhlLXdpdGNoLTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtOTpob3ZlciAuaW1nLWxheWVyLTkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtOTpob3ZlciAuaW1nLWxheWVyLTkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cblxuLnRpbGUtMTAge1xuICB0b3A6IDIzNjVweDtcbiAgbGVmdDogMzAyNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTI4Mi4yNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ6NjhrYTI5NTQxdjNkaWN4Y2EzaWYtYnVmZnktMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTEwIHtcbiAgICAgIGxlZnQ6IDIxMTcuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0xMCB7XG4gICAgICBsZWZ0OiAzMDI1cHg7IH0gfVxuICAudGlsZS0xMDpob3ZlciAuaW1nLWxheWVyLTEwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ6NjhrYTI5NTQxdjNkaWN4Y2EzaWYtYnVmZnktMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTc3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS0xMDpob3ZlciAuaW1nLWxheWVyLTEwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aWxlLTEwOmhvdmVyIC5pbWctbGF5ZXItMTAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cblxuLnRpbGUtMTEge1xuICB0b3A6IDEwMDFweDtcbiAgbGVmdDogMTA3MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogNDI0LjNweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjM2F4YjMyZWljMXc3YXp4YzJmMGxmLXRoZS1yZXNvcnQtMzU0eDQ5OC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTExIHtcbiAgICAgIGxlZnQ6IDc0OXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0xMSB7XG4gICAgICBsZWZ0OiAxMDcwcHg7IH0gfVxuICAudGlsZS0xMTpob3ZlciAuaW1nLWxheWVyLTExIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGMzYXhiMzJlaWMxdzdhenhjMmYwbGYtdGhlLXJlc29ydC0zNTR4NDk4LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE3cHggMCAwIC0xNzdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEyNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTExOmhvdmVyIC5pbWctbGF5ZXItMTEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMTE6aG92ZXIgLmltZy1sYXllci0xMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuXG4udGlsZS0xMiB7XG4gIHRvcDogMjU4MnB4O1xuICBsZWZ0OiAxNTQ2cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiA1NTcuNTRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bmdqd2gzbzJnMXZhazFiOGM0ZHI1LWNoaWxkcy1wbGF5MnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0xMiB7XG4gICAgICBsZWZ0OiAxMDgyLjJweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMTIge1xuICAgICAgbGVmdDogMTU0NnB4OyB9IH1cbiAgLnRpbGUtMTI6aG92ZXIgLmltZy1sYXllci0xMiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bmdqd2gzbzJnMXZhazFiOGM0ZHI1LWNoaWxkcy1wbGF5MnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMTI6aG92ZXIgLmltZy1sYXllci0xMiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0xMjpob3ZlciAuaW1nLWxheWVyLTEyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTEzIHtcbiAgdG9wOiAyMzQwcHg7XG4gIGxlZnQ6IDIxMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDg0MS4yNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGM1bG45aTJoajQxdzdhdnJ3ZWN6cnItdGhlLWh1bnQtMjUyeDE1Ni0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTEzIHtcbiAgICAgIGxlZnQ6IDE0ODcuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0xMyB7XG4gICAgICBsZWZ0OiAyMTI1cHg7IH0gfVxuICAudGlsZS0xMzpob3ZlciAuaW1nLWxheWVyLTEzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGM1bG45aTJoajQxdzdhdnJ3ZWN6cnItdGhlLWh1bnQtMjUyeDE1Ni0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07IH1cblxuLnRpbGUtMTQge1xuICB0b3A6IDI0NTVweDtcbiAgbGVmdDogMjI2MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogOTA3LjRweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjOWIwdXUybWF6MXY1eWNyc3N3bm0wLXRoZS1jb25qdXJpbmctMjUyeDQ0MC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTE0IHtcbiAgICAgIGxlZnQ6IDE1ODJweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMTQge1xuICAgICAgbGVmdDogMjI2MHB4OyB9IH1cbiAgLnRpbGUtMTQ6aG92ZXIgLmltZy1sYXllci0xNCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjOWIwdXUybWF6MXY1eWNyc3N3bm0wLXRoZS1jb25qdXJpbmctMjUyeDQ0MC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07IH1cblxuLnRpbGUtMTUge1xuICB0b3A6IDI4NXB4O1xuICBsZWZ0OiAxOTc1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiA3NjcuNzVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkM25hZHcwMGFnMXY2dDN3bjE4NHphLWJhZC1oYWlyLTI1Mng0NDAtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0xNSB7XG4gICAgICBsZWZ0OiAxMzgyLjVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMTUge1xuICAgICAgbGVmdDogMTk3NXB4OyB9IH1cbiAgLnRpbGUtMTU6aG92ZXIgLmltZy1sYXllci0xNSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkM25hZHcwMGFnMXY2dDN3bjE4NHphLWJhZC1oYWlyLTI1Mng0NDAtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTEyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyB9XG5cbi50aWxlLTE2IHtcbiAgdG9wOiA3NzBweDtcbiAgbGVmdDogMjg3NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTQwOC43NXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGQ0NHdyODAxNzMxdjZ4bzJpY2p6M2QtdGhlLWV2aWwtZG9vci0yNTJ4MTU2LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtMTYge1xuICAgICAgbGVmdDogMjAxMi41cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTE2IHtcbiAgICAgIGxlZnQ6IDI4NzVweDsgfSB9XG4gIC50aWxlLTE2OmhvdmVyIC5pbWctbGF5ZXItMTYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZDQ0d3I4MDE3MzF2NnhvMmljanozZC10aGUtZXZpbC1kb29yLTI1MngxNTYtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTdweCAwIDAgLTEyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyB9XG5cbi50aWxlLTE3IHtcbiAgdG9wOiAxODUwcHg7XG4gIGxlZnQ6IDkxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMzQ1LjlweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkOGNqbmMwNzRtMXY1OHRneHg2Y2d2LWl0LTI1Mng0NDAtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0xNyB7XG4gICAgICBsZWZ0OiA2MzdweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMTcge1xuICAgICAgbGVmdDogOTEwcHg7IH0gfVxuICAudGlsZS0xNzpob3ZlciAuaW1nLWxheWVyLTE3IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGQ4Y2puYzA3NG0xdjU4dGd4eDZjZ3YtaXQtMjUyeDQ0MC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07IH1cblxuLnRpbGUtMTgge1xuICB0b3A6IDI1OTVweDtcbiAgbGVmdDogMzIzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTU4Mi43cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YzJwZnh6MmRvZzF3NDl5eWN1eDViby1hbWVyaWNhbi1ob3Jyb3Itc3RvcnktNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTE4IHtcbiAgICAgIGxlZnQ6IDIyNjFweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMTgge1xuICAgICAgbGVmdDogMzIzMHB4OyB9IH1cbiAgLnRpbGUtMTg6aG92ZXIgLmltZy1sYXllci0xOCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjMnBmeHoyZG9nMXc0OXl5Y3V4NWJvLWFtZXJpY2FuLWhvcnJvci1zdG9yeS01MDR4MjM0LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE3cHggMCAwIC0yNTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTE4OmhvdmVyIC5pbWctbGF5ZXItMTgge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMTg6aG92ZXIgLmltZy1sYXllci0xOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuXG4udGlsZS0xOSB7XG4gIHRvcDogODQ1cHg7XG4gIGxlZnQ6IDcwNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMjQ1LjQ1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGFuM2RwMDh6MDF2NHp6M3F5MXljbC1tb3RoZXItNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTE5IHtcbiAgICAgIGxlZnQ6IDQ5My41cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTE5IHtcbiAgICAgIGxlZnQ6IDcwNXB4OyB9IH1cbiAgLnRpbGUtMTk6aG92ZXIgLmltZy1sYXllci0xOSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkYW4zZHAwOHowMXY0enozcXkxeWNsLW1vdGhlci01MDR4MjM0LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE3cHggMCAwIC0yNTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTE5OmhvdmVyIC5pbWctbGF5ZXItMTkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMTk6aG92ZXIgLmltZy1sYXllci0xOSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuXG4udGlsZS0yMCB7XG4gIHRvcDogNTg1cHg7XG4gIGxlZnQ6IDQwMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDE5NzIuMjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkYjhjaDEwYTZkMXY3Y2JsN2U5ZWtiLXR3aWxpZ2h0LXpvbmUtNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTIwIHtcbiAgICAgIGxlZnQ6IDI4MTcuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yMCB7XG4gICAgICBsZWZ0OiA0MDI1cHg7IH0gfVxuICAudGlsZS0yMDpob3ZlciAuaW1nLWxheWVyLTIwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRiOGNoMTBhNmQxdjdjYmw3ZTlla2ItdHdpbGlnaHQtem9uZS01MDR4MjM0LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE3cHggMCAwIC0yNTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTIwOmhvdmVyIC5pbWctbGF5ZXItMjAge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMjA6aG92ZXIgLmltZy1sYXllci0yMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuXG4udGlsZS0yMSB7XG4gIHRvcDogNDA1cHg7XG4gIGxlZnQ6IDQ0NjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDIxODUuNHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRkZ21vdDBkNHYxdjdjdHc5YnFsb2wtcnVuLTM1NHg0OTgtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0yMSB7XG4gICAgICBsZWZ0OiAzMTIycHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTIxIHtcbiAgICAgIGxlZnQ6IDQ0NjBweDsgfSB9XG4gIC50aWxlLTIxOmhvdmVyIC5pbWctbGF5ZXItMjEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGRnbW90MGQ0djF2N2N0dzlicWxvbC1ydW4tMzU0eDQ5OC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS0yMTpob3ZlciAuaW1nLWxheWVyLTIxIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aWxlLTIxOmhvdmVyIC5pbWctbGF5ZXItMjEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cblxuLnRpbGUtMjIge1xuICB0b3A6IDIyMHB4O1xuICBsZWZ0OiAzMzUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxNjQxLjVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkZTJiZHgwZHhlMXY3YzRkMTJ5YXdpLXRoZS1wdXJnZS0zNTR4NDk4LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtMjIge1xuICAgICAgbGVmdDogMjM0NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yMiB7XG4gICAgICBsZWZ0OiAzMzUwcHg7IH0gfVxuICAudGlsZS0yMjpob3ZlciAuaW1nLWxheWVyLTIyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRlMmJkeDBkeGUxdjdjNGQxMnlhd2ktdGhlLXB1cmdlLTM1NHg0OTgtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjI6aG92ZXIgLmltZy1sYXllci0yMiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0yMjpob3ZlciAuaW1nLWxheWVyLTIyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTIzIHtcbiAgdG9wOiAxNTM1cHg7XG4gIGxlZnQ6IDM1NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTczLjk1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGVudDQwMGVjZjF2NzVhMnp2aTFxbS1ibGFjay1zd2FuLTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0yMyB7XG4gICAgICBsZWZ0OiAyNDguNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yMyB7XG4gICAgICBsZWZ0OiAzNTVweDsgfSB9XG4gIC50aWxlLTIzOmhvdmVyIC5pbWctbGF5ZXItMjMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGVudDQwMGVjZjF2NzVhMnp2aTFxbS1ibGFjay1zd2FuLTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjM6aG92ZXIgLmltZy1sYXllci0yMyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0yMzpob3ZlciAuaW1nLWxheWVyLTIzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTI0IHtcbiAgdG9wOiAxNjc1cHg7XG4gIGxlZnQ6IDQzMzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDIyNjEuN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRoOWdwaDBpdTIxdjU4Yno2aGdxYmctYW5uYWJlbGxlLTUwNHgyMzQtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0yNCB7XG4gICAgICBsZWZ0OiAzMDMxcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aWxlLTI0IHtcbiAgICAgIGxlZnQ6IDQzMzBweDsgfSB9XG4gIC50aWxlLTI0OmhvdmVyIC5pbWctbGF5ZXItMjQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGg5Z3BoMGl1MjF2NThiejZoZ3FiZy1hbm5hYmVsbGUtNTA0eDIzNC0yeC5mdWxsLmpwZ1wiKTtcbiAgICBtYXJnaW46IC0xNnB4IDAgMCAtMjUycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGlsZS0yNDpob3ZlciAuaW1nLWxheWVyLTI0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aWxlLTI0OmhvdmVyIC5pbWctbGF5ZXItMjQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4OyB9IH1cblxuLnRpbGUtMjUge1xuICB0b3A6IDI0NDVweDtcbiAgbGVmdDogMzU1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxNzMuOTVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkaHg2NjgwamNoMXY0d2dkanZza29rLWFubmloaWxhdGlvbi01MDR4MjM0LTJ4LmZ1bGwuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRpbGUtMjUge1xuICAgICAgbGVmdDogMjQ4LjVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMjUge1xuICAgICAgbGVmdDogMzU1cHg7IH0gfVxuICAudGlsZS0yNTpob3ZlciAuaW1nLWxheWVyLTI1IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRoeDY2ODBqY2gxdjR3Z2RqdnNrb2stYW5uaWhpbGF0aW9uLTUwNHgyMzQtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTI1MnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjU6aG92ZXIgLmltZy1sYXllci0yNSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0yNTpob3ZlciAuaW1nLWxheWVyLTI1IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDsgfSB9XG5cbi50aWxlLTI2IHtcbiAgdG9wOiA1MDVweDtcbiAgbGVmdDogMjQ1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAxMjAuMDVweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkaTh2aHIwajNoMXY0ejQ2cW1qZHFqLWV4b3JjaXN0LTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0yNiB7XG4gICAgICBsZWZ0OiAxNzEuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yNiB7XG4gICAgICBsZWZ0OiAyNDVweDsgfSB9XG4gIC50aWxlLTI2OmhvdmVyIC5pbWctbGF5ZXItMjYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGk4dmhyMGozaDF2NHo0NnFtamRxai1leG9yY2lzdC0zNTR4Mjk0LTJ4LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE2cHggMCAwIC0xNzdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEyNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTI2OmhvdmVyIC5pbWctbGF5ZXItMjYge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMjY6aG92ZXIgLmltZy1sYXllci0yNiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuXG4udGlsZS0yNyB7XG4gIHRvcDogMjI2NXB4O1xuICBsZWZ0OiA0MDk1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiAyMDA2LjU1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0bjhkZG9wZDhuMjF2Nnh4dWk0NnV6ay10aGVlbXB0eW1hbi5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTI3IHtcbiAgICAgIGxlZnQ6IDI4NjYuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0yNyB7XG4gICAgICBsZWZ0OiA0MDk1cHg7IH0gfVxuICAudGlsZS0yNzpob3ZlciAuaW1nLWxheWVyLTI3IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdG44ZGRvcGQ4bjIxdjZ4eHVpNDZ1emstdGhlZW1wdHltYW4uZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjc6aG92ZXIgLmltZy1sYXllci0yNyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0yNzpob3ZlciAuaW1nLWxheWVyLTI3IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTI4IHtcbiAgdG9wOiAyNTI1cHg7XG4gIGxlZnQ6IDQyNzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDIwOTIuM3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGxuMWNpYWI1dWcxdjFuMnowcDdtdnQtZmFsc2UtcG9zaXRpdmUtMzU0eDQ5OC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTI4IHtcbiAgICAgIGxlZnQ6IDI5ODlweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMjgge1xuICAgICAgbGVmdDogNDI3MHB4OyB9IH1cbiAgLnRpbGUtMjg6aG92ZXIgLmltZy1sYXllci0yOCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RsbjFjaWFiNXVnMXYxbjJ6MHA3bXZ0LWZhbHNlLXBvc2l0aXZlLTM1NHg0OTguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMjg6aG92ZXIgLmltZy1sYXllci0yOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0yODpob3ZlciAuaW1nLWxheWVyLTI4IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi50aWxlLTI5IHtcbiAgdG9wOiAxNjlweDtcbiAgbGVmdDogMzI2NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbGVmdDogMTE1Ni44NXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGxuMWNrdWI1NGcxdjdjZ3A0dG4xY3Atb25seS1tdXJkZXJzLTUwNHgyMzQuZnVsbC5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGlsZS0yOSB7XG4gICAgICBsZWZ0OiAxNzk1LjVweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpbGUtMjkge1xuICAgICAgbGVmdDogMzI2NXB4OyB9IH1cbiAgLnRpbGUtMjk6aG92ZXIgLmltZy1sYXllci0yOSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RsbjFja3ViNTRnMXY3Y2dwNHRuMWNwLW9ubHktbXVyZGVycy01MDR4MjM0LmZ1bGwuanBnXCIpO1xuICAgIG1hcmdpbjogLTE2cHggMCAwIC0yNTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTE3N3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50aWxlLTI5OmhvdmVyIC5pbWctbGF5ZXItMjkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpbGUtMjk6aG92ZXIgLmltZy1sYXllci0yOSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUycHg7IH0gfVxuXG4udGlsZS0zMCB7XG4gIHRvcDogMTQwcHg7XG4gIGxlZnQ6IDEyNzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGxlZnQ6IDMyMi4zcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGtzMnFlMG5iajF2MW4wZTNvb252di1hbWVyaWNhbi1wc3ljaG8tMzU0eDI5NC0yeC5mdWxsLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50aWxlLTMwIHtcbiAgICAgIGxlZnQ6IDg4OXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlsZS0zMCB7XG4gICAgICBsZWZ0OiAxMjcwcHg7IH0gfVxuICAudGlsZS0zMDpob3ZlciAuaW1nLWxheWVyLTMwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRrczJxZTBuYmoxdjFuMGUzb29udnYtYW1lcmljYW4tcHN5Y2hvLTM1NHgyOTQtMnguZnVsbC5qcGdcIik7XG4gICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnRpbGUtMzA6aG92ZXIgLmltZy1sYXllci0zMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlsZS0zMDpob3ZlciAuaW1nLWxheWVyLTMwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDsgfSB9XG5cbi5ody10aWxlLWJ0biB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5ody10aWxlLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzeXd6M3dpN2pqdzF2NXlpNjg1MDIzbi1pY29uLWhvdmVyLWh1bHV3ZWVuLXNob3dzLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmh3LXVsdWgtb25lLCAuaHctdWx1aC10d28sIC5ody11bHVoLXRocmVlLCAuaHctdWx1aC1mb3VyLCAuaHctdWx1aC1maXZlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAtMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmh3LXVsdWgtb25lLCAuaHctdWx1aC10d28sIC5ody11bHVoLXRocmVlLCAuaHctdWx1aC1mb3VyLCAuaHctdWx1aC1maXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmh3LXVsdWgtb25lLCAuaHctdWx1aC10d28sIC5ody11bHVoLXRocmVlLCAuaHctdWx1aC1mb3VyLCAuaHctdWx1aC1maXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG5cbi5ody11bHVoLW9uZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZjJnc3VjMmxqeDF2MW5zeXp2M2w0Zy1zcGVjdHJhbC11bHVoLXdpZGUteC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmh3LXVsdWgtdHdvIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RmMmdzeWkybGVyMXY2eHlqcjRsZ2FmLXNwZWN0cmFsLXVsdWgtY2xvc2UteC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmh3LXVsdWgtdGhyZWUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHVxNmtyZG16ejYxdjc1bXRjNWE2aXYtc3BlY3RyYWwtdWx1aC13aWRlLTIuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ody11bHVoLWZvdXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHVxNmtya2V5NjgxdjR3ZGc4dHA0MDMtc3BlY3RyYWwtdWx1aC1jbG9zZS0zLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaHctdWx1aC1maXZlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R1cTZrczZtcWoyMXc3anBwajNsNW42LXNwZWN0cmFsLXVsdWgtd2lkZS0xLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaHctdWx1aC1tb2Itb25lLCAuaHctdWx1aC1tb2ItdHdvLCAuaHctdWx1aC1tb2ItdGhyZWUsIC5ody11bHVoLW1vYi1mb3VyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ody11bHVoLW1vYi1vbmUsIC5ody11bHVoLW1vYi10d28sIC5ody11bHVoLW1vYi10aHJlZSwgLmh3LXVsdWgtbW9iLWZvdXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmh3LXVsdWgtbW9iLW9uZSwgLmh3LXVsdWgtbW9iLXR3bywgLmh3LXVsdWgtbW9iLXRocmVlLCAuaHctdWx1aC1tb2ItZm91ciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cblxuLmh3LXVsdWgtbW9iLW9uZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0eDN3cXUzMDE0bTF2YWthYmN3Z2t6ZS1zcGVjdHJhbC11bHVoLWNsb3NlLW1vYmlsZTMuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ody11bHVoLW1vYi10d28ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHgzd3F1NjAxNG4xdjhqcmVqbnJpaGUtc3BlY3RyYWwtdWx1aC13aWRlLW1vYmlsZTIuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ody11bHVoLW1vYi10aHJlZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0eDN3cXEzMDFiNDF2OW8xb2ZrcmJ5cy1zcGVjdHJhbC11bHVoLWNsb3NlLW1vYmlsZTEuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ody11bHVoLW1vYi1mb3VyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R4M3dxeDYwMHllMXY2YjNnMTJ6d2VoLXNwZWN0cmFsLXVsdWgtd2lkZS1tb2JpbGU0LmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY292ZXItY2xvc2UtaHVsdXdlZW4ge1xuICB6LWluZGV4OiA5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDEwMHB4OyB9XG4gIC5jb3Zlci1jbG9zZS1odWx1d2Vlbjpob3ZlciwgLmNvdmVyLWNsb3NlLWh1bHV3ZWVuOmFjdGl2ZSwgLmNvdmVyLWNsb3NlLWh1bHV3ZWVuOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAuODsgfVxuXG4ucmV2ZWFsLWh1bHV3ZWVuIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5ib2R5IHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmgxLXBzIHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDEtcHMge1xuICAgICAgZm9udC1zaXplOiAzLjM3NXJlbTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmgxLXBzIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjlyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgNnJlbSAzcmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnBzLWNhci1pbWcge1xuICBib3JkZXItcmFkaXVzOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIC0ycHggMCAhaW1wb3J0YW50OyB9XG5cbi5wcy12aWRlbyB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogc29saWQgM3B4ICMxY2U3ODM7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogOTAlO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHMtdmlkZW8ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHMtdmlkZW8ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogOTkwcHg7XG4gICAgICBoZWlnaHQ6IDU1MHB4OyB9IH1cblxuLmJ1dHRvbi1oZWFkZXItd2F0Y2gge1xuICBtaW4td2lkdGg6IDIyMHB4O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfVxuICAuYnV0dG9uLWhlYWRlci13YXRjaDpob3ZlciB7XG4gICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5idXR0b24taGVhZGVyLXBzIHtcbiAgcGFkZGluZzogMC45cmVtIDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1oZWFkZXItcHMge1xuICAgICAgcGFkZGluZzogMC45cmVtIDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24taGVhZGVyLXBzIHtcbiAgICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtOyB9IH1cblxuLnBzLXNoYXJlLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHMtc2hhcmUtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHMtc2hhcmUtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLm1hc3RoZWFkLXdpZGUtcGxhbmVzd2FwIHtcbiAgcGFkZGluZzogMTJyZW0gMCAxMi41cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwM3ZoOyB9XG5cbi5tYXN0aGVhZC1iYWNrLWh1bHUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogODclO1xuICB0b3A6IDU2JTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggIzFjZTc4MztcbiAgYm9yZGVyLXJhZGl1czogNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1iYWNrLWh1bHUge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgYm9yZGVyOiBzb2xpZCA4cHggIzFjZTc4MztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1iYWNrLWh1bHUge1xuICAgICAgdG9wOiA1MiU7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgaGVpZ2h0OiA4NXZoO1xuICAgICAgYm9yZGVyOiBzb2xpZCA4cHggIzFjZTc4MztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDcwcHg7IH0gfVxuXG4ubWFzdGhlYWQtYmxvY2std3JhcHBlci1wcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDcwJTsgfVxuXG4ubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stbGVmdCAubGVmdC1kb3RzIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDFmZ3JtbXUxOHBpMXY3aXEzdndoY242LWRvdHMtbGVmdC10b3AuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDMwMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLWJhY2stcGxhbmVzd2FwIC5iYWNrLWxlZnQgLmxlZnQtZG90cyB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDM1MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stbGVmdCAubGVmdC1kb3RzIHtcbiAgICAgIHdpZHRoOiA0MTBweDtcbiAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDsgfSB9XG5cbi5tYXN0aGVhZC1iYWNrLXBsYW5lc3dhcCAuYmFjay1sZWZ0IC5sZWZ0LXBsYW5lIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDBsbDhmNWswYmJxMXY0bjl5d28xY2ZnLXBzLW1hc3QtbGVmdC1wbGFuZS5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMzAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stbGVmdCAubGVmdC1wbGFuZSB7XG4gICAgICB3aWR0aDogNTMwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stbGVmdCAubGVmdC1wbGFuZSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDUwMHB4OyB9IH1cblxuLm1hc3RoZWFkLWJhY2stcGxhbmVzd2FwIC5iYWNrLXJpZ2h0IC5yaWdodC1kb3RzIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDBsbDhlYmwwYmNzMXYzcHBwbWoyYzVoLXBzLW1hc3QtcmlnaHQtZG90cy5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB3aWR0aDogMjcwcHg7XG4gIGhlaWdodDogODAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMzAwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogNTMwcHg7XG4gIHRvcDogNjIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stcmlnaHQgLnJpZ2h0LWRvdHMge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiA2MTBweDtcbiAgICAgIHRvcDogNTMwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1iYWNrLXBsYW5lc3dhcCAuYmFjay1yaWdodCAucmlnaHQtZG90cyB7XG4gICAgICB3aWR0aDogMjcwcHg7XG4gICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgdG9wOiAzMDBweDsgfSB9XG5cbi5tYXN0aGVhZC1iYWNrLXBsYW5lc3dhcCAuYmFjay1yaWdodCAucmlnaHQtcGxhbmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMGxsOGYybjBiZTgxdjI2ZWNvczJrdmMtcHMtbWFzdC1yaWdodC1wbGFuZS5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWF4LXdpZHRoOiA0NSU7XG4gIHdpZHRoOiAyMzBweDtcbiAgaGVpZ2h0OiAyMzBweDtcbiAgYm90dG9tOiAtMTAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stcmlnaHQgLnJpZ2h0LXBsYW5lIHtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICBib3R0b206IC05MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtYmFjay1wbGFuZXN3YXAgLmJhY2stcmlnaHQgLnJpZ2h0LXBsYW5lIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBoZWlnaHQ6IDcwMHB4O1xuICAgICAgYm90dG9tOiAtMjAlOyB9IH1cblxuLm1hc3RoZWFkLWxvZ28tcGxhbmVzd2FwIHtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAyMzBweDtcbiAgbWFyZ2luOiAtNTVweCAwIDIwcHggMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLXBsYW5lc3dhcCB7XG4gICAgICBtYXJnaW46IC00MHB4IDAgMjVweCAwO1xuICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtbG9nby1wbGFuZXN3YXAge1xuICAgICAgbWFyZ2luOiAtNDBweCAwIDI1cHggMDtcbiAgICAgIHdpZHRoOiA0NTBweDsgfSB9XG5cbi5iay1ncmFkaWVudC1odWx1d2VlbiB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTk5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHc1MnpteW92Z2wxdjFuNDhwMmFpYmYtYmctdmVpbC1ncmFkLTItbW9iaWxlMy5mdWxsLmpwZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTAxdmg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmstZ3JhZGllbnQtaHVsdXdlZW4ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBoZWlnaHQ6IDEwMXZoOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmstZ3JhZGllbnQtaHVsdXdlZW4ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnXCIpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5zdWJ0aXRsZS1wcyB7XG4gIHdpZHRoOiA1MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdWJ0aXRsZS1wcyB7XG4gICAgICB3aWR0aDogNTIwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3VidGl0bGUtcHMge1xuICAgICAgd2lkdGg6IDYwMHB4OyB9IH1cblxuLm5vdGUtcHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1wcyB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm5vdGUtcHMge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH0gfVxuXG4uY29udGFpbmVyLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEzNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIG1hcmdpbjogNzBweCBhdXRvO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhaW5lci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMTAwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRhaW5lci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMTQwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG5cbi5jb250YWluZXItbGVmdCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBmbG9hdDogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhaW5lci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFpbmVyLWxlZnQge1xuICAgICAgd2lkdGg6IDYxJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jb250YWluZXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb250YWluZXItcmlnaHQtaGlnaCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhaW5lci1yaWdodC1oaWdoIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWluZXItcmlnaHQtaGlnaCB7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4OyB9IH1cblxuLmNvbnRhaW5lci1sZWZ0LXNob3J0IHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhaW5lci1sZWZ0LXNob3J0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWluZXItbGVmdC1zaG9ydCB7XG4gICAgICB3aWR0aDogNjE1cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uY2Fyb3VzZWwtcHMge1xuICBwYWRkaW5nOiAzcmVtIDAgM3JlbSAwO1xuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICBwYWRkaW5nOiA1cmVtIDAgMCAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2Fyb3VzZWwtcHMge1xuICAgICAgcGFkZGluZzogNXJlbSAwIDAgMCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2Fyb3VzZWwtcHMge1xuICAgICAgcGFkZGluZzogMTByZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH0gfVxuXG4ucHMtb24tbW9iIHtcbiAgd2lkdGg6IDg1JTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBzLW9uLW1vYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcy1vbi1tb2Ige1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5wcy1vbi1kZXNrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcy1vbi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcy1vbi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IC03NTBweCAwIDAgMDtcbiAgICAgIHdpZHRoOiAxMjAlOyB9IH1cblxuLnBzLXRleHQtYmxvY2sge1xuICBtYXJnaW46IC0yMjBweCAwIDAgMDtcbiAgd2lkdGg6IDU4MHB4OyB9XG5cbi5kb3RzLWxlZnQtbWlkIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDEzdXJ1dmVob2JpMXY1cno3amVuMHc1LXBzLW1pZC1sZWZ0LWRvdHMuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggNTMwcHg7XG4gIHdpZHRoOiAxNjBweDtcbiAgaGVpZ2h0OiAxMDAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kb3RzLWxlZnQtbWlkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAwcHg7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDEyMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAyMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5kb3RzLWxlZnQtbWlkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogODMwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAyMTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMjAlOyB9IH1cblxuLmRvdHMtcmlnaHQtbWlkIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDEzdHdwdnJsY2V4MXY0ajFwY2RyNHkxLXBzLW1pZC1yaWdodC1kb3RzLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB3aWR0aDogMjMwcHg7XG4gIGhlaWdodDogNjIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4MHB4IDkwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZG90cy1yaWdodC1taWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZG90cy1yaWdodC1taWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9IH1cblxuLmRvdHMtcmlnaHQtYm90IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDE0NzY0MXowMjJ6MXY0bjFwMnd2ZDZlLXBzLWJvdC1yaWdodC1kb3RzLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiAyMzBweDtcbiAgaGVpZ2h0OiA0ODBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZG90cy1yaWdodC1ib3Qge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZG90cy1yaWdodC1ib3Qge1xuICAgICAgbWFyZ2luOiAyNTBweCAwIDAgMDsgfSB9XG5cbi5wbGFuZS1yaWdodC1taWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDE1ZnZzamcwZHZmMTlhcHlzZ25rejR2LXBzLW1pZC1yaWdodC1wbGFuZS1mdWxsLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDM4MHB4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA5MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wbGFuZS1yaWdodC1taWQge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDE1ZnZzamcwZHZmMTlhcHlzZ25rejR2LXBzLW1pZC1yaWdodC1wbGFuZS1mdWxsLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIHdpZHRoOiA2NDBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGxhbmUtcmlnaHQtbWlkIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxNWZ2c2pnMGR2ZjE5YXB5c2dua3o0di1wcy1taWQtcmlnaHQtcGxhbmUtZnVsbC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB3aWR0aDogMzglO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5kaXZlci1yaWdodC1taWQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTN1Y2J4N2Fob3AxdjZ4bHU1cDlubXQtcHMtbWlkLXJpZ2h0LWRpdmVyLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICByaWdodDogNSU7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxM3VjYng3YWhvcDF2NnhsdTVwOW5tdC1wcy1taWQtcmlnaHQtZGl2ZXIuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICB3aWR0aDogOTUlO1xuICByaWdodDogLTQwcHg7XG4gIGhlaWdodDogNDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtMjIwcHggMCAtMTAwcHggMjBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA5MCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDMwcHggMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmRpdmVyLXJpZ2h0LW1pZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTN1Y2J4N2Fob3AxdjZ4bHU1cDlubXQtcHMtbWlkLXJpZ2h0LWRpdmVyLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgIHdpZHRoOiA3MzBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogLTIwMHB4IDAgMCAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZGl2ZXItcmlnaHQtbWlkIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxM3VjYng3YWhvcDF2NnhsdTVwOW5tdC1wcy1taWQtcmlnaHQtZGl2ZXIuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgd2lkdGg6IDQzJTtcbiAgICAgIGhlaWdodDogNTMwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbWFyZ2luLXRvcDogMTUlOyB9IH1cblxuLnRleHQtcmlnaHQtcHMge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50ZXh0LXJpZ2h0LXBzIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMCAwIDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LXJpZ2h0LXBzIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweCAwIDA7IH0gfVxuXG4udGV4dC1yaWdodC1zaG9ydCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tdG9wOiAxLjk1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtcmlnaHQtc2hvcnQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtcmlnaHQtc2hvcnQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5kZXZpY2VzLXBzIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kZXZpY2VzLXBzIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5kZXZpY2VzLXBzIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA4MHB4IDA7IH0gfVxuXG4uZ3JpZC1zZWxlY3QtcHMge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXNlbGVjdC1wcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1zZWxlY3QtcHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4udGFicy13cmFwcGVyLXBzIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tdG9wOiAtODBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50YWJzLXdyYXBwZXItcHMge1xuICAgICAgbWFyZ2luLXRvcDogMjIwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJzLXdyYXBwZXItcHMge1xuICAgICAgbWFyZ2luLXRvcDogMjIwcHg7IH0gfVxuXG4udGFicy1jb250ZW50LXBzIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4udGFicy1wcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi50YWJzLXRpdGxlLXBzIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4OyB9XG5cbi50YWJzLXRpdGxlLWxpbmsge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAuNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRhYnMtdGl0bGUtbGluayB7XG4gICAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFicy10aXRsZS1saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMzA2cHgpIHtcbiAgLmg0LXBzIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5tYXN0aGVhZC1iYWNrLXBsYW5lc3dhcCAuYmFjay1yaWdodCAucmlnaHQtcGxhbmUge1xuICAgIGJvdHRvbTogLTQwJTsgfVxuICAudGFicy13cmFwcGVyLXBzIHtcbiAgICBtYXJnaW4tdG9wOiAxMTBweDsgfVxuICAucHMtdmlkZW8ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIwMHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5oNC1wcyB7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxODcwcHgpIGFuZCAobWF4LXdpZHRoOiAzMzA2cHgpIHtcbiAgLm1hc3RoZWFkLWJhY2stcGxhbmVzd2FwIC5iYWNrLWxlZnQgLmxlZnQtcGxhbmUge1xuICAgIHdpZHRoOiA0MSU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLnRhYnMtd3JhcHBlci1wcyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgbWFyZ2luLXRvcDogMzUwcHg7IH1cbiAgLmRpdmVyLXJpZ2h0LW1pZCB7XG4gICAgd2lkdGg6IDM2JTsgfSB9XG5cbi5ib2R5LWJrLWxvbGxhIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3IyOWFhcWttMHc3MXU1dWUyc21sOTJ0LWdyYWRpZW50LWJhY2tncm91bmQtMzc1LmZ1bGwuanBnXCIpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4xcztcbiAgei1pbmRleDogLTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYm9keS1iay1sb2xsYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFwZG0xMG8xdTV1ZTA5Zm9neGItZ3JhZGllbnQtYmFja2dyb3VuZC03NjguZnVsbC5qcGdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJvZHktYmstbG9sbGEge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3IyOWFhc3A2dWRrMXU2bXIwZjhrN2gzLWdyYWRpZW50LWJhY2tncm91bmQtMTYwMC5mdWxsLmpwZ1wiKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4ubG9sbGEtaGVpZ2h0IHtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG4ubG9sbGEtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDdyZW07IH1cblxuLmxvbGxhLXNob3J0IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ubG9sbGEtc2hvcnQtcyB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAtMnJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1zaG9ydC1zIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG4ubG9sbGEtY29udGFpbmVyIHtcbiAgcGFkZGluZzogNHJlbSAwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogN3JlbTsgfSB9XG5cbi5ncmlkLWxvbGxhIHtcbiAgcGFkZGluZzogMHJlbSAwLjVyZW0gMCAwLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1sb2xsYSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDAgMCAzLjVyZW07IH0gfVxuXG4ubG9sbGEtY29udGFpbmVyLW1vYmlsZSB7XG4gIHBhZGRpbmc6IDRyZW0gMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS1jb250YWluZXItbW9iaWxlIHtcbiAgICAgIHBhZGRpbmc6IDdyZW07IH0gfVxuXG4ubG9sbGEtdGFicy1jb250YWluZXIge1xuICBwYWRkaW5nOiA0cmVtIDAgMnJlbSAwO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sb2xsYS10YWJzLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxMHJlbSAwIDdyZW0gN3JlbTsgfSB9XG5cbi5ib25uLXRhYnMtY29udGFpbmVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBwYWRkaW5nOiAycmVtIDAgMnJlbSAwO1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJvbm4tdGFicy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogN3JlbSAwIDJyZW0gMDtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ib25uLXRhYnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDExcmVtIDAgMCA3cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5sb2xsYS1vbi1tb2Ige1xuICB3aWR0aDogODUlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubG9sbGEtb24tbW9iIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLW9uLW1vYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmxvbGxhLW9uLWRlc2sge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxvbGxhLW9uLWRlc2sge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxvbGxhLW9uLWRlc2sge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTEwJTtcbiAgICAgIG1hcmdpbjogLTQwMHB4IDAgMCAwO1xuICAgICAgd2lkdGg6IDEyMCU7IH0gfVxuXG4uYm9ubi1vbi1kZXNrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ib25uLW9uLWRlc2sge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJvbm4tb24tZGVzayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiAtMjcwcHggMCAwIDA7XG4gICAgICB3aWR0aDogNjAwcHg7IH0gfVxuXG4uYm9ubi1zZWN0aW9uLWZsdWZmeSB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBwYWRkaW5nOiAycmVtIDAgOHJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJvbm4tc2VjdGlvbi1mbHVmZnkge1xuICAgICAgcGFkZGluZzogMTVyZW0gMCAxNXJlbSAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYm9ubi1zZWN0aW9uLWZsdWZmeSB7XG4gICAgICBwYWRkaW5nOiAyMXJlbSA3cmVtIDIzcmVtIDdyZW07IH0gfVxuXG4uY2xvdWRzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbG91ZHMtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2xvdWRzLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5jbG91ZHMtc2xpZGluZy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDN3MTZxNmRuaDVuMXY1ZmxpZTUwbnNxLWNsb3Vkcy5mdWxsLnBuZ1wiKSByZXBlYXQteDtcbiAgd2lkdGg6IDEwMDA3NnB4O1xuICBhbmltYXRpb246IHNsaWRlIDM5NjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQtc2l6ZTogLjglO1xuICBoZWlnaHQ6IDU1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNsb3Vkcy1zbGlkaW5nLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjElO1xuICAgICAgaGVpZ2h0OiA5NTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNsb3Vkcy1zbGlkaW5nLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjMlO1xuICAgICAgaGVpZ2h0OiAxMzEwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwNjkycHgsIDAsIDApOyB9IH1cblxuLmJvbm4tdmlkZW8ge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDkwJTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ib25uLXZpZGVvIHtcbiAgICAgIHdpZHRoOiA2NDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYm9ubi12aWRlbyB7XG4gICAgICB3aWR0aDogOTgwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfSB9XG5cbi5pbWctYXJyb3cge1xuICB3aWR0aDogMTAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cblxuLmgxLWxvbGxhIHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDEtbG9sbGEge1xuICAgICAgZm9udC1zaXplOiAzLjM3NXJlbTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgICAgIHBhZGRpbmc6IDAgNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmgxLWxvbGxhIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjlyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgM3JlbSAzcmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmgxLWJvbm4ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmg0LWxvbGxhIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwIDI0cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaDQtbG9sbGEge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oNC1sb2xsYSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uYnJlYWsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5pbWctZG9vLXdhcCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogNDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltZy1kb28td2FwIHtcbiAgICAgIHdpZHRoOiAxNjRweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmltZy1kb28td2FwIHtcbiAgICAgIHdpZHRoOiAyODZweDsgfSB9XG5cbi5oaWdobGlnaHQgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdyYXBoaWstQm9sZFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxY2U3ODM7XG4gIHBhZGRpbmc6IDAuOTM4cmVtIDEuNTYzcmVtO1xuICBib3JkZXItcmFkaXVzOiAxLjU2M3JlbTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR3JhcGhpay1Cb2xkXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuICBtYXJnaW46IDEuN3JlbSAwIDIuNXJlbSAwO1xuICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMi4yNXM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07IH0gfVxuXG4ubWFzdGhlYWQtd2lkZS1ib25uIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuLm1hc3RoZWFkLXdpZGUtd3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuLm1hc3RoZWFkLXdpZGUtbG9sbGEge1xuICBwYWRkaW5nOiAxNHJlbSAwIDMwcmVtIDA7IH1cblxuLm1hc3RoZWFkLWxvZ28tYm9ubiB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wzdzI5MjU2OGg3eDF2MmRyZ2NrbXJmMC1sb2dvLWxvY2t1cC1ib25uLmZ1bGwucG5nXCIpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuICB3aWR0aDogOTAlO1xuICBoZWlnaHQ6IDE3MHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDMzMHB4IDE0M3B4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzdGhlYWQtbG9nby1ib25uIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWJvbm4ge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBoZWlnaHQ6IDI3MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5tYXN0aGVhZC1ibG9jay13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICB6LWluZGV4OiA5OyB9XG5cbi5zdWJ0aXRsZS1ib2xkIHtcbiAgbWFyZ2luLXRvcDogLTFyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3VidGl0bGUtYm9sZCB7XG4gICAgICBtYXJnaW4tdG9wOiAuNnJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1YnRpdGxlLWJvbGQge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07IH0gfVxuXG4uc3VidGl0bGUtcmVxdWlyZSB7XG4gIGZvbnQtc2l6ZTogLjlyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdWJ0aXRsZS1yZXF1aXJlIHtcbiAgICAgIGZvbnQtc2l6ZTogLjdyZW0gIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMzYwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdWJ0aXRsZS1yZXF1aXJlIHtcbiAgICAgIGZvbnQtc2l6ZTogLjlyZW0gIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogNzEwcHg7IH0gfVxuXG4ubm90ZS1sb2xsYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC4ycmVtIDAgMXJlbSAwOyB9XG5cbi5ub3RlLWJvbm4ge1xuICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1ib25uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RlLWJvbm4ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi50eHQtbW9iaWxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnR4dC1tb2JpbGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEuYnV0dG9uLWhlYWRlci1sb2xsYS5idXR0b24ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAuM3MgIWltcG9ydGFudDsgfVxuICBhLmJ1dHRvbi1oZWFkZXItbG9sbGEuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIG9wYWNpdHk6IC44ICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbi1oZWFkZXItbG9sbGEge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cblxuLmJ1dHRvbi13YXRjaC1sb2xsYSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfVxuXG4uY2Fyb3VzZWwtbG9sbGEge1xuICBwYWRkaW5nOiAzcmVtIDAgM3JlbSAwO1xuICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICBwYWRkaW5nOiAwIDAgMXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2Fyb3VzZWwtbG9sbGEge1xuICAgICAgcGFkZGluZzogOXJlbSAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOXJlbTsgfSB9XG5cbi5hY2NvcmRpb24tbG9sbGEge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5hY2NvcmRpb24tdGl0bGUtbG9sbGEge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjRUJFREYyOyB9XG5cbi5tYXN0aGVhZC1pY29ucy13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLXRvcDogLTZyZW07IH1cblxuLm1hc3RoZWFkLWljb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDAgNSU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWFzdGhlYWQtdDEge1xuICBsZWZ0OiAyJTtcbiAgdG9wOiAxOTBweDsgfVxuXG4ubWFzdGhlYWQtdDIge1xuICBsZWZ0OiAyNiU7XG4gIHRvcDogODBweDsgfVxuXG4ubWFzdGhlYWQtdDMge1xuICBsZWZ0OiA0NyU7XG4gIHRvcDogNzBweDtcbiAgd2lkdGg6IDE5MHB4OyB9XG5cbi5tYXN0aGVhZC10NCB7XG4gIGxlZnQ6IDcxJTtcbiAgdG9wOiAxMjBweDtcbiAgd2lkdGg6IDIzMHB4OyB9XG5cbi5tYXN0aGVhZC10NSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTIwcHg7XG4gIHdpZHRoOiAyNjBweDsgfVxuXG4ubWFzdGhlYWQtdDYge1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogNjEwcHg7XG4gIHdpZHRoOiAxMjBweDsgfVxuXG4ubWFzdGhlYWQtdDcge1xuICBsZWZ0OiA1NyU7XG4gIHRvcDogNjQ1cHg7XG4gIHdpZHRoOiAxODVweDsgfVxuXG4ubWFzdGhlYWQtdDgge1xuICBsZWZ0OiA2OSU7XG4gIHRvcDogNTAwcHg7XG4gIHdpZHRoOiAxNTBweDsgfVxuXG4ubWFzdGhlYWQtdDkge1xuICBsZWZ0OiA4MSU7XG4gIHRvcDogNDIwcHg7XG4gIHdpZHRoOiAxNzBweDsgfVxuXG4ucm93LWxpc3RlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFtem0wejAxdTR3Y2FoYmVsaGUtcmlnaHQtYXJyb3cuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI5cHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJvdy1saXN0ZW4ge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3ctbGlzdGVuIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgaGVpZ2h0OiAzNXB4OyB9IH1cbiAgLnJvdy1saXN0ZW46aG92ZXIge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi50ZXh0LWJvbnVzIGltZyB7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI5cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGV4dC1ib251cyBpbWcge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWJvbnVzIGltZyB7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICAgIGhlaWdodDogMzVweDsgfSB9XG5cbi50ZW1wLXdyYXBwZXIge1xuICBtYXJnaW46IDAgMTBweDsgfVxuXG4udGVtcC1pbWcge1xuICB3aWR0aDogOTAuMiU7XG4gIGhlaWdodDogMzYycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjQ5NTc7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGVtcC1pbWctbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50ZW1wLWltZy1yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MjBweCkge1xuICAuaDEtYm9ubiB7XG4gICAgcGFkZGluZy1yaWdodDogN3JlbTsgfVxuICAubWFzdGhlYWQtY292ZXItYm9ubi10b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDJzMXEyam8zYTh0MXYyZHpkcTVpazF2LW1hc3QtYm9ubi10bC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIyJTtcbiAgICB0b3A6IDcwcHg7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tdG9wOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDJzMXF4dWMzNjZvMXY0bm12MHJvNDkxLW1hc3QtYm9ubi10ci5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIyJTtcbiAgICB0b3A6IDcwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1ib25uLWJvdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMzk4cDI5cWszY2ExdjQ1ZHc2eGprN2QtaW1nLWJvbi1ibC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIyJTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7IH1cbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tYm90OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDM5OHAyNHJrMnhiMXY1c3hxcnljbmJlLWltZy1ib24tYnIuZnVsbC5wbmdcIikgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMiU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTgwMHB4KSB7XG4gIC5tYXN0aGVhZC1sb2dvLWxvbGxhIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjJweCkge1xuICAubWFzdGhlYWQtY292ZXItYm9ubi10b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiA1MHB4O1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tdG9wOjphZnRlciB7XG4gICAgdG9wOiA1MHB4O1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tYm90OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tYm90OjphZnRlciB7XG4gICAgd2lkdGg6IDM1JTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgIHdpZHRoOiA0MzBweDsgfVxuICAubm90ZS1sb2xsYSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuaDEtYm9ubiB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc1cHgpIHtcbiAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tdG9wOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogNTBweDtcbiAgICB3aWR0aDogNDUlOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1ib25uLXRvcDo6YWZ0ZXIge1xuICAgIHRvcDogNTBweDtcbiAgICB3aWR0aDogNDUlOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1ib25uLWJvdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogNDUlOyB9XG4gIC5tYXN0aGVhZC1jb3Zlci1ib25uLWJvdDo6YWZ0ZXIge1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgLmJvZHktYmstbG9sbGEge1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgIHdpZHRoOiAyNzBweDtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLm1hc3RoZWFkLWJsb2NrLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNzAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIHotaW5kZXg6IDk7IH1cbiAgLm1hc3RoZWFkLXdpZGUtbG9sbGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxM3JlbTsgfSB9XG5cbi5ub3ctbGl2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjMWNlNzgzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ub3RlLWZhdi1ib25uIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIG1hcmdpbjogMXJlbSAxLjdyZW0gMCAxLjdyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubm90ZS1mYXYtYm9ubiB7XG4gICAgICBtYXJnaW46IDFyZW0gNnJlbSAwIDZyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ub3RlLWZhdi1ib25uIHtcbiAgICAgIG1hcmdpbjogMXJlbSAzcmVtIDAgMDsgfSB9XG5cbi5zdWJ0aXRsZS1yZXF1aXJlIHtcbiAgZm9udC1zaXplOiAuOXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogODAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN1YnRpdGxlLXJlcXVpcmUge1xuICAgICAgZm9udC1zaXplOiAuN3JlbSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1YnRpdGxlLXJlcXVpcmUge1xuICAgICAgZm9udC1zaXplOiAuOXJlbSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfSB9XG5cbi5hY2wtdGFicy1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTQwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hY2wtdGFicy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNHJlbSAwIDJyZW0gMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNsLXRhYnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCA3cmVtIDdyZW07IH0gfVxuXG4ubWFzdGhlYWQtd2lkZS1hY2wge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWFyZ2luLXRvcDogLTEwMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLXdpZGUtYWNsIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkLXdpZGUtYWNsIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cblxuLm1hc3RoZWFkLWFjbC1tb2Ige1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhjMGVzeGUxam1sMXYzamF1eWR1NmllLWFjbC1tYXN0LW1vYi5mdWxsLnBuZ1wiKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDMwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDY5MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLWFjbC1tb2Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGMwZXN4ZTFqbWwxdjNqYXV5ZHU2aWUtYWNsLW1hc3QtbW9iLmZ1bGwucG5nXCIpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDY5MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtYWNsLW1vYiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1hc3RoZWFkLWxvZ28tYWNsIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLXRvcDogLTNyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMnM7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w4YnhxNmoyMWc1ZjF2NGprNWd5MmJyNi1hY2wtbG9nby1tb2IuZnVsbC5wbmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyMjBweDtcbiAgd2lkdGg6IDE1NXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWFjbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGF2eHoxODAzMXIxdjVqa3QyZHljOGYtYWNsLWxvZ28uZnVsbC5wbmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWFjbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGF2eHoxODAzMXIxdjVqa3QyZHljOGYtYWNsLWxvZ28uZnVsbC5wbmdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgaGVpZ2h0OiAyNzBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkyMHB4KSB7XG4gIC5tYXN0aGVhZC1jb3Zlci1hY2wtdG9wOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w4YnhlYXIwMWZweTF2NGplaHE2NTBiNC1hY2wtbWFzdC10bC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MjBweCkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFzdGhlYWQtY292ZXItYWNsLXRvcDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MjBweCkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWFzdGhlYWQtY292ZXItYWNsLXRvcDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIHtcbiAgLm1hc3RoZWFkLWNvdmVyLWFjbC10b3A6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGJ4ZWFyNzFmcHkxdjNqMjllcGdrZnktYWNsLW1hc3QtdHIuZnVsbC5wbmdcIikgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMiU7XG4gICAgdG9wOiAxMDBweDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkyMHB4KSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1jb3Zlci1hY2wtdG9wOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWFjbC10b3A6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIHtcbiAgLm1hc3RoZWFkLWNvdmVyLWFjbC1ib3Q6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhieGVhcHcxZnB6MXY0N3F2aTU0dzBjLWFjbC1tYXN0LWJsLmZ1bGwucG5nXCIpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzMlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWFjbC1ib3Q6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWFjbC1ib3Q6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkyMHB4KSB7XG4gIC5tYXN0aGVhZC1jb3Zlci1hY2wtYm90OjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhieGVhc3kxZnB3MXYweWU4YWIyNWRlLWFjbC1tYXN0LWJyLmZ1bGwucG5nXCIpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzAlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkyMHB4KSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYXN0aGVhZC1jb3Zlci1hY2wtYm90OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWFjbC1ib3Q6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnN0YXJzIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhiemRyazcxaWE5MXYxNGV5dTAxZ2N6LWFjbC1tYXN0LXN0YXIuZnVsbC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDI1cHg7IH1cblxuLnN0YXJzLW9uZSB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0YXJzLW9uZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDclO1xuICAgICAgdG9wOiAxMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0YXJzLW9uZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDI1JTtcbiAgICAgIHRvcDogMTUwcHg7IH0gfVxuXG4uc3RhcnMtdHdvIHtcbiAgbGVmdDogNiU7XG4gIHRvcDogMjgwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0YXJzLXR3byB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RhcnMtdHdvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnN0YXJzLXRocmVlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhcnMtdGhyZWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAxOCU7XG4gICAgICB0b3A6IDQ1MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RhcnMtdGhyZWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAxOCU7XG4gICAgICB0b3A6IDM1MHB4OyB9IH1cblxuLnN0YXJzLWZvdXIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGFycy1mb3VyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogNiU7XG4gICAgICB0b3A6IDU3MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RhcnMtZm91ciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDIlO1xuICAgICAgdG9wOiA0MjBweDsgfSB9XG5cbi5zdGFycy1maXZlIHtcbiAgcmlnaHQ6IDMwJTtcbiAgdG9wOiAxNTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhcnMtZml2ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RhcnMtZml2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zdGFycy1zaXgge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGFycy1zaXgge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICByaWdodDogMTIlO1xuICAgICAgdG9wOiAzOTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0YXJzLXNpeCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAxMiU7XG4gICAgICB0b3A6IDM1MHB4OyB9IH1cblxuLnN0YXJzLXNldmVuIHtcbiAgcmlnaHQ6IDI0JTtcbiAgdG9wOiA1MzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhcnMtc2V2ZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdGFycy1zZXZlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zdGFycy1laWdodCB7XG4gIHJpZ2h0OiAyJTtcbiAgdG9wOiA1NDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhcnMtZWlnaHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0YXJzLWVpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmgxLWFjbCB7XG4gIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogLTMwcHggIWltcG9ydGFudDsgfVxuXG4uYWNsLW9uLWRlc2sge1xuICBtYXJnaW4tdG9wOiAtMzgwcHg7XG4gIHdpZHRoOiA1MjBweDtcbiAgcmlnaHQ6IDglOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzgwMHB4KSB7XG4gIC5kb250LWFjbC1vbi1kZXNrIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI0cztcbiAgICB3aWR0aDogNzAlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIHtcbiAgLmRvbnQtYWNsLW9uLWRlc2sge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tYXN0aGVhZC1sb2dvLWFjbCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ0MHB4KSB7XG4gIC5kb250LWFjbC1vbi1kZXNrIHtcbiAgICB3aWR0aDogMTIwJTsgfVxuICAubWFzdGhlYWQtbG9nby1hY2wge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3NXB4KSB7XG4gIC5tYXN0aGVhZC1sb2dvLWFjbCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9IH1cblxuI2dyaWQge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ud2tiLWJvZHkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogIzFiMWExYTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgIzFiMWExYSAwJSwgIzEyMGUwZSAxMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53a2ItYm9keSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC53a2ItYm9keSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQ7IH0gfVxuXG4ud2tiLXdyYXBwZXIge1xuICBwYWRkaW5nOiA3MHB4IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxNjMwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndrYi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxNjMwcHg7IH0gfVxuXG4ud2tiLXdyYXBwZXItZGVza3RvcCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndrYi13cmFwcGVyLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndrYi13cmFwcGVyLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qIEhpZGUgc2Nyb2xsYmFyIGZvciBDaHJvbWUsIElFLCBFZGdlIGFuZCBGaXJlZm94ICovXG4ud2tiLXdyYXBwZXItZGVza3RvcDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53a2Itd3JhcHBlci1kZXNrdG9wIHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAvKiBJRSBhbmQgRWRnZSAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC8qIEZpcmVmb3ggKi8gfVxuXG4ud2tiLXdyYXBwZXItbW9iaWxlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXNpemU6IDMzMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMxYjFhMWEgMCUsICMxMjBlMGUgMTAwJSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2tiLXdyYXBwZXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzNjBweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjMWIxYTFhIDAlLCAjMTIwZTBlIDEwMCUpOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLXdyYXBwZXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ud2tiLWJhY2stbW9iaWxlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1aDJidGR0YXNlYzF2M3ZncXQ5b2R1ei13a2ItbG9nby5mdWxsLnBuZ1wiKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndrYi1iYWNrLW1vYmlsZSB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLWJhY2stbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZG9vci1pbWctd2tiIHtcbiAgd2lkdGg6IDEzN3B4O1xuICBoZWlnaHQ6IDE0M3B4OyB9XG5cbi5kb29yLWltZy1udW0ge1xuICB3aWR0aDogMTYzcHg7XG4gIGhlaWdodDogMjg5cHg7IH1cblxuLmRvb3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTY1cHg7XG4gIGhlaWdodDogMzQ0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgzMDAwcHgpICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMTVweCAxNXB4OyB9XG4gIC5kb29yOmhvdmVyIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5kb29yLWZyb250IHtcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDM0NXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiAuNXM7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGlkcWRtZWs4ZjF2NThleThwdzFsMi13a2ItaW1nLWRvb3IteWVsbG93LmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG5cbi5kb29yLWZyb250LXJlZCB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGlkcWFncTBhcDF2MXk3YnYzbDIzYy13a2ItaW1nLWRvb3ItcmVkLmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG5cbi5kb29yLWZyb250LWdyZWVuIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsaWRxOXV2OWZ1MXY2dzBqa2J3MzRoLXdrYi1pbWctZG9vci1ncmVlbi5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuXG4uZG9vcjpob3ZlciAuZG9vci1mcm9udCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxMTBkZWcpO1xuICBib3gtc2hhZG93OiAzMHB4IDAgNTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLmRvb3ItYmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogMTBweCBzb2xpZCAjYmM5NjQ1OyB9XG5cbi5kb29yLWJhY2stcmVkIHtcbiAgb3V0bGluZTogMTBweCBzb2xpZCAjOGUyOTFkOyB9XG5cbi5kb29yLWJhY2stZ3JlZW4ge1xuICBvdXRsaW5lOiAxMHB4IHNvbGlkICMzYzY3NTQ7IH1cblxuLmRvb3ItZGFyayB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogdHJhbnNwYXJlbnQgc29saWQgMTBweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5kb29yLWJhY2stbGluayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0NXB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZG9vci1iYWNrLXN1cyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuNzVzICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAzNDVweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMzAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG5cbi5kb29yLWd1aWx0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIGJvcmRlcjogZGFzaGVkIDJweCAjZjlmOWY5O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6ICNmOWY5Zjk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyMHB4O1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogLjVweDsgfVxuICAuZG9vci1ndWlsdHk6aG92ZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG4gICAgYm90dG9tOiAxN3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjIsIDIyLCAyMiwgMC4zNSk7IH1cblxuLndrYi1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCwgIzAwMDAwMCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53a2ItZm9vdGVyIHtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLWZvb3RlciB7XG4gICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi53a2ItZm9vdGVyLXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2tiLWZvb3Rlci1yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLWZvb3Rlci1yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLndrYi1mb290ZXItciBpbWcge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7IH1cblxuLndrYi1mb290ZXItdGl0bGUge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4uZm9vdGVyLWxpc3QgdWwgbGkge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5mb290ZXItbGlzdCB1bCBsaSBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuZm9vdGVyLWxpc3QgdWwgbGkgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uc3BvdGxpZ2h0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgdHJhbnNwYXJlbnQgMzAwcHgsIHJnYmEoMCwgMCwgMCwgMC44NSkgODAwcHgpO1xuICB6LWluZGV4OiA5O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNwb3RsaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3BvdGxpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnJldmVhbC13a2Ige1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IH1cblxuLndrYi1jb3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uY292ZXItYXVkaW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDE3MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvdmVyLWF1ZGlvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAxMjBweDtcbiAgICAgIHdpZHRoOiAxNzBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvdmVyLWF1ZGlvIHtcbiAgICAgIHJpZ2h0OiA0MTBweDtcbiAgICAgIHRvcDogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbi5jb3Zlci1tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb3Zlci1pbnN0cnVjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAzMHB4IGF1dG87IH1cblxuLmNvdmVyLWluc3RydWN0aW9uLW1vYmlsZSwgLmNvdmVyLXNoYXJlLW1vYmlsZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uY292ZXItc2hhcmUtbW9iaWxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDU1cHg7IH1cblxuLmNvdmVyLWJ1dHRvbi1tb2JpbGUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNjE0M2g0b2s0cmUxdjU4djc2cW9iczgtd2xiLWNvdmVyLWJ1dHRvbi5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDM1cHg7IH1cblxuLmNvdmVyLWNsb3NlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tbGVmdDogLTI1cHg7IH1cbiAgLmNvdmVyLWNsb3NlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnKSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAtMXB4IDBweCAwIDEwcHg7IH1cblxuLmNvdmVyLWltYWdlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1anVtbXVycG55bzF3NThheGY2eTAxMC13a2ItY292ZXItaW1nLXRhcC5mdWxsLnBuZ1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY292ZXItaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVqdW1tdXJwbnlvMXc1OGF4ZjZ5MDEwLXdrYi1jb3Zlci1pbWctdGFwLmZ1bGwucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvdmVyLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1aDJza3A0azd4dDF2MXlhcDM4eWczeC13a2ItY292ZXItaW1nLWNsaWNrLmZ1bGwucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfSB9XG5cbi5jb3Zlci1pbWFnZS1tb2JpbGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDYxNDNnemRrNHd5MXY2dzI1azRtcGZrLXdrYi1jb3Zlci1tb2JpbGUtZnJhbWUuZnVsbC5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvdmVyLWltYWdlLW1vYmlsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIgICAgaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDYxNDNnemRrNHd5MXY2dzI1azRtcGZrLXdrYi1jb3Zlci1tb2JpbGUtZnJhbWUuZnVsbC5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY292ZXItaW1hZ2UtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY292ZXItbWVzc2FnZS1kZXNrdG9wIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY292ZXItbWVzc2FnZS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb3Zlci1tZXNzYWdlLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmNvdmVyLW1lc3NhZ2UtbW9iaWxlIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb3Zlci1tZXNzYWdlLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb3Zlci1tZXNzYWdlLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnJldmVhbC13a2Ige1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiA4MCUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAyNjVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQyNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC13a2Ige1xuICAgICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDQ4MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsLXdrYiB7XG4gICAgICB3aWR0aDogMjgwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuXG4ucmV2ZWFsLXdrYi1mcmFtZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bDhnbTRpZTdhbDF2OG9oazgzeHAyNy13a2ItbW9kYWwtZnJhbWUuZnVsbC5wbmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogOTk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDIxMHB4O1xuICBoZWlnaHQ6IDM4NHB4O1xuICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwtd2tiLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAyMjBwO1xuICAgICAgaGVpZ2h0OiA0MDVweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtd2tiLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIGhlaWdodDogNDA0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMThweDsgfSB9XG5cbi5yZXZlYWwtd2tiLWNhcmQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMTYzcHg7XG4gIGhlaWdodDogMzQwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLXdrYi1jYXJkIHtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgIGhlaWdodDogMzk1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtd2tiLWNhcmQge1xuICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgaGVpZ2h0OiAzNjVweDsgfSB9XG5cbi5yZXZlYWwtdGl0bGUsIC5yZXZlYWwtbWVyY2gge1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNjBweCAwIDAgMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDsgfVxuXG4ucmV2ZWFsLW1lcmNoIHtcbiAgbWFyZ2luLXRvcDogMTUwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5yZXZlYWwtbWVyY2g6aG92ZXIsIC5yZXZlYWwtbWVyY2g6YWN0aXZlLCAucmV2ZWFsLW1lcmNoOmZvY3VzIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yZXZlYWwtc29jaWFsLXdyYXBwZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiAxMDBweCBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4uYnRuLXdrYi1zaGFyZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgNy41cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNBNDA0ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogI0MzQTQwNDtcbiAgY29sb3I6ICMxRjFEMUQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMTBweCAyNXB4IDlweCAzN3B4O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIG1hcmdpbjogMCA0LjVweDtcbiAgcGFkZGluZzogMTBweCAxN3B4IDlweCAzN3B4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ0bi13a2Itc2hhcmUge1xuICAgICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgICAgcGFkZGluZzogMTBweCAyNXB4IDlweCAzN3B4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnRuLXdrYi1zaGFyZSB7XG4gICAgICBtYXJnaW46IDAgNy41cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDI1cHggOXB4IDM3cHg7IH0gfVxuICAuYnRuLXdrYi1zaGFyZTpob3ZlciwgLmJ0bi13a2Itc2hhcmU6YWN0aXZlLCAuYnRuLXdrYi1zaGFyZTpmb2N1cyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGNvbG9yOiAjMUYxRDFEICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5idG4td2tiLWZiIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVqeXV0c2EzNTUwMXYzNHN3YjUwcnlvLXdrYi1pY29uLXNoYXJlLWZiLmZ1bGwucG5nXCIpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNBNDA0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOCUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMThweCA4cHggIWltcG9ydGFudDsgfVxuXG4uYnRuLXdrYi10dyB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1anp2Y2pkY2xiOTF2NTgzMTh5ZTZ6Zi13a2ItaWNvbi1zaGFyZS10dy5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzQTQwNCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1JSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDEwcHggIWltcG9ydGFudDsgfVxuXG4uYnRuLXdrYi1pZyB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bjBrb3p0MXNnZzF2NmhqY3h3Y3Z4dy13a2ItaWNvbi1zaGFyZS1pZy5mdWxsLnBuZ1wiKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0MzQTQwNCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEzJSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDlweCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgbWFyZ2luOiAwIDQuNXB4O1xuICBwYWRkaW5nOiA4cHggMTdweCA3cHggMzdweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idG4td2tiLWlnIHtcbiAgICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICAgIHBhZGRpbmc6IDhweCAyNXB4IDdweCAzN3B4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnRuLXdrYi1pZyB7XG4gICAgICBtYXJnaW46IDAgNy41cHg7XG4gICAgICBwYWRkaW5nOiA4cHggMjVweCA3cHggMzdweDsgfSB9XG4gIC5idG4td2tiLWlnOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnJldmVhbC13a2Itc3dlZXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDU0N3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNjN4YWgyNjFjeHcxdjRzZjFpeGd4cjgtd2tiLXN3ZWVwLWZyYW1lLW1vYmlsZS10LmZ1bGwucG5nXCIpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOTIlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQgIWltcG9ydGFudDtcbiAgdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLXdrYi1zd2VlcCB7XG4gICAgICB3aWR0aDogNDMwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNjMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtd2tiLXN3ZWVwIHtcbiAgICAgIHdpZHRoOiA0NzBweCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOTAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDYybmt1b2FtNWZqMXY2aGVlc3BlZHBjLXdrYi1zd2VlcC1mcmFtZS1tb2JpbGUuZnVsbC5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA5MiUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQgIWltcG9ydGFudDtcbiAgICAgIHRvcDogNjBweCAhaW1wb3J0YW50OyB9IH1cblxuLndrYi1zd2VlcC13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDkwJTtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53a2Itc3dlZXAtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC53a2Itc3dlZXAtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG4ud2tiLXN3ZWVwLWltZyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogMjEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2tiLXN3ZWVwLWltZyB7XG4gICAgICB3aWR0aDogMjUzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLXN3ZWVwLWltZyB7XG4gICAgICB3aWR0aDogMjUzcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLndrYi1zd2VlcC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICNDMEJCQTA7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndrYi1zd2VlcC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAud2tiLXN3ZWVwLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4ud2tiLXN3ZWVwLXRpdGxlLW8ge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLndrYi1zd2VlcC1ub3RlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBvcGFjaXR5OiAwLjU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuYS53a2Itc3dlZXAtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMjMwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6ICNDM0E0MDQ7XG4gIGNvbG9yOiAjMUYxRDFEO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDExcHggMTBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIGEud2tiLXN3ZWVwLWJ0bjpob3ZlciwgYS53a2Itc3dlZXAtYnRuOmFjdGl2ZSwgYS53a2Itc3dlZXAtYnRuOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGNvbG9yOiAjMUYxRDFEICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI0MzQTQwNCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGEud2tiLXN3ZWVwLWJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBhLndrYi1zd2VlcC1idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi53a2Itc3dlZXAtYnRuLWNhbmNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDIzMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBmb250LXNpemU6IDExcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTFweCAxMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgLjI1czsgfVxuICAud2tiLXN3ZWVwLWJ0bi1jYW5jZWw6aG92ZXIsIC53a2Itc3dlZXAtYnRuLWNhbmNlbDphY3RpdmUsIC53a2Itc3dlZXAtYnRuLWNhbmNlbDpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJkLXN1cyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHRvcDogLTUwcHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUpIGFuZCAoc3Ryb2tlLWNvbG9yOiB0cmFuc3BhcmVudCkge1xuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IC00MHB4OyB9IH0gfVxuXG4uY2xvc2UtYnV0dG9uLWxhcmdlOmFmdGVyIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzOyB9XG5cbi5zdXMtYWxpY2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvYWxpY2Vfcy5wbmdcIik7IH1cblxuLnN1cy1hbXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvYW15X3QucG5nXCIpOyB9XG5cbi5zdXMtbWFiZWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbWFiZWwuanBnXCIpOyB9XG5cbi5zdXMtbWFydiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9tYXJ2LmpwZ1wiKTsgfVxuXG4uc3VzLW5pbmEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbmluYS5qcGdcIik7IH1cblxuLnN1cy1vbGl2ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2Ivb2xpdmVyLmpwZ1wiKTsgfVxuXG4uc3VzLXBvcHB5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL3BvcHB5LmpwZ1wiKTsgfVxuXG4uc3VzLXRlZGR5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL3RlZGR5LmpwZ1wiKTsgfVxuXG4uc3VzLXRoZW8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvdGhlby5qcGdcIik7IH1cblxuLnN1cy11bWEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvdW1hLmpwZ1wiKTsgfVxuXG4uc3VzLXdpbGwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2Ivd2lsbC5qcGdcIik7IH1cblxuLnN1cy1jaGFybGVzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2NoYXJsZXNfcy5wbmdcIik7IH1cblxuLnN1cy1jaW5kYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9jaW5kYV9zLnBuZ1wiKTsgfVxuXG4uc3VzLXdpbGxpYW1zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RldGVjdGl2ZXdpbGxpYW1zX3MucG5nXCIpOyB9XG5cbi5zdXMtZ3JvdmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RyZ3JvdmVyX3MucG5nXCIpOyB9XG5cbi5zdXMtaG93YXJkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2hvd2FyZC5wbmdcIik7IH1cblxuLnN1cy1rcmVwcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9kZXRlY3RpdmVrcmVwc19zLmpwZ1wiKTsgfVxuXG4uc3VzLWxlbm9yYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9sZW9ub3JhX3MucG5nXCIpOyB9XG5cbi5zdXMtbGVzdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2xlc3Rlcl9zLnBuZ1wiKTsgfVxuXG4uc3VzLWx1Y3kge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbHVjeV9zLnBuZ1wiKTsgfVxuXG4uc3VzLXVyc3VsYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi91cnN1bGEuanBnXCIpOyB9XG5cbi5zdXMtc2FtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL3NhbV9zLnBuZ1wiKTsgfVxuXG4uc3VzLWRpcmVjdG9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RpcmVjdG9yX3MucG5nXCIpOyB9XG5cbi5zdXMtaXZhbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9pdmFuX3MucG5nXCIpOyB9XG5cbi5zdXMtbGlhbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9saWFtX3MucG5nXCIpOyB9XG5cbi5zdXMtZ3JhbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvZ3JhbnRfcy5wbmdcIik7IH1cblxuLnN1cy1uYW9taSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9uYW9taV9zLnBuZ1wiKTsgfVxuXG4uc3VzLWpvbmF0aGFuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2pvbmF0aGFuX3MucG5nXCIpOyB9XG5cbi5zdXMtam95IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2pveV9zLnBuZ1wiKTsgfVxuXG4uc3VzLXBhdWxldHRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL3BhdWxldHRlX3MucG5nXCIpOyB9XG5cbi5zd2lwZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAvKiBDZW50ZXIgc2xpZGUgdGV4dCB2ZXJ0aWNhbGx5ICovXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXNsaWRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4uc3dpcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5zd2lwZS1jYXJkIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB3aWR0aDogNzUlO1xuICBoZWlnaHQ6IDY2dmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMjglOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN3aXBlLWNhcmQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDU4cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDcwdmg7XG4gICAgICB0b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zd2lwZS1jYXJkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3dpcGUtZnJhbWUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNXR3cmw4OWFyd2ExdjRzcDU1MWUydGwtd2tiLXN3aXBlLWZyYW1lLmZ1bGwucG5nXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHdpZHRoOiAyMTBweDtcbiAgaGVpZ2h0OiA0MjBweDtcbiAgdG9wOiAzNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN3aXBlLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAyNTVweDtcbiAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICB0b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zd2lwZS1mcmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN3aXBlLWd1aWx0eS10eHQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNXUzdWNobWIwdHkxdjF5aDJsOHA4b2std2tiLXN3aXBlLWJ0bi1ndWlsdHkuZnVsbC5wbmdcIikgbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGhlaWdodDogNjVweDtcbiAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBib3R0b206IDEwJTtcbiAgd2lkdGg6IDIyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN3aXBlLWd1aWx0eS10eHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnN3aXBlci1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0b3A6IHVuc2V0O1xuICBib3R0b206IDEyJSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zd2lwZXItYnV0dG9uIHtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN3aXBlci1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNXUxeXhzcWF5aHMxdjU4MHk1aHdzNmktd2tiLXN3aXBlLWFycm93LXJpZ2h0LmZ1bGwucG5nXCIpIG5vLXJlcGVhdDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIHJpZ2h0OiA0JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IDI1JTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1dTF5eG02YXlnNTF2M2MzZnRvdWIyNS13a2Itc3dpcGUtYXJyb3ctbGVmdC5mdWxsLnBuZ1wiKSBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBsZWZ0OiA0JTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgbGVmdDogMjUlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3V0b2Yge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMjkxcHg7XG4gIGJvdHRvbTogMjAlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMjY3cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3V0b2Yge1xuICAgICAgd2lkdGg6IDI5MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3V0b2Yge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vdXRvZi1zdXMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ub3V0b2YtbGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAtMTBweCAxNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgd2lkdGg6IDE1MHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm91dG9mLWxpbmUge1xuICAgICAgd2lkdGg6IDE1NXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3V0b2YtbGluZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm91dG9mLWxpbmUgaHIge1xuICAgIG9wYWNpdHk6IC41OyB9XG5cbi5vdXRvZi10b3RhbCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyMXB4KSBhbmQgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gIC53a2Itd3JhcHBlciB7XG4gICAgd2lkdGg6IDEyNDBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTI0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmRvb3Itc21sIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBvcHBpbnM6d2dodEA3MDAmZGlzcGxheT1zd2FwJyk7XG5cbi8qICp7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xufSAqL1xuXG4kbGluZXM6IDI7IC8vIGxpbmVzIG9mIHRleHRcbiRkdXJhdGlvbjogMTAwMDsgLy8gYW5pbWF0aW9uXG4kZGVsYXk6IDI1MDsgLy8gIGRlbGF5XG5cbi8vID09PSBEZWZhdWx0cyA9PT09PT1cbiRkYXJrOiAjMUMxQjIxO1xuJGxpZ2h0OiAjRThFOEU5O1xuJGh1bHVHcmVlbjogIzFDRTc4MztcbiRib2R5Q29weURhcms6ICNDNUNBRDM7XG4kYm9keUNvcHlMaWdodDogI0M1Q0FEMztcblxuLy8gPT09IFBsYWNlaG9sZGVycyA9PT09PT1cbiVjcmlzcC10ZXh0IHtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIjE7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuJXNhbnMtc2VyaWYgeyBcbiAgLy9DaGFuZ2UgdG8gR3JhcGhpayBCb2xkXG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1ib2xkJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogLS4wM2VtO1xuICBsaW5lLWhlaWdodDogMTAwJTtcbn1cblxucHtcbiAgbGluZS1oZWlnaHQ6IDEzNSU7XG59XG5cbmJvZHksXG5odG1sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuXG59XG5cbi8vID09PSBQYWdlIFNldHVwID09PT09PVxuYm9keSB7XG4gIEBleHRlbmQgJWNyaXNwLXRleHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICBjb2xvcjogIzA0MDQwNTtcbn1cblxuLnRvcC1iYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDIyNSwyMjUsMjI1LDApLCByZ2JhKDQsNCw1LDEpKTtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbn1cblxuLm1hc3RoZWFkLWJvIHtcbiAgaGVpZ2h0OiA5NXZoO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyOEVBMztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vID09PSA8aDE+IHdyYXBwZXIgPT09PT09XG4uVGl0bGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTpmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udGl0bGUtYm8td3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbn1cbi50aXRsZS1oMi1ibyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi5UaXRsZSB7IFxuICBAZXh0ZW5kICVzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEyOHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMTAwJSkgbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICBhbmltYXRpb246IHJldmVhbFRleHQgJGR1cmF0aW9uK21zIGN1YmljLWJlemllcigwLjcsIDAsIDAuMywgMSkgZm9yd2FyZHMgJGRlbGF5K21zO1xuICBtYXJnaW46MDtcbn1cblxuLy8gPT09IE1hc2sgZWFjaCBsaW5lID09PT09PVxuLlRpdGxlLW1hc2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgXG59XG5cbi8vID09PSBBbmltYXRlIGVhY2ggbGluZSB3aXRoaW4gdGhlIG1hc2sgPT09PT09XG4uVGl0bGUtbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgcGFkZGluZzouM2VtIC4yZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIDEwMCUpIG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgYW5pbWF0aW9uOiByZXZlYWxUZXh0ICRkdXJhdGlvbittcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIGZvcndhcmRzO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTI4cHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbn1cblxuLlRpdGxlLWxlYWRpbmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFuaW1hdGlvbjogcmV2ZWFsTGVhZCAzMDBtcyBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpIGZvcndhcmRzICgoJGRlbGF5KiRsaW5lcykgKyAkZGVsYXkqMS41KSttcztcbn1cblxuXG5cblxuLmFycm93LWRvd24ge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTI4cHg7XG4gIHdpZHRoOiAxMjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYW5pbWF0aW9uOnBvcC1pbiAuNXMgZm9yd2FyZHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMTIwMG1zO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogLjJzIGVhc2U7XG5cblxuJjpob3ZlciB7XG5tYXJnaW4tYm90dG9tOiAtNXB4O1xuYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjk1O1xuXG5cbn1cblxufVxuXG5cblxuXG5cblxuLy8gPT09PT09PT09XG4vLyBGdW5jdGlvbnNcbi8vID09PT09PT09PVxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGluZXMge1xuICAuVGl0bGUtbWFzazpudGgtY2hpbGQoI3skaX0pIC5UaXRsZS1saW5lIHtcbiAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheSAqICRpICsgbXM7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PVxuLy8gQW5pbWF0aW9uc1xuLy8gPT09PT09PT09PVxuXG5Aa2V5ZnJhbWVzIHJldmVhbExlYWQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAxMDAlKSBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpIG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJldmVhbFRleHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAxMDAlKSBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpIG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBvcC1pbiB7XG4gICAwJSB7XG4gICAgIG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMCk7IHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgIH1cblxuICAgNTAlIHtcbiAgICAgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT1cbi8vID09PT09PT09PT09PT1cbi8vIFNlY29uZCBNb2R1bGVcbi8vID09PT09PT09PT09PT1cbi8vID09PT09PT09PT09PT1cblxuLm1vZHVsZSB7XG4gIHBhZGRpbmc6IDY0cHggMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGgye1xuICAgIEBleHRlbmQgJXNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjU2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICAgIH0gIFxuICBwIHtcbiAgICBmb250LWZhbWlseTogYXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6MTAwOyBcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAxdncgMCAwIDA7XG4gIH1cbn1cblxuXG5cbi5tb2R1bGUub25le1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgXG4gIGgyIHtcbiAgICBjb2xvcjogJGxpZ2h0O1xuICB9XG4gIHB7XG4gICAgY29sb3I6ICRib2R5Q29weUxpZ2h0O1xuICB9XG5cbn1cblxuXG5cbi5tb2R1bGUudHdvLCAuYmstc3dpdGNoLWdyZWVue1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuM3M7XG5cbiAgaDIge1xuICAgIGNvbG9yOiAkZGFyaztcbiAgfVxuICBwe1xuICAgIGNvbG9yOiAkZGFyaztcbiAgfVxufVxuXG5cbi5tb2R1bGUtaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCA2NHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdyaWQtZ2FwOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4ubW9kdWxlIHZpZGVvIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIC8vIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGMTA7XG4gIC8vIGN1cnNvcjp1cmwoaHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vZGFxMW01cXRmL2ltYWdlL3VwbG9hZC92MTY2NzU1Mjg1Ni9jdXJzb3JfdG5kanl2LnN2ZyksIGF1dG87XG59XG4ubW9kdWxlLXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk7XG59XG5cblxuXG5cbi5vd2wtYm8ge1xuICBtYXJnaW46IDA7XG5cbiAgLml0ZW0ge1xuICAgIG1hcmdpbjogMTBweDtcbiAgfVxufVxuLm93bC1iby1jYXJkcyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogLTU3cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAtNjJweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogLTkwcHg7XG4gIH1cbn1cbi5vd2wtZG90cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTpmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciB2aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHotaW5kZXg6IDA7XG59XG5cblxuXG4vL2JvdW5kIHNjcm9sbGluZ1xuXG5cblxuLnNjcm9sbC1ib3VuZCB7XG5cdGhlaWdodDogMjUwdmg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XG5cdC5jb250ZW50IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0b3A6MDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIC8vIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICAvLyBwb3NpdGlvbjogLW1vei1zdGlja3k7XG4gICAgLy8gcG9zaXRpb246IC1tcy1zdGlja3k7XG4gICAgLy8gcG9zaXRpb246IC1vLXN0aWNreTtcbiAgICAvLyBwb3NpdGlvbjogc3RpY2t5O1xuXHR9XG5cdFxuXHR2aWRlbyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cdFx0d2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuXHR9XG59XG4udmlkLXRvcCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDE2ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgd2lkdGg6IDkxJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogOTMlO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIH1cbn1cblxuLnZpZC1zaXplIHtcbiAgd2lkdGg6IDgwJTtcbn1cbi5zaXplLWZ1bGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgd2lkdGg6IDEyNSUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEyNSUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDIzMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDIzMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwNXZoO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuLnNpemUtb3JnIHtcbiAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogYXV0bztcbn1cbi52aWQtYmlnLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xufVxuXG4udmlkLWRlc2sge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi52aWQtdGFiIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnZpZC1tb2Ige1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7XG5cbiAgLm1hc3RoZWFkIHtcbiAgaGVpZ2h0OiA5NXZoO1xuICBwYWRkaW5nOiA0OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCRjAwO1xufVxuLm1hc3RoZWFkLWJvIHtcbiAgaGVpZ2h0OiA5NXZoO1xuICBwYWRkaW5nOiA0OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCRjAwO1xufVxuLlRpdGxlIHsgXG4gIGZvbnQtc2l6ZTogOTZweDtcbn1cbi5UaXRsZS1saW5lIHtcbiAgZm9udC1zaXplOiAgOTZweDtcbn1cbi5tb2R1bGUge1xuICAgIHBhZGRpbmc6IDQ4cHggMjRweDtcbiAgaDJ7XG4gICBcbiAgIGZvbnQtc2l6ZTogY2FsYyg0MHJlbSAvIDE2KTtcbiAgICB9XG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XG5cbiAgLm1hc3RoZWFkIHtcbiAgaGVpZ2h0OiA3NXZoO1xuICBwYWRkaW5nOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkFCMERDO1xufVxuLm1hc3RoZWFkLWJvIHtcbiAgaGVpZ2h0OiA5NXZoO1xuICBwYWRkaW5nOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkFCMERDO1xufVxuICAuVGl0bGUgeyBcbiAgZm9udC1zaXplOiA1NnB4O1xufVxuLlRpdGxlLWxpbmUge1xuICBmb250LXNpemU6ICA1NnB4O1xufVxuXG4ubW9kdWxlIHtcbiAgcGFkZGluZzogNDhweCAwO1xuICBoMntcbiAgICAvKiBmb250LXNpemU6OHZ3OyAqL1xuICAgIGZvbnQtc2l6ZTogY2FsYygzMnJlbSAvIDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgfVxufVxuXG4gIC5tb2R1bGUtaGVhZGVyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiAwcHg7XG4gIHBhZGRpbmc6IDAgMjRweDtcbiAgfVxuXG5cblxufVxuXG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQyOHB4KXtcbiAgLm1hc3RoZWFkIHtcbiAgaGVpZ2h0OiA4MHZoO1xuICBwYWRkaW5nOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc0N0ZGO1xufVxuLm1hc3RoZWFkLWJvIHtcbiAgaGVpZ2h0OiA5NXZoO1xuICBwYWRkaW5nOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc0N0ZGO1xufVxuICAuVGl0bGUgeyBcbiAgZm9udC1zaXplOiAxMnZ3O1xufVxuLlRpdGxlLWxpbmUge1xuICBmb250LXNpemU6IDEydnc7XG59XG4ubW9kdWxlIHtcbiAgICBwYWRkaW5nOiA0OHB4IDA7XG4gIGgye1xuICAgIC8qIGZvbnQtc2l6ZTo4dnc7ICovXG4gICAgZm9udC1zaXplOiBjYWxjKDMycmVtIC8gMTYpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59XG5cbi5tb2R1bGUtaGVhZGVyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiAwcHg7XG4gIHBhZGRpbmc6IDAgMjRweDtcbn1cblxufSIsIlxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDcwMCZkaXNwbGF5PXN3YXAnKTtcblxuXG5cbmJvZHksIC5ib2R5LWJrLXRlc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFQUVEICFpbXBvcnRhbnQ7XG59XG5cblxuLmRwLXdyYXAge1xuICBtYXJnaW46IDEyMHB4IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZHAtc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4uZHAtc2xpZGVyIGRpdiB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi5kcF9pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEuMnM7XG5cbn1cblxuLmRwLWltZyBpbWcge1xuLyogYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmOyAqL1xufVxuXG4jZHAtc2xpZGVyIC5kcF9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgei1pbmRleDogMTAgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHRyYW5zbGF0ZVgoMHB4KSAhaW1wb3J0YW50O1xufVxuXG4uZHBfaXRlbVtkYXRhLXBvc2l0aW9uPVwiMlwiXSB7XG4gIHotaW5kZXg6IDk7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVYKDEwJSkgc2NhbGUoMC45KTtcbn1cblxuLmRwX2l0ZW1bZGF0YS1wb3NpdGlvbj1cIjNcIl0ge1xuICB6LWluZGV4OiA4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZykgdHJhbnNsYXRlWCgyMCUpIHNjYWxlKDAuOCk7XG59XG5cbi5kcF9pdGVtW2RhdGEtcG9zaXRpb249XCI0XCJdIHtcbiAgei1pbmRleDogNztcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpIHRyYW5zbGF0ZVgoMzAlKSBzY2FsZSgwLjcpO1xufVxuXG4jZHAtbmV4dCxcbiNkcC1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDcwJTtcbiAgaGVpZ2h0OiAyN3B4O1xuICB3aWR0aDogMTZweDtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2RwLXByZXYge1xuICBsZWZ0OiAxNXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4jZHAtZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyNXB4O1xuICB6LWluZGV4OiAxMjtcbiAgbGVmdDogMzglO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbiNkcC1kb3RzIGxpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcblxufVxuXG4jZHAtZG90cyBsaTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xufVxuXG4jZHAtZG90cyBsaS5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG59XG5cbi5kcF9pdGVtIHtcbiAgd2lkdGg6IDg1JTtcbn1cblxuLmRwLWNvbnRlbnQsXG4uZHAtaW1nIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmRwX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4uZHAtY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kcC1jb250ZW50IGgyIHtcbiAgY29sb3I6ICM0MTQxNGI7XG4gIGZvbnQtZmFtaWx5OiBDaXJjdWxhciBTdGQgQm9sZDtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBtYXgtd2lkdGg6IDQ2MHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmRwLWNvbnRlbnQgcCB7XG4gIGNvbG9yOiAjNzQ3NDdmO1xuICBtYXgtd2lkdGg6IDQ5MHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5kcC1jb250ZW50IC5zaXRlLWJ0biB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZzogMTlweCA0MHB4O1xufVxuXG5cbi5kcC1pbWcgaW1nIHtcbi8qIG9iamVjdC1maXQ6IGNvdmVyO1xub2JqZWN0LXBvc2l0aW9uOiByaWdodDsgKi9cbn1cblxuI2RwLXNsaWRlcixcbiAgLmRwLWltZyBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbn1cblxuI2RwLXNsaWRlciAuZHBfaXRlbTpob3Zlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNpdGUtYnRuIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IFwiQ2lyY3VsYXIgU3RkIE1lZGl1bVwiO1xuICBiYWNrZ3JvdW5kOiAjMTYxODFEO1xuICBwYWRkaW5nOiAxNHB4IDMzcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaXRlLWJ0bjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50ZXN0aW1vbmlhbC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRlc3RpbW9uaWFsLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgY29sb3I6ICMxNjE4MUQ7XG4gIGxpbmUtaGVpZ2h0OiA0Ni40cHg7XG4gIHdpZHRoOiA0NzBweDtcbiAgbWFyZ2luOiAtNDUwcHggMCAwIC0xNTBweDtcbn1cblxuLnRlc3RpbW9uaWFsLW5hbWUge1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBmb250LWZhbWlseTogJ0dyYXBoaWsnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIFxuICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIFxuICAvKiBCYXNlL0dyZXktOTAwICovXG4gIFxuICBjb2xvcjogIzU4NjE3NDtcbn1cbi50ZXN0aW1vbmlhbC1udW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5cbi5kcC1hcnJvd3Mtd3JhcHBlciB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MjdweDtcbiAgcmlnaHQ6IC03MCU7XG4gIHRvcDogNDkwcHg7XG4gIGxlZnQ6IGF1dG87XG59XG4uZHAtYXJyb3dzLWNvbnRhaW5lciB7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KXtcbiAgLmRwLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZHBfaXRlbSB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxuXG4gICNkcC1kb3RzIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgI2RwLWRvdHMgbGkuYWN0aXZlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgI2RwLXNsaWRlcixcbiAgLmRwLWltZyBpbWcge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbC1oZWFkZXIge1xuICAgIHdpZHRoOiA0NzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgLmRwLWFycm93cy13cmFwcGVyIHtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcC1hcnJvd3MtY29udGFpbmVyIHtcbiAgICByaWdodDogLTcwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tdG9wOiA0MDBweDtcbiAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XG4gIC5kcC1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmRwX2l0ZW0ge1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cblxuICAjZHAtZG90cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICNkcC1kb3RzIGxpLmFjdGl2ZSB7XG4gICAgd2lkdGg6ICAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gIH1cblxuICAjZHAtc2xpZGVyLFxuICAuZHAtaW1nIGltZyB7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbC1oZWFkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMzcwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLmRwLWFycm93cy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA0ODBweDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIC5kcC1hcnJvd3MtY29udGFpbmVyIHtcbiAgICByaWdodDogLTcwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW4tdG9wOiA0MDBweDtcbiAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDI4cHgpe1xuICAuZHAtc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuXG4gIC5kcF9pdGVtIHtcbiAgICB3aWR0aDogOTUlO1xuICB9XG5cbiAgI2RwLWRvdHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6ICBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAjZHAtZG90cyBsaS5hY3RpdmUge1xuICAgIHdpZHRoOiAgMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgfVxuXG4gICNkcC1zbGlkZXIsXG4gIC5kcC1pbWcgaW1nIHsgXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFsLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG5cbiAgLmRwLWFycm93cy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA0MjBweDtcbiAgfVxuICAuZHAtYXJyb3dzLWNvbnRhaW5lciB7XG4gICAgcmlnaHQ6IC03MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWFyZ2luLXRvcDogNDAwcHg7XG4gIH1cbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDE2MDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMwNDA0MDUsXG4gIHNlY29uZGFyeTogI0ZGRkZGRixcbiAgdGVydGlhcnk6ICMxY2U3ODMsXG4gIHN1Y2Nlc3M6ICMxNzZFRTEsXG4gIHdhcm5pbmc6ICNGQUFDMTEsXG4gIGFsZXJ0OiAjREExQjRCLFxuKTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzg4ODg4ODtcbiRtZWRpdW0tZGFyay1ncmF5OiAjNUU2NTczO1xuJGJsYWNrOiAjMTUxNTE1O1xuJGJsYWNrLWxpZ2h0OiAjMjEyMTIxO1xuJGJsYWNrLWRyazogIzAwMDAwMDtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRkYXJrLXdoaXRlOiAjRjdGOEZBO1xuJGdyZWVuOiAjMWNlNzgzO1xuJGJsdWU6ICMzQzg4RUI7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0dyYXBoaWstUmVndWxhcicsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQtYm9sZDogJ0dyYXBoaWstQm9sZCcsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDRweDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRwcmludC1ocmVmczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODBweCxcbiAgeHhsYXJnZTogMTYwMHB4LFxuXG4gIC8vIHh4c21hbGw6MCxcbiAgLy8geHNtYWxsOjM3NSxcbiAgLy8gc21hbGw6IDc2OHB4LFxuICAvLyBtZWRpdW06IDEwMjRweCxcbiAgLy8gbGFyZ2U6IDEyODBweCxcbiAgLy8geGxhcmdlOiAxNjAwcHgsXG4gIC8vIHh4bGFyZ2U6IDE5MjBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbi8vIEdsb2JhbFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IDYwMDtcbiRidXR0b24tdGV4dC1kZWNvcmF0aW9uOiB1cHBlcmNhc2U7XG4kYnV0dG9uLXBhZGRpbmc6IDFlbSAyLjZlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG5cbi8vIGxpZ2h0bW9kZSBwcmltYXJ5XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRibGFjaztcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAxNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tYm9yZGVyLWFsdDogMXB4IHNvbGlkICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgc21hbGw6IDAuNjI1cmVtLFxuICBtZWRpdW06IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuODc1cmVtLFxuICBsYXJnZTogMC44NzVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogdHJ1ZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cblxuXG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgLmNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAuY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtZyl9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkcGFyc2VkLW5vbWluYXRvciAvICRwYXJzZWQtZGVub21pbmF0b3IpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkgLyAyKTtcbiAgICAkb2Zmc2V0OiBpZigkZ3V0dGVyID09IDAsICRzaXplLCBjYWxjKCN7JHNpemV9ICsgI3skZ3V0dGVyfSkpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAkbixcbiAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gJGJyZWFrcG9pbnQ6IG51bGwsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwsICd0b3AnLCAkZ2xvYmFsLWxlZnQpO1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oJGJyZWFrcG9pbnQsICRtZWRpYS1xdWVyaWVzOiAnZm9yLWxpc3RzJykge1xuICAgICRvZmZzZXQ6IHh5LWNlbGwtb2Zmc2V0KCRuLCAkZ3V0dGVycywgJGd1dHRlci10eXBlKTtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skb2Zmc2V0fTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBzaXplIHRvIHVzZSBhcyBkZWZhdWx0XG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tc2l6ZVxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVXNlZCB0byBnZW5lcmF0ZSBzaXppbmcgbW9kaWZpZXJzLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVzZSBieSBkZWZhdWx0IHRoZSBwbGFjZWhvbGRlciBvZiB0aGUgZGVmYXVsdCBzaXplXG4gICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcHJldmlvdXMgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBuZXh0IGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctbmV4dDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgcGFkZGluZyBmb3IgYWxpZ25pbmcgdGhlIGFycm93IGNvcnJlY3RseS5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3Igc3ViLW1lbnUgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtLiBFeHBsaWNpdCBvdmVycmlkZSBmb3IgbWVudSBkZWZhdWx0c1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gT3BhY2l0eSB0byBlbmQgb24uIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbFxuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScpLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIi5wcmVsb2FkZXJ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYW9vbTFkNDF1NWhtem43Zno1YS1odWx1LWxvZ28tNGJlYXQtYnVpbGQtYWxwaGEtdjAxLmZ1bGwuZ2lmJykgY2VudGVyIG5vLXJlcGVhdCAjMDQwNDA1O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCU7XG4gICAgfVxufSIsIi5wcmVsb2FkZXItaHVsdXdlZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzaHpqNnZvNDFhNTF1ZDQzajd5bHhpdC1sb2dvLWh1bHV3ZWVuLWdybi5zdmcnKSBjZW50ZXIgbm8tcmVwZWF0ICMwNDA0MDU7XG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiAzNzVweCAhaW1wb3J0YW50O1xuICBcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMCU7XG4gICAgfVxufVxuLnByZWxvYWRlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDM3NXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAzNzVweDtcbiAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxufVxuXG4ucHJlbG9hZGVyLWF1ZGlvLXBhdXNlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzdXR4YnVkMjk0MjF2M2RvcnJpeDE0Ny1pY29uLXByZWxvYWRlci10dXJuLW9uLWF1ZGlvLnN2ZycpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxODhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDJweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdG9wOiAxMTAlO1xufVxuLnByZWxvYWRlci1hdWRpby1wbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzdXR4YnUyMjRnYTF2N2gzOGpmcXpmYy1pY29uLXByZWxvYWRlci10dXJuLW9mZi1hdWRpby5zdmcnKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTg4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQycHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRvcDogMTEwJTtcbn0iLCIucHJvZ3Jlc3MtYmFyX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogLjNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIGJhY2tncm91bmQ6ICM2MjYyNjI7XG4gICAgbWFyZ2luOiA1NXB4IDA7XG4gIH1cbiAgXG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNlNzgzO1xuICAgIHRvcDowO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgfVxuICBcbiAgLnByb2dyZXNzLWJhcl9fdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAiLCIuY292ZXItZGlyZWN0aW9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5O1xuXG4gICAgaDIge1xuXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiA2cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9IFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH0gXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cbiN0YXJnZXQge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgfVxuICBcbiAgLkhpZGVcbiAge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAuY292ZXItZXhwbG9yZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTVyZW07XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgfVxuICB9XG4gIC5jb3Zlci1hdWRpby1ub3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQuNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgIH0gXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICB9IFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogMTZyZW07XG4gICAgICB9IFxuICB9XG4gIC5jb3Zlci1jbG9zZS1ub3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHJlbTtcbiAgICAgIHJpZ2h0OiA1JTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgdG9wOiA2cmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0b3A6IDEwcmVtO1xuICAgICAgfVxuXG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnJyk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAuN3JlbTtcbiAgICAgIH1cbiAgfSIsIi5yZXZlYWwge1xuICAgIHBhZGRpbmc6IDJlbSAzZW0gM2VtIDNlbTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNTUlO1xuICAgIH1cbiAgfVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEsIDIxLCAyMSwgMC45KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMjEsIDIxLCAwLjg1KTtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4IDA7XG4gIH1cbiAgLm1vZGFsLW5vdGVzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIC5tb2RhbC1wcmljZSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICB9XG4gIC5tb2RhbC1jb3B5IHtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICM2Qjc3OTA7XG4gIH1cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcmVtO1xuICAgIHJpZ2h0OiA1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgdG9wOiA2cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0b3A6IDEwcmVtO1xuICAgIH1cblxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnJyk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogLjdyZW07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICB9XG4gIFxuICAubW9kYWwtd3JhcHBlciB7XG4gICAgei1pbmRleDogOTk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAwXG4gICAgfVxuXG4gIH1cbiAgLm15VmlkZW8ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTsgbGVmdDogNTAlO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IDcwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgdG9wOiA1MCU7IGxlZnQ6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRvcDogNTAlOyBsZWZ0OiA1MCU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbiAgLm15VmlkZW9MZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWluLWhlaWdodDogMTIwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIC5teVZpZGVvQmcge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE0MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWluLWhlaWdodDogMTQwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWluLWhlaWdodDogMTQwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICB9XG4gIH1cbiAgXG4gIC5tb2RhbC1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHRyYW5zcGFyZW50LCBibGFjayk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5tb2RhbC1jb3Zlci1odWx1d2VlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAubW9kYWwtaW5mby13cmFwcGVyIHtcbiAgICB6LWluZGV4OiA5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgLy8gYWxpZ24tY29udGVudDogZW5kO1xuICAgICAgLy8gcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAwIDJyZW0gMDtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjhyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBsaW5lLWhlaWdodDogLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgaDQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tb2RhbC1pbWctbmV0d29yayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxODBweDtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICByaWdodDogNSU7XG4gICAgICBib3R0b206IDk1cHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICByaWdodDogNSU7XG4gICAgICBib3R0b206IDk1cHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHJpZ2h0OiAxODBweDtcbiAgICAgIGJvdHRvbTogOThweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICB9XG5cbiAgfVxuICAubW9kYWwtaW1nLXNob3d0aW1lIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2xreGp5M2x3NDF2NmJsdjA4cXN4bS1zaG93dGltZS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWltZy1odWx1IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2xzcHplYjJ2ODF2N2gxbGgzZXdjYS1odWx1LmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuICAubW9kYWwtaW1nLWhib21heCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdThtcWoxOWNleGcxdmFjMWtjMXVrb3ctaGJvLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNDNweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNDNweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDQzcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuICAubW9kYWwtaW1nLWZ4bSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdTdscmFlaGIydGExdjdoYWszbTJzZ2ctZnhtLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuICAubW9kYWwtaW1nLWFtYyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdTdsb3o1ODNtMWcxdjZiczhlZTU2NGctYW1jLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuICAubW9kYWwtaW1nLWZ4IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N2x4cnA3M21jeDF2NmJmamtsMmt6ei1meC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWltZy1mb3gge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bTE2ZmQzbWI0MXY5dWIzd3prcTV5LWZveC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDQ5cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDQ5cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWltZy11c2Ege1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bWwyb2Uzbjc4MXY2YmNqcGF0YnowLXVzYS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDQ5cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDQ5cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWltZy1jYnMge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3U3bW53aDkzbjE4MXZha2ZodGNlMG9xLWNicy5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDQ5cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDQ5cHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA0OXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICB9XG4gIH1cbiAgXG4gIC5tb2RhbC1idG4td2F0Y2gge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZmZmZjtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAyMDhweDtcbiAgICAgIHBhZGRpbmc6IDZweCAyMHB4XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICB3aWR0aDogMjMwcHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuICAubW9kYWwtYnRuLWNzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLXNsaWRlci13cmFwcGVyIHtcbiAgICB3aWR0aDogMTI5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiA5O1xuICAgIGJvdHRvbTogOTBweDtcbiAgfVxuICAuc2xpZGVyLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMnB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDUxcHg7XG4gIH1cbiAgLnNsaWRlci1hcnJvdywgLnNsaWRlci1pbmZvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG4gIC5zbGlkZXItYXJyb3cge1xuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuICB9XG4gIC5zbGlkZXItYXJyb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdDM4ZWVwazN6aTMxdjNkYXBpZm1ycTgtaWNvbi1sZWZ0LXNsaWRlci5zdmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc2xpZGVyLWFycm93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0MzhlM3dyM3pobTF2M2Q5OGlraDE2ei1pY29uLXJpZ2h0LXNsaWRlci5zdmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG5cbiAgLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICB9IiwiQG1peGluIGZsZXgoJGRpciwgJGp1czogZmxleC1zdGFydCwgJGFsaTogZmxleC1zdGFydCwgJHdyYXA6IG5vd3JhcCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXI7XG4gICAganVzdGlmeS1jb250ZW50OiAkanVzO1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpO1xuICAgIGZsZXgtd3JhcDogJHdyYXA7XG4gIH1cbiAgXG4gIFxuXG4gIC5mcmFtZSB7XG4gICAgd2lkdGg6IDM2MHB4O1xuICAgIGhlaWdodDogNjQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgXG4gIC5pbWctbGF5ZXIsIC5pbWctbGF5ZXItMSwgLmltZy1sYXllci0yLCAuaW1nLWxheWVyLTMsIC5pbWctbGF5ZXItNCwgLmltZy1sYXllci01LCAuaW1nLWxheWVyLTYsIC5pbWctbGF5ZXItNywgLmltZy1sYXllci04LCAuaW1nLWxheWVyLTksIC5pbWctbGF5ZXItMTAsIC5pbWctbGF5ZXItMTEsIC5pbWctbGF5ZXItMTIsIC5pbWctbGF5ZXItMTMsIC5pbWctbGF5ZXItMTQsIC5pbWctbGF5ZXItMTUsIC5pbWctbGF5ZXItMTYsIC5pbWctbGF5ZXItMTcsIC5pbWctbGF5ZXItMTgsIC5pbWctbGF5ZXItMTksIC5pbWctbGF5ZXItMjAsIC5pbWctbGF5ZXItMjEsIC5pbWctbGF5ZXItMjIsIC5pbWctbGF5ZXItMjMsIC5pbWctbGF5ZXItMjQsIC5pbWctbGF5ZXItMjUsIC5pbWctbGF5ZXItMjYsIC5pbWctbGF5ZXItMjcsIC5pbWctbGF5ZXItMjgsIC5pbWctbGF5ZXItMjksIC5pbWctbGF5ZXItMzAge1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAmLS0xIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTtcbiAgICB9XG4gICAgJi0tMiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgICBhbmltYXRpb246XG4gICAgICAgIGJsaW5raW5nIDAuM3MgZWFzZS1vdXQgaW5maW5pdGUsXG4gICAgICAgIGdsaXRjaC1hbmltLWhvcml6b250YWwgNXMgbGluZWFyIGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB9XG4gICAgJi0tMyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xuICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xuICAgICAgYW5pbWF0aW9uOlxuICAgICAgICBnbGl0Y2gtYW5pbS1ob3Jpem9udGFsIDJzIGxpbmVhciBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgfVxuICAgICYtLTQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTtcbiAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgZ2xpdGNoLWFuaW0taG9yaXpvbnRhbCAwLjhzIGVhc2UgaW5maW5pdGUgYWx0ZXJuYXRlO1xuICAgIH1cbiAgICAmLS01IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMSUsIDEwMCUgMSUsIDEwMCUgMCk7XG4gICAgICBhbmltYXRpb246XG4gICAgICAgIGJsaW5raW5nIDFzIGxpbmVhciBpbmZpbml0ZSxcbiAgICAgICAgZ2xpdGNoLWFuaW0tdmVydGljYWwgM3MgZWFzZSBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgfVxuICAgICYtLTYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTtcbiAgICAgIGFuaW1hdGlvbjpcbiAgICAgICAgYmxpbmtpbmcgMC44cyBsaW5lYXIgaW5maW5pdGUsXG4gICAgICAgIC8vIGdsaXRjaC1hbmltLXJpZ2h0IDVzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG4gICAgJi0tNyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG4gICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgICBhbmltYXRpb246XG4gICAgICAgIGJsaW5raW5nIDAuOHMgMS40cyBsaW5lYXIgaW5maW5pdGUsXG4gICAgICAgIGdsaXRjaC1hbmltLWxlZnQgNXMgbGluZWFyIGluZmluaXRlOztcbiAgICB9XG4gIH1cbiAgXG4gIC8vIGFuaW1hdGlvbnNcbiAgQGtleWZyYW1lcyBibGlua2luZyB7XG4gICAgMCUgeyBvcGFjaXR5OiAwLjI1OyB9XG4gICAgNzAlLCAxMDAlIHsgb3BhY2l0eTogMDsgfVxuICB9XG4gIFxuICBAa2V5ZnJhbWVzIGdsaXRjaC1hbmltLXJpZ2h0IHtcbiAgICB0byB7IGxlZnQ6IDIlOyB0b3A6IC0xJTsgfVxuICB9XG4gIFxuICBAa2V5ZnJhbWVzIGdsaXRjaC1hbmltLWxlZnQge1xuICAgIHRvIHsgcmlnaHQ6IDIlOyBib3R0b206IC0xJTsgfVxuICB9XG4gIFxuICBAa2V5ZnJhbWVzIGdsaXRjaC1hbmltLWhvcml6b250YWwge1xuICAgIDAlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAgMTAwJSwgMiUgMTAwJSwgMiUgMCk7XG4gICAgfVxuICAgIDEwJSB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMzUlIDAsIDM1JSAxMDAlLCAzNyUgMTAwJSwgMzclIDApO1xuICAgIH1cbiAgICAyNSUge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDI1JSAwLCAyNSUgMTAwJSwgMjclIDEwMCUsIDI3JSAwKTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigzNSUgMCwgMzUlIDEwMCUsIDM3JSAxMDAlLCAzNyUgMCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNzUlIDAsIDc1JSAxMDAlLCA3NyUgMTAwJSwgNzclIDApO1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDY1JSAwLCA2NSUgMTAwJSwgNjclIDEwMCUsIDY3JSAwKTtcbiAgICB9XG4gICAgNzUlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigzNSUgMCwgMzUlIDEwMCUsIDM3JSAxMDAlLCAzNyUgMCk7XG4gICAgfVxuICAgIDg1JSB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oODUlIDAsIDg1JSAxMDAlLCA4NyUgMTAwJSwgODclIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDApO1xuICAgIH1cbiAgfVxuICBcbiAgQGtleWZyYW1lcyBnbGl0Y2gtYW5pbS12ZXJ0aWNhbCB7XG4gICAgMCUge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMCAxJSwgMTAwJSAxJSwgMTAwJSAwKTtcbiAgICB9XG4gICAgMTAlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDIwJSwgMCAyMSUsIDEwMCUgMjElLCAxMDAlIDIwJSk7XG4gICAgfVxuICAgIDI1JSB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCA3NSUsIDAgNzYlLCAxMDAlIDc2JSwgMTAwJSA3NSUpO1xuICAgIH1cbiAgICA0MCUge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNDAlLCAwIDQxJSwgMTAwJSA0MSUsIDEwMCUgNDAlKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDkwJSwgMCA5MSUsIDEwMCUgOTElLCAxMDAlIDkwJSk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCA4MCUsIDAgODUlLCAxMDAlIDg1JSwgMTAwJSA4MCUpO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMzIlLCAwIDMzJSwgMTAwJSAzMyUsIDEwMCUgMzIlKTtcbiAgICB9XG4gICAgODUlIHtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDY1JSwgMCA2NiUsIDEwMCUgNjYlLCAxMDAlIDY1JSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDM1JSwgMCA1MCUsIDEwMCUgNTAlLCAxMDAlIDM1JSk7XG4gICAgfVxuICB9XG4gICIsIi50aXRsZS1iYXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjay1kcms7XG4gICAgfVxuICB9XG4gIC50aXRsZS1iYXItaW1hZ2UsIC5tZW51LWxvZ28ge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja2w5dTJqNXYyOTZ6MXU2cHRyZTlmYTI4LWxvZ28taHVsdS1ncmVlbi5zdmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gIH1cbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICB9XG4gIH1cbiAgLm1lbnUtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICAuc3RpY2t5LXRvcGJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICB9XG4gIC50b3AtYmFyLCAudG9wLWJhciB1bCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG4gIH1cbiAgLnRvcC1iYXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoNCw0LDUsMCksIHJnYmEoNCw0LDUsMSkpO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgYmFja2dyb3VuZDogIzA0MDQwNTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICAudG9wLWJhci1ibGFuayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IC43NXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IFx0MC44NzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYzcmVtO1xuICAgIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgIH1cbiAgfVxuICAubWVudSBhLCAubWVudSBhLmJ1dHRvbntcbiAgICBwYWRkaW5nOiAwLjlyZW0gMXJlbTsgXG4gIH1cbiAgLm1lbnUtbG9nbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOztcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5tZW51IGxpIGltZyB7XG4gICAgbWFyZ2luOiAtNXB4IDAgMCAxcmVtO1xuICB9XG5cbiAgLmJ1dHRvbi1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkYmxhY2stZHJrICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAuODtcbiAgICAgIH1cbiAgIH1cbiAgIC5uYXYtYnRuIHtcbiAgICAgY29sb3I6ICRibGFjay1kcmsgIWltcG9ydGFudDtcbiAgIH1cbiAgIC5idXR0b24tbWVudS1tYW5hZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgbWFyZ2luLWJvdHRvbTogLTQwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICB9XG4gIC5kcm9wZG93bi1kZXNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfSBcbiAgfVxuICAuZHJvcGRvd24tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0gXG59XG4uZHJvcGRvd24tZGVzay1zdWIgYSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICB3aWR0aDogMTk1cHggIWltcG9ydGFudDtcbiAgfSBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogMTk1cHggIWltcG9ydGFudDtcbiAgfSBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHdpZHRoOiAxOTVweDsgXG4gIH0gXG59XG4uc3lmdC1ub3RlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpaycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG9wYWNpdHk6IC44O1xuICBsZXR0ZXItc3BhY2luZzogLS4xcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW46IDRweCAwIDAgMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogNHB4IDAgMCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW46IDRweCAwIDAgMDtcbiAgfVxufVxuICAvL05hdiBTdHlsaW5nIENoYW5nZVxuLnBhc3QtbWFpbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiM0NDQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIC5tZW51LWxvZ28ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tmNDl6b2puOWkxejE4NGE4YWpyY3N5Zy1sb2dvLWh1bHUuc3ZnJykgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIFxuICAgIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICAgIH1cbiAgICBhLmJ1dHRvbi1tZW51IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1kcmsgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdi1idG4ge1xuICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnN5ZnQtbm90ZSB7XG4gICAgICBjb2xvcjogJGJsYWNrLWRyaztcbiAgICB9XG4gIH1cblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gRU5EIE9GIFNUSUNLWSBOQVYgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIiwiLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgIH1cbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMzMlO1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogMTYlO1xuICAgIH1cbiAgfVxuICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7XG4gICAgcGFkZGluZzogN3JlbSAuM3JlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogN3JlbSAxLjVyZW07XG4gICAgfVxuICBcbiAgICAuZ3JpZC1kcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLWRyaztcbiAgICB9XG4gICAgLmdyaWQtdGl0bGUge1xuICAgICAgbWFyZ2luOiA1cmVtIDAgMnJlbSAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogN3JlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZ3JpZC1yb3cge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggJGxpZ2h0LWdyYXk7XG4gIFxuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luOiAwIDVyZW07XG4gICAgfVxuICB9XG4gIC5ncmlkLWNoYXJ0IC5jZWxsIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgfVxuICBcbiAgLmdyaWQtc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1ib2xkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuICAuZ3JpZC1idXR0b24ge1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjlyZW0gLjVyZW0gIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuOXJlbSAxNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm5vdGUtdHJpYWwge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMC40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuICB9XG4gIC5ub3RlLXByaWNlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICRibGFjay1saWdodDtcbiAgfVxuICBcbiAgLm5vdGUtdHh0IHtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICAubW9zdC1wb3B1bGFyIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuICAuaWNvbi1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cbiAgLnN0cm9uZy1wbGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMDsgXG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIFxuICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IFxuICAgIH1cbiAgfVxuICAubW9zdC1wb3B1bGFyLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAwLjRyZW0gMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgfVxuICB9XG4gIFxuICAubm90ZS1ncmlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5oYWxmLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5saWdodC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrLWRyazsgXG4gIFxuICAgIC5ncmlkLWRyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay13aGl0ZTtcbiAgICB9XG4gICAgLmJ1dHRvbi1kcmsge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1kcms7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1kcms7XG4gICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICAucXVlc3Rpb25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogLTVyZW07XG4gIH1cbiAgLnF1ZXN0aW9ucy10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICB9XG5cbiAucHJpY2UtbmFtZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICB9XG4gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxuIH0iLCIuYWNjb3JkaW9uLWNvbnRlbnQsIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMnJlbSA1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJsYWNrLWRyaztcbiAgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja2xyNXR6d2o1dXlpMWpiMGhwOHN2c3BkLWljb24tYWRkb24tc2hvdy5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAuYWNjX19hY3RpdmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrbHI1dHp0ZzV1amUxamFvbzhsN3hnZXQtaWNvbi1hZGRvbi1oaWRlLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5hY2NvcmRpb24tdGl0bGUtcXVlc3Rpb25zIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgfVxuICB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbiAgLmFjY29yZGlvbi10aXRsZS1xdWVzdGlvbnM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDp1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tsYTBoeTJzMmhpMjF1ODdrY2wzcGVpZy1pY29uLXBsdXMuc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyBcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0OHB4O1xuICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuICB9XG4gIFxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZS1xdWVzdGlvbnM6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDp1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tsYTBoeTJxMmhubzF1OHNud3libHNwYi1pY29uLW1pbnVzLnN2ZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDsgIFxuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLmFjY29yZGlvbi1jb250ZW50LXF1ZXN0aW9ucyB7XG4gICAgY29sb3I6ICRtZWRpdW0tZGFyay1ncmF5O1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHdpZHRoOiA4MCU7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi11bCB7XG4gICAgbWFyZ2luOiAycmVtIDAgIDFyZW0gMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTpkaXNjIDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICB9XG4gIC5hY2Mge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5hY2NfX3RpdGxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmFjY19fY2FyZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYWNjX19wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuYWNjb3JkaWFuLW5vdGUge1xuICAgIGNvbG9yOiAkbWVkaXVtLWRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IC43cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuICAiLCIudGFicywgLnRhYnMtY29udGVudCwgLnRhYnMtcGFuZWwsIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSwgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cbi50YWJzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICBvdmVyZmxvdzogaGlkZGVuOyBcbiAgICBwYWRkaW5nOiAwIDAgN3JlbSAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDdyZW0gMTFyZW07XG4gICAgfVxufVxuLnRhYnMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIFxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuLnRhYnMtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5NTBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjElO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2JTtcbiAgICB9XG59XG4udGFicy1jb250ZW50LWNlbnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbn1cbi50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG4udGFicy10aXRsZS10aHJlZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzMlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gICAgY29sb3I6ICM2ODY4Njk7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDFyZW0gMS4yNXJlbSAxcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDEuMjVyZW0gMXJlbSAyLjI1cmVtIDFyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDFyZW0gMi4yNXJlbSAxcmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRncmVlbjtcbiAgICAgICAgY29sb3I6ICM2ODY4Njk7XG4gICAgfVxufVxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGdyZWVuO1xufVxuXG4udGFicy1wYW5lbCBwIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cbnRoZWFkLCB0Ym9keSwgdGZvb3QsIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnRhYmxlIHRkLCAudGFibGUgdGgge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBwYWRkaW5nOiAxLjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cbi5yb3ctMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG50Ym9keSB0aCwgdGJvZHkgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgICBcblxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgICBcbn1cbi5yb3ctdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1ib2xkO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkd2hpdGU7XG59XG4ucm93LXRpdGxlLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmhlYWRsaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG59XG4ucm93LWxvY2sge1xuICAgIHdpZHRoOiA0MHB4O1xufVxuLnRhYnMtbm90ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5yb3ctb25lIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA2NSU7ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgfVxufSIsIiNzcGxhc2hzY3JlZW4sICNpbnRybyB7XG4gICAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvYmstaW50cm8ucG5nJykgIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDc1MHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuI3NwbGFzaHNjcmVlbiB7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgXG4gICAgcHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyAgXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4OHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyAgXG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyAgXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxvZ28taHVsdXdlZW4ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuI2ludHJvIHtcbiAgICB6LWluZGV4OiA5OTk5O1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODhyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgICAgIH0gXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgfSBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmludHJvLXNjcmVlbiB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZjIzZnByMmwyZDF2NWllenBiYWI3di1zcGVjdHJhbC11bHVoLWNsb3NlLW1vYmlsZS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IDA7XG4gICAgLy8gICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLy8gfSBcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZjIzZnByMmwyZDF2NWllenBiYWI3di1zcGVjdHJhbC11bHVoLWNsb3NlLW1vYmlsZS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC8vIH0gXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC8vICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YW95OGR2MGtlZTF3NDl4NXNtc2NhdS1zcGVjdHJhbC11bHVoLWNsb3NlLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC8vIH0gXG4gIH1cbiAgI3NwbGFzaHNjcmVlbiwgI2ludHJvIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtZmFtaWx5OiAnSHVsdXdlZW4tU2Fucyc7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dzUyem15b3ZnbDF2MW40OHAyYWliZi1iZy12ZWlsLWdyYWQtMi1tb2JpbGUzLmZ1bGwuanBnJykgbm8tcmVwZWF0O1xuICAgICAgICBoZWlnaHQ6IDEwMXZoO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHZvcnc2ZG9hMGsxdjZ4Nm8wNTdva2ctYmctdmVpbC1ncmFkLTItM3guZnVsbC5qcGcnKSBuby1yZXBlYXQ7XG4gICAgICAgIGhlaWdodDogMTAxdmg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnJykgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gIH0iLCIub3dsLWNhcm91c2VsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTRyZW07XG59XG4ub3dsLXNob3J0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5vd2wtaXRlbS5hY3RpdmUgPiBkaXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIC5vd2wtaXRlbS5jZW50ZXIgPiBkaXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIC5vd2wtaXRlbS5hY3RpdmUuY2VudGVyID4gZGl2OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICAub3dsLWl0ZW0gPiBkaXY6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLy8gYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIC8vIG1hcmdpbjogLTJweCAwIC01cHggMDtcbiAgICB9XG4gIH1cblxuICAub3dsLWNhcm91c2VsLWJvbm4ge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgLy8gbWFyZ2luLXRvcDogLTVyZW07ICBcbiAgICAgIG1hcmdpbi10b3A6IDByZW07IC8vbm8gbGluZS11cFxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy8gbWFyZ2luLXRvcDogLTVyZW07ICBcbiAgICAgIG1hcmdpbi10b3A6IDByZW07IC8vbm8gbGluZS11cFxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAtNXJlbTsgIFxuICAgICAgbWFyZ2luLXRvcDogLTlyZW07IC8vbm8gbGluZS11cFxuICAgIH1cbiAgfVxuICAub3dsLWNhcm91c2VsLWJvbm4gLm93bC1pdGVtIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIH1cbiAgfVxuICBcbiAgLnNob3dzLWdvdG8tY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG4gIC5zaG93cy1nb3RvLWNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAub3dsLWl0ZW06bnRoLW9mLXR5cGUoZXZlbikgLnNob3dzLWdvdG8tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG4gIC5zaG93cy1nb3RvLWNvbnRhaW5lciBpbWc6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICBcbiAgIiwiLy9zaGFyZVxuI3NoYXJlLWV4YW1wbGUge1xuICAgIG1hcmdpbjogMCAwIC40cmVtIDA7XG59XG4uYjFzZmt2d3Age1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xufVxuLmR0dXd4dTYge1xuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uYjFheXoxMW06aG92ZXIsIC5iMWF5ejExbTphY3RpdmUsIC5iMWN0czZoZiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiAgICBcbi5idzR6cnhvOmFmdGVyOmhvdmVyLCAucHkybnRtbDphZnRlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmNuMDJhOHg6aG92ZXIge1xuICAgIGNvbG9yOiAjMDQwNDA1ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogLjcgIWltcG9ydGFudDtcbn1cbi5tMWxwcDYwdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5hMTZwNmZoYyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5iYXA5bGZnIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZHR1d3h1NiB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjQxYndpZ29sd3ExdTZudGxocXZxeHYtYnRuLXNoYXJlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xufVxuLmx6cDl4NTAge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG4uYmJsa2k5IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDQwNDA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgIH1cbn1cbi5memFod2V0IHtcbiAgICBmbGV4LXdyYXA6IG5vLXdyYXAgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmI2Z2Z3N2k6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG59XG4uYzFrNm1ycm0ge1xuICAgIGNvbG9yOiAjMDQwNDA1ICFpbXBvcnRhbnQ7XG59XG4ubTF0cmN1NGkrLm0xdHJjdTRpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxufVxuLmhtZ3Y0dTIgc3ZnOmhvdmVyLCAuaG1ndjR1MiBpbWc6aG92ZXIge1xuICAgIG9wYWNpdHk6IC43O1xufVxuXG5cbi8vaGFyZGNvZGVkIHNoYXJlIHN0eWxpbmdcbi5zaGFyZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAuNXJlbSBhdXRvIDFyZW0gYXV0bztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG5cbiAgICBwIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICBtYXJnaW4tdG9wOiAtLjNyZW07XG4gICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS5zaGFyZS1saW5rIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMXB4IDFyZW0gMCAwO1xuICAgIH1cbiAgICBhLnNoYXJlLWxpbmstbHN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAuc2hhcmUtYnRuIHtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZm9vdGVyLXNob3J0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDFyZW07XG4gICAgbGVmdDogMnJlbTtcbiAgICB6LWluZGV4OiA5O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBsZWZ0OiAxcmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxlZnQ6IDJyZW07XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM1NzE0M3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC40MjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy8gb3BhY2l0eTogLjc7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uZm9vdGVyLXNoYXJlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNoYXJlLWJ0bi1zaG9ydCwgLnNoYXJlLWJ0bi1zaG9ydC1sc3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbn1cbi5zaGFyZS1idG4tc2hvcnQge1xuICAgIHdpZHRoOiAxMXB4O1xufVxuLnNoYXJlLWJ0bi1zaG9ydC1sc3Qge1xuICAgIHdpZHRoOiAyMXB4O1xufSIsIi8vR3JhcGhpayBGb250XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1MaWdodCc7XG4gICAgc3JjOnVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1MaWdodC1XZWIuZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstTGlnaHQtV2ViLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUxpZ2h0LVdlYi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUxpZ2h0Lm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dyYXBoaWstRXh0cmFsaWdodCc7XG4gICAgc3JjOnVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1FeHRyYWxpZ2h0LVdlYi5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1FeHRyYWxpZ2h0LVdlYi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1FeHRyYWxpZ2h0LVdlYi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUV4dHJhbGlnaHQub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1NZWRpdW0nO1xuICAgIHNyYzp1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstTWVkaXVtLVdlYi5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1NZWRpdW0tV2ViLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLU1lZGl1bS1XZWIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1NZWRpdW0ub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1SZWd1bGFyJztcbiAgICBzcmM6dXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVJlZ3VsYXItV2ViLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVJlZ3VsYXItV2ViLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVJlZ3VsYXItV2ViLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstUmVndWxhci5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICBzcmM6dXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLVNlbWlib2xkLVdlYi5lb3QnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1TZW1pYm9sZC1XZWIud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstU2VtaWJvbGQtV2ViLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL0dyYXBoaWstU2VtaWJvbGQub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1Cb2xkJztcbiAgICBzcmM6dXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUJvbGQtV2ViLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLUJvbGQtV2ViLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9HcmFwaGlrLS1XZWIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvR3JhcGhpay1Cb2xkLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnSHVsdXdlZW4tU2Fucyc7XG4gICAgc3JjOnVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvRk9OVFMvaHVsdXdlZW4vSHVsdXdlZW5TYW5zLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9odWx1d2Vlbi9IdWx1d2VlblNhbnMud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L0ZPTlRTL2h1bHV3ZWVuL0h1bHV3ZWVuU2Fucy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC9GT05UUy9odWx1d2Vlbi9IdWx1d2VlblNhbnMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvKiEgbG9jb21vdGl2ZS1zY3JvbGwgdjQuMS4wIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2dpdGh1Yi5jb20vbG9jb21vdGl2ZW10bC9sb2NvbW90aXZlLXNjcm9sbCAqL1xuaHRtbC5oYXMtc2Nyb2xsLXNtb290aCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBcbiAgaHRtbC5oYXMtc2Nyb2xsLWRyYWdnaW5nIHtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIFxuICAuaGFzLXNjcm9sbC1zbW9vdGggYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBcbiAgLmhhcy1zY3JvbGwtc21vb3RoIFtkYXRhLXNjcm9sbC1jb250YWluZXJdIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICBcbiAgW2RhdGEtc2Nyb2xsLWRpcmVjdGlvbj1cImhvcml6b250YWxcIl0gW2RhdGEtc2Nyb2xsLWNvbnRhaW5lcl0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBcbiAgW2RhdGEtc2Nyb2xsLWRpcmVjdGlvbj1cImhvcml6b250YWxcIl0gW2RhdGEtc2Nyb2xsLXNlY3Rpb25dIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBcbiAgLmMtc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmMtc2Nyb2xsYmFyOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuNDUpOyB9XG4gICAgLmMtc2Nyb2xsYmFyOmhvdmVyLCAuaGFzLXNjcm9sbC1zY3JvbGxpbmcgLmMtc2Nyb2xsYmFyLCAuaGFzLXNjcm9sbC1kcmFnZ2luZyAuYy1zY3JvbGxiYXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIFtkYXRhLXNjcm9sbC1kaXJlY3Rpb249XCJob3Jpem9udGFsXCJdIC5jLXNjcm9sbGJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpOyB9XG4gICAgICBbZGF0YS1zY3JvbGwtZGlyZWN0aW9uPVwiaG9yaXpvbnRhbFwiXSAuYy1zY3JvbGxiYXI6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxLjMpOyB9XG4gIFxuICAuYy1zY3JvbGxiYXJfdGh1bWIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHdpZHRoOiA3cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXJnaW46IDJweDtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgICAuaGFzLXNjcm9sbC1kcmFnZ2luZyAuYy1zY3JvbGxiYXJfdGh1bWIge1xuICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICAgICAgY3Vyc29yOiBncmFiYmluZzsgfVxuICAgIFtkYXRhLXNjcm9sbC1kaXJlY3Rpb249XCJob3Jpem9udGFsXCJdIC5jLXNjcm9sbGJhcl90aHVtYiB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogMDsgfVxuICBcblxuXG5cblxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbmZyb20geyBcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuXG50byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG59XG4iLCJcbiRtYXJrZXRpbmctc2l0ZS1oZXJvLWhlaWdodDogNjV2aDtcbiR0dGhoLWhlcm8taGVpZ2h0OiAxMDB2aDtcbi8vIGlmIHlvdSBhcmUgZ29pZ24gdG8gY2hhbmdlIHRoZSBoZWlnaHQsIHBsZWFzZSBjcmVhdGUgYSBuZXcgX3Njc3MgZmlsZSBzcGVjaWZpYyB0byB0aGUgcHJvamVjdFxuXG5jYW52YXMgeyBcblx0ZGlzcGxheTogYmxvY2s7IFxuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHotaW5kZXg6IC0xOyAvLyBwdXQgaXQgdG8gYmFja2dyb3VuZFxuXHRsZWZ0OiAwOyAvLyBwb3NpdGlvbiBpdCB0byBmaWxsIHRoZSB3aG9sZSBzY3JlZW5cblx0dG9wOiAwOyAvLyBwb3NpdGlvbiBpdCB0byBmaWxsIHRoZSB3aG9sZSBzY3JlZW5cbn1cblxuaHRtbC5oYXMtc2Nyb2xsLXNtb290aCB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWFya2V0aW5nLXNpdGUtaGVybyB7XG4gIGhlaWdodDogJG1hcmtldGluZy1zaXRlLWhlcm8taGVpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB9XG59XG5cbi5tYXJrZXRpbmctc2l0ZS1oZXJvLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICAuYnV0dG9uLnJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MDAwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYnV0dG9uOmZvY3VzLCBhOmZvY3VzIHtvdXRsaW5lOjA7fVxuXG4uZ3JpZC1wYWRkaW5nLXgge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbn1cbmEge1xuICBjb2xvcjogJGJsdWU7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH0gXG59XG5hLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICRibGFjay1kcms7XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCcgIWltcG9ydGFudDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAuOFxuICB9XG59XG5cbi5ub3RlIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luOiAxcmVtIDAgLjNyZW0gMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzcmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDYyNXJlbTtcbiAgfVxufVxuLnN1YnRpdGxlLW5vdGUge1xuICBmb250LXNpemU6IDAuNjI1cmVtO1xuICBjb2xvcjogJHdoaXRlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICBtYXJnaW46IC0xcmVtIDAgMi41cmVtIDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW46IDAgMCAyLjVyZW0gMDtcbiAgfVxufVxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG59XG5wIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAuNXB4O1xufVxuc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbn1cbmgxIHtcbiAgZm9udC1zaXplOiAyLjE1cmVtO1xuICBsaW5lLWhlaWdodDogMi43cmVtO1xuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLTEuNXB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjlyZW07XG4gIH1cbn1cbi5oMS1wcmljaW5nIHtcbiAgZm9udC1zaXplOiAyLjE1cmVtO1xuICBsaW5lLWhlaWdodDogMi43cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogLTEuNXB4O1xuICBtYXJnaW46IDA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNS45cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuaDIge1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6ICRibGFjaztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbjogMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgfVxufVxuaDUge1xuICBmb250LXNpemU6IDIuMTg4cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xufVxucCwgaDYge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5oNiB7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWJvbGQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLmhlYWRlci10aXRsZSB7XG4gIHdpZHRoOiA5MCU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDc5MHB4O1xuICB9XG59XG4ubWFzdGhlYWQtd2lkZSB7XG4gIHBhZGRpbmc6IDE0cmVtIDAgMCAwO1xufVxuLmhlYWRlci13aWRlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2Fyb3VzZWwtaGlnaCB7XG4gIHBhZGRpbmc6IDE2cmVtIDAgMCAwO1xufVxuI2xvdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwcHg7XG59XG4udGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNjI1cmVtO1xuICBtYXJnaW46IDA7XG59XG4udGl0bGUtdmlkZW8ge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi5zdWJ0aXRsZS12aWRlbyB7XG4gIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDAgMTIuNXJlbTtcbiAgfVxufVxuLnR4dC1tb2Ige1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4udHh0LWRlc2sge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnRleHQtZ3JlZW4ge1xuICBjb2xvcjogJGdyZWVuO1xufVxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDAgLjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICB9XG59XG4udGV4dC1wYWRkaW5nIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgfVxufVxuLnR4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi50dGhoLWhlaWdodCB7XG4gIGhlaWdodDogJHR0aGgtaGVyby1oZWlnaHQ7XG59XG4udHRoaC1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogN3JlbTtcbn1cbi50dGhoLXNob3J0IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi50dGhoLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDRyZW0gMXJlbTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogN3JlbTtcbiAgfVxuICBcbiAgLmltZy1hcnJvdyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgfVxuICAuaGlnaGxpZ2h0IHtcbiAgICBzcGFuICB7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1ib2xkO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgIHBhZGRpbmc6IDAuOTM4cmVtIDEuNTYzcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gICAgfVxuICB9XG4gIC5zdWJoZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWJvbGQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBtYXJnaW46IDEuN3JlbSAwIDIuNXJlbSAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMi4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICB9XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogNjEuODc1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjNyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxcmVtO1xuICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxuICBhLmJ1dHRvbiwgLmJ1dHRvbi1tZW51IHtcbiAgICBwYWRkaW5nOiAxLjFyZW0gMS4ycmVtOyBcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2stZHJrO1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbi5oNCB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuLnRleHQtdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEwJTtcbn1cbi5hbGwtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMjV2aDtcbn1cbi50dGhoLW1hc3RoZWFkIHtcbiAgcGFkZGluZy10b3A6IDdyZW07XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy10b3A6IDE0cmVtO1xuICB9XG59XG4uYnV0dG9uLW1lbnV7XG4gIHBhZGRpbmc6IDAuOXJlbSAxcmVtICFpbXBvcnRhbnQ7IFxuICBjb2xvcjogJGJsYWNrLWRyayAhaW1wb3J0YW50O1xufVxuLm9yaWdpbmFscy10aWxlLWNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDhweCAjMzMzO1xuICBsaW5lLWhlaWdodDogMS45cmVtO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjlyZW07XG4gIH1cbn1cbi5pbWctZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDguNzVyZW07XG4gIG1hcmdpbi10b3A6IC0xLjVyZW1cbn1cbi5pbWctY2hhbiB7XG4gIG1hcmdpbi10b3A6IDUuNXJlbTtcbn1cbi5ncmlkLXRhYnMge1xuICBwYWRkaW5nOiA3cmVtIDUuNXJlbSAwIDMuNXJlbTtcbn1cbi5ncmlkLWRlYWwge1xuICBwYWRkaW5nLXRvcDogNHJlbTtcbn1cbi5ncmlkLWZsaXAge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOmluaXRpYWw7XG4gIH1cbn1cbi5pY29uLWFycm93LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTRyZW0gMCAwIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaWNvbi1hcnJvdyB7XG4gIHdpZHRoOiA2MHB4O1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgfVxufVxuLnF1aXotY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHJlbSAwO1xuICBwYWRkaW5nOiA1LjVyZW0gMTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gIGNvbG9yOiAkYmxhY2s7XG59XG5cblxudmlkZW8udHRoaC12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDcwJTtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICB6LWluZGV4OiAtMTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3V0bGluZTogbm9uZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxufVxuXG5hLmJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC1kZWNvcmF0aW9uO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgY29sb3I6ICRibGFjay1kcms7XG4gICAgcGFkZGluZzogMC43cmVtIC42cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtO1xuICAgIH1cbn1cbiRtYXJrZXRpbmctc2l0ZS10aHJlZS11cC13aWR0aDogOTAwcHg7XG5cbi5tYXJrZXRpbmctc2l0ZS10aHJlZS11cCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMnJlbSAwO1xuXG4gIC5yb3cge1xuICAgIG1heC13aWR0aDogJG1hcmtldGluZy1zaXRlLXRocmVlLXVwLXdpZHRoO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5mYSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cbi5tYXJrZXRpbmctc2l0ZS10aHJlZS11cC1oZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cbi5ub3RlLWZhdiB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2MjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbWFyZ2luOiAxcmVtIDFyZW0gMCAxcmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luOiAxcmVtIDNyZW0gMCAzcmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gIH1cbn1cbi5ub3RlLWxpdmUge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtO1xufVxuLmxpdmUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBtYXJnaW46IDRyZW0gMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbjogN3JlbSAwO1xuICB9XG5cbiAgZGl2IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA3MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgfVxuICB9XG59XG4uaW1nLWxpdmUtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgfVxufVxuZm9vdGVyIC5mb290ZXItLWxlZ2FsLWxpbmsge1xuICBmb250LXNpemU6IDEycHg7XG59XG4uc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG59XG5cblxuXG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0yNTBweCAqIDcpKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0yNTBweCAqIDcpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0yNTBweCAqIDcpKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0yNTBweCAqIDcpKTtcbiAgfVxufVxuLnNsaWRlciB7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zbGlkZXI6OmJlZm9yZSwgLnNsaWRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMjtcbn1cbi5zbGlkZXI6OmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcbn1cbi5zbGlkZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zbGlkZXIgLnNsaWRlLXRyYWNrIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNjcm9sbCAzMHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICAgIGFuaW1hdGlvbjogc2Nyb2xsIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiBjYWxjKDI1MHB4ICogMTQpO1xufVxuLnNsaWRlciAuc2xpZGUge1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogMjUwcHg7XG59XG5cblxuXG4ubm90ZS1uZXctcHJpY2Uge1xuICBtYXJnaW46IDEwcHggMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIG1hcmdpbjogMCAxMHB4IDE1cHggMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogMTBweCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuLm5vdGUtbmV3LXByaWNlIHAge1xuICBjb2xvcjogIzExMTExMTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY2hhcnQtZmVlZCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1ib2xkJztcbiAgY29sb3I6ICRncmVlbjtcbiAgbWFyZ2luOiA2MHB4IDAgMCAwO1xufVxuXG5cblxuLmNsb3NlLWJ1dHRvbi1jZW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnKSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4vL2F1ZGlvIHBsYXllclxuLmF1ZGlvLXdyYXBwZXIge1xuICB6LWluZGV4OiA5OTk5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMzYwcHg7XG4gIHRvcDogMjJweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICByaWdodDogNzBweDtcbiAgICB0b3A6IDE1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICByaWdodDogNzBweDtcbiAgICB0b3A6IDE1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHJpZ2h0OiAzNjBweDtcbiAgICB0b3A6IDIycHg7XG4gIH1cbn1cbiNwbGF5ZXItY29udGFpbmVyICNwbGF5LXBhdXNlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0IWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XG59XG4ucGxheSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVpa2hlbzBzYXVnMXYzY25xY3AxdXRiLWljb24tc291bmQtb2ZmLmZ1bGwucG5nJyk7XG59XG4ucGF1c2Uge1xuICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWlraGVqeGFwemgxdjU4Nm82YjdpaHYtaWNvbi1zb3VuZC1vbi5mdWxsLnBuZycpIWltcG9ydGFudDtcbn1cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHotaW5kZXg6IDk5OTk5OTtcbn0iLCIuYm9keS1iayB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrbDl1Mm5zZjI4aW4xdTgzZzkzdDk0ZnQtYmstdHRoaC1ncmFkLmZ1bGwucG5nJykgdG9wIGNlbnRlciByZXBlYXQteSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1kcmsgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE5MCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgIHRvcDogMjBweDtcbiAgICBjb2xvcjogIzExMTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTExO1xuICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxuICB9XG5cbiAgLnJldmVhbCB7XG4gICAgbWF4LXdpZHRoOiAxMzMwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsKSB7XG4gICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tbWFyZ2luIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0OXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogNDlweDtcbiAgICB9XG4gIH0iLCIuYm9keS1iay1sb2xsYSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFxa20wdzcxdTV1ZTJzbWw5MnQtZ3JhZGllbnQtYmFja2dyb3VuZC0zNzUuZnVsbC5qcGcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4xcztcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3IyOWFhcGRtMTBvMXU1dWUwOWZvZ3hiLWdyYWRpZW50LWJhY2tncm91bmQtNzY4LmZ1bGwuanBnJykgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYXNwNnVkazF1Nm1yMGY4azdoMy1ncmFkaWVudC1iYWNrZ3JvdW5kLTE2MDAuZnVsbC5qcGcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxufVxuLm1hc3RoZWFkLWNvdmVyLWlsbCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnV1OW82N2cxdTV1dDhrc3RndWwtbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTE5MjAuc3ZnJykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7ICAgICAgICBcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA5NS41JTtcbiAgICBtYXJnaW4tdG9wOiA0LjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDIuNSU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xufVxuXG4ubG9sbGEtaGVpZ2h0IHtcbiAgICBoZWlnaHQ6ICR0dGhoLWhlcm8taGVpZ2h0O1xufVxuLmxvbGxhLXNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDdyZW07XG59XG4ubG9sbGEtc2hvcnQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG4ubG9sbGEtc2hvcnQtcyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmxvbGxhLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDdyZW07XG4gICAgfVxufVxuLmdyaWQtbG9sbGEge1xuICAgIHBhZGRpbmc6IDByZW0gMC41cmVtIDAgMC41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMCAzLjVyZW07XG4gICAgfVxuICB9XG4ubG9sbGEtY29udGFpbmVyLW1vYmlsZSB7XG4gICAgcGFkZGluZzogNHJlbSAxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogN3JlbTtcbiAgICB9XG59XG4ubG9sbGEtdGFicy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDRyZW0gMCAycmVtIDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogN3JlbSAwIDdyZW0gN3JlbTtcbiAgICB9XG59XG4ubG9sbGEtb24tbW9iIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi5sb2xsYS1vbi1kZXNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwJTtcbiAgICAgICAgbWFyZ2luOiAtNDAwcHggMCAwIDA7XG4gICAgICAgIHdpZHRoOiAxMjAlO1xuICAgIH1cbn1cbi5sb2xsYTIyLW9uLWRlc2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgIH1cbn1cbi5pbWctYXJyb3cge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4uaDEtbG9sbGEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS45cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAzcmVtIDNyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG4uaDQtbG9sbGEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuLmJyZWFrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG4uaW1nLWRvby13YXAge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDE2NHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAyODZweDtcbiAgICB9XG59XG4uaGlnaGxpZ2h0IHtcbiAgICBzcGFuICB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBwYWRkaW5nOiAwLjkzOHJlbSAxLjU2M3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjU2M3JlbTtcbiAgICB9XG59XG4uc3ViaGVhZGVyIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1ib2xkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbWFyZ2luOiAxLjdyZW0gMCAyLjVyZW0gMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDIuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIH1cbn1cbi5tYXN0aGVhZC13aWRlLWxvbGxhMjIge1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4ycztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE5MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE5MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG4ubWFzdGhlYWQtd2lkZS1sb2xsYSB7XG4gICAgcGFkZGluZzogMTRyZW0gMCAzMHJlbSAwO1xufVxuLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3IyOXFxdzVtMW0zMXU1dTd0OWN2OXdvLW1hc3RoZWFkLWxvbGxhLWxvZ28tbW9iaWxlLnN2ZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI3MHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogODAlICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMnM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlxcXc1bTFtMzF1NXU3dDljdjl3by1tYXN0aGVhZC1sb2xsYS1sb2dvLW1vYmlsZS5zdmcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNzM4cHg7XG4gICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlxcXc1bTFtMzF1NXU3dDljdjl3by1tYXN0aGVhZC1sb2xsYS1sb2dvLW1vYmlsZS5zdmcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogNDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICB9XG59XG4ubWFzdGhlYWQtbG9nby1sb2xsYTIyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0MzBoenhhd2t6eDF2NXNrbGExeDY4cy1sb2xsYTIyLW1hc3RoZWFkLmZ1bGwucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMi41cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzgwcHg7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiA0NzBweDtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTNyZW07XG4gICAgfVxufVxuLm1hc3RoZWFkLWNvdmVyLWxvbGxhMjItdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICAubWFzdGhlYWQtbG9sbGEyMi1sZWZ0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNDR1azh1bjI3bW8xdjVlNmRraW16aHEtbG9sbGEyMi1tYXN0LXRsLmZ1bGwucG5nJykgdG9wIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hc3RoZWFkLWxvbGxhMjItY2VudGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNDR1azh5ajI3cmExdjRuemtpaGtuOHctbG9sbGEyMi1tYXN0LXRjLmZ1bGwucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFzdGhlYWQtbG9sbGEyMi1yaWdodCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDQ0dmc2NWVqeXc3MXYyZDUwNWRndjRuLWxvbGxhMjItbWFzdC10ci5mdWxsLnBuZycpIHRvcCByaWdodCBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLm1hc3RoZWFkLWNvdmVyLWxvbGxhMjItYm90IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxjYWFpYXBzN3YxdjF5bWlmanV5NmEtbG9sbGEyMi1tYXN0LXNwZWFrZXItbC5mdWxsLnBuZycpIGJvdHRvbSBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlO1xuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYWlhcHM3djF2MXltaWZqdXk2YS1sb2xsYTIyLW1hc3Qtc3BlYWtlci1sLmZ1bGwucG5nJykgYm90dG9tIGxlZnQgbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYThkNHg2bDF2NmhpNGJkenV2ai1sb2xsYTIyLW1hc3Qtc3BlYWtlci1yLmZ1bGwucG5nJykgYm90dG9tIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bGNhYThkNHg2bDF2NmhpNGJkenV2ai1sb2xsYTIyLW1hc3Qtc3BlYWtlci1yLmZ1bGwucG5nJykgYm90dG9tIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHdpZHRoOiAyNzBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuLm1hc3RoZWFkLWJsb2NrLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB6LWluZGV4OiA5O1xufVxuLnN1YnRpdGxlLWJvbGQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG59XG4uc3VidGl0bGUtcmVxdWlyZSB7XG4gICAgZm9udC1zaXplOiAuOXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAuN3JlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjlyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICB9XG59XG4ubm90ZS1sb2xsYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAuMnJlbSAwIDFyZW0gMDtcbn1cbi5ub3RlLWxvbGxhMjIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICBwYWRkaW5nOiAwIDgwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxufVxuLnR4dC1tb2JpbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuYS5idXR0b24taGVhZGVyLWxvbGxhLmJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjNzICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjay1kcms7XG4gICAgICAgIG9wYWNpdHk6IC44ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmJ1dHRvbi1oZWFkZXItbG9sbGEge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbi5idXR0b24td2F0Y2gtbG9sbGEge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAvL2hpZGVcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgICB9XG59XG4ubG9sbGEyMi1saW5ldXAge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsY2FhbzRlY2FkMXY1OG5ud3dsZmtvLWxvbGxhMjItbWFzdC1ib2F0LmZ1bGwucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxjYWFvNGVjYWQxdjU4bm53d2xma28tbG9sbGEyMi1tYXN0LWJvYXQuZnVsbC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNDA1cHg7XG4gICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxjYWFvNGVjYWQxdjU4bm53d2xma28tbG9sbGEyMi1tYXN0LWJvYXQuZnVsbC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogNTMwcHg7XG4gICAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgICAgIG1hcmdpbjogLTM4MHB4IDAgMCAwO1xuICAgICAgICBsZWZ0OiBub25lO1xuICAgICAgICByaWdodDogMTIwcHg7XG4gICAgfVxufVxuLmNhcm91c2VsLWxvbGxhIHtcbiAgICBwYWRkaW5nOiAzcmVtIDAgM3JlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMCAwIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlyZW07XG4gICAgfVxufVxuLmNhcm91c2VsLWxvbGxhLTIyIHtcbiAgICBwYWRkaW5nOiAzcmVtIDAgM3JlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMCAwIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlyZW07XG4gICAgfVxufVxuLmFjY29yZGlvbi1sb2xsYSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5hY2NvcmRpb24tdGl0bGUtbG9sbGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59IFxuLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0VCRURGMjtcbn1cblxuLm1hc3RoZWFkLWljb25zLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi10b3A6IC02cmVtO1xufVxuLm1hc3RoZWFkLWljb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwIDUlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cbi5tYXN0aGVhZC10MSB7XG4gICAgbGVmdDogMiU7XG4gICAgdG9wOiAxOTBweFxufVxuLm1hc3RoZWFkLXQyIHtcbiAgICBsZWZ0OiAyNiU7XG4gICAgdG9wOiA4MHB4XG59XG4ubWFzdGhlYWQtdDMge1xuICAgIGxlZnQ6IDQ3JTtcbiAgICB0b3A6IDcwcHg7XG4gICAgd2lkdGg6IDE5MHB4O1xufVxuLm1hc3RoZWFkLXQ0IHtcbiAgICBsZWZ0OiA3MSU7XG4gICAgdG9wOiAxMjBweDtcbiAgICB3aWR0aDogMjMwcHg7XG59XG4ubWFzdGhlYWQtdDUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MjBweDtcbiAgICB3aWR0aDogMjYwcHg7XG59XG4ubWFzdGhlYWQtdDYge1xuICAgIGxlZnQ6IDIwJTtcbiAgICB0b3A6IDYxMHB4O1xuICAgIHdpZHRoOiAxMjBweDtcbn1cbi5tYXN0aGVhZC10NyB7XG4gICAgbGVmdDogNTclO1xuICAgIHRvcDogNjQ1cHg7XG4gICAgd2lkdGg6IDE4NXB4O1xufVxuLm1hc3RoZWFkLXQ4IHtcbiAgICBsZWZ0OiA2OSU7XG4gICAgdG9wOiA1MDBweDtcbiAgICB3aWR0aDogMTUwcHg7XG59XG4ubWFzdGhlYWQtdDkge1xuICAgIGxlZnQ6IDgxJTtcbiAgICB0b3A6IDQyMHB4O1xuICAgIHdpZHRoOiAxNzBweDtcbn1cbi5yb3ctb25lIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4ucm93LWxpc3RlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFtem0wejAxdTR3Y2FoYmVsaGUtcmlnaHQtYXJyb3cuc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDI5cHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICB9XG59XG4udGV4dC1ib251cyBpbWcge1xuICAgIHdpZHRoOiAyOXB4O1xuICAgIGhlaWdodDogMjlweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICB9XG59XG5cbi5sb2xsYTIyLWZvb3RlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAwIDlyZW07XG4gICAgICAgIG1hcmdpbjogLTgwcHggMCAtMnB4IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgOXJlbTtcbiAgICAgICAgbWFyZ2luOiAtODBweCAwIC0ycHggMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwIDlyZW07XG4gICAgICAgIG1hcmdpbjogLTgwcHggMCAtMnB4IDA7XG4gICAgfVxufVxuLmxvbGxhMjItZm9vdGVyLW1vbmtleSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NzYyMm92MnlmaDF2NDVveWpyNGpxdy1sb2xsYTIyLWZvb3Rlci1tb25rZXkuZnVsbC5wbmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTM1cHg7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDQ3NjIyb3YyeWZoMXY0NW95anI0anF3LWxvbGxhMjItZm9vdGVyLW1vbmtleS5mdWxsLnBuZycpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxNjhweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NzYyMm92MnlmaDF2NDVveWpyNGpxdy1sb2xsYTIyLWZvb3Rlci1tb25rZXkuZnVsbC5wbmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMjg4cHg7XG4gICAgICAgIGhlaWdodDogMzgzcHg7XG4gICAgfVxufVxuXG4ubG9sbGEyMi1mb290ZXItZXllcyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNHg4ZjIybmt4bzExdjhvNmRxNWZsZXotbG9sbGEyMi1leWVzLWJvdC1tb2IuZnVsbC5wbmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgIGhlaWdodDogMTkwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogLTIwMHB4IDAgMCAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNHg4ZjIybmt4bzExdjhvNmRxNWZsZXotbG9sbGEyMi1leWVzLWJvdC1tb2IuZnVsbC5wbmcnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTc4cHg7XG4gICAgICAgIGhlaWdodDogMjMxcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogLTIyOXB4IDAgMCAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubG9sbGEyMi12aWRlbyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgIHdpZHRoOiA2NDVweDtcbiAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDk4MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB9XG59XG5cblxuXG4vL2Nsb3VkcyBhbmltYXRpb25cbi5jbG91ZHMtc2xpZGluZy1iYWNrZ3JvdW5kMjIge1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w0NjV6aDViMzBqczF2NWZoa2NkeTBmMy1sb2xsYTIyLWNsb3Vkcy5mdWxsLnBuZ1wiKSByZXBlYXQteDtcbiAgICB3aWR0aDogMTAwMDc2cHg7XG4gICAgYW5pbWF0aW9uOiBzbGlkZSAzOTYwcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IC44JTtcbiAgICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjElO1xuICAgICAgICBoZWlnaHQ6IDk1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMS4zJTtcbiAgICAgICAgaGVpZ2h0OiAxMzEwcHg7XG4gICAgfVxuICB9XG4gIFxuICBAa2V5ZnJhbWVzIHNsaWRle1xuICAgIDAle1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gICAgMTAwJXtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMDY5MnB4LCAwLCAwKTtcbiAgICB9XG4gIH1cblxuLmxvbGxhLXNlY3Rpb24tZmx1ZmZ5IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cmVtIDAgMTVyZW0gMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMTVyZW0gMCAxNXJlbSAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDIxcmVtIDdyZW0gMTNyZW0gN3JlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy90ZW1wIGltYWdlc1xuLnRlbXAtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gIH1cbiAgXG4gIC50ZW1wLWltZyB7XG4gICAgd2lkdGg6IDkwLjIlO1xuICAgIGhlaWdodDogMzYycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNDk1NztcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGVtcC1pbWctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnRlbXAtaW1nLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuXG4gXG5cblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5MjBweCkge1xuICAgIC5tYXN0aGVhZC1jb3Zlci1pbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyM3d2dXU5bzY3ZzF1NXV0OGtzdGd1bC1tYXN0aGVhZC1pbGx1c3RyYXRpb24tZnJhbWUtMTkyMC5zdmcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgICAgICAgXG4gICAgfSAgICBcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTgwMHB4KSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWlsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Izd3Z2aDJvNmIzMXU4cDNvamEzajQyLW1hc3RoZWFkLWlsbHVzdHJhdGlvbi1mcmFtZS0xNjAwLnN2ZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICB9ICBcblxuICAgIC5tYXN0aGVhZC1sb2dvLWxvbGxhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuICAgIC5tYXN0aGVhZC1jb3Zlci1pbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyM3d2dDlnOHpuNjF1Nm14cTNuOXY3ay1tYXN0aGVhZC1pbGx1c3RyYXRpb24tZnJhbWUtMTQ0MC5zdmcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICB9IFxuXG4gICAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWlsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Izd3Z1NWtvNjNvMXU3Zm51MDJqdmh5LW1hc3RoZWFkLWlsbHVzdHJhdGlvbi1mcmFtZS0xMjgwLnN2ZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xuICAgIH0gXG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWlsbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Izd3ZzaGFvNjBiMXU2ZzF2aTFqbHJyLW1hc3RoZWFkLWlsbHVzdHJhdGlvbi1mcmFtZS03Njguc3ZnJykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgfVxuICAgIC5ib2R5LWJrLWxvbGxhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFwZG0xMG8xdTV1ZTA5Zm9neGItZ3JhZGllbnQtYmFja2dyb3VuZC03NjguZnVsbC5qcGcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgIH1cbiAgICAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgICAgICB3aWR0aDogNDMwcHg7XG4gICAgfVxuICAgIC5ub3RlLWxvbGxhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3NXB4KSB7XG4gICAgLmJvZHktYmstbG9sbGEge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgICAubWFzdGhlYWQtY292ZXItaWxsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjN3dnQxdW82OHIxdTR3dWF4bHhjeW4tbWFzdGhlYWQtaWxsdXN0cmF0aW9uLWZyYW1lLTM3NS5zdmcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICB9IFxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgLm1hc3RoZWFkLWJsb2NrLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICB9XG4gICAgLm1hc3RoZWFkLXdpZGUtbG9sbGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNyZW07XG4gICAgfVxufVxuXG4ubm93LWxpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufSIsImJvZHkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLWRyaztcbn1cbi5pYW9pX2NvdmVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pbWctaWFvaS1wYWdlLWNvdmVyLnBuZycpIG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4udGlsZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDUyODdweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgei1pbmRleDogOTtcbn1cbi5pYW9pX3RpbGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgei1pbmRleDogOTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IFxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjRweCAtOHB4IHJnYmEoMCwwLDAsMC40MSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjQxKTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjQxKTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG4uaWFvaV90aWxlOm50aC1jaGlsZCg3bisxKSwgLmlhb2lfdGlsZTpudGgtY2hpbGQoMzBuKzEpLCAuaWFvaV90aWxlOm50aC1jaGlsZCgxMm4rMSl7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBtYXJnaW46IDEwcHggMjMwcHggMTBweCAxMHB4O1xuIH1cbiAgXG4udGlsZV96b29tIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uNXB4O1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IFxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMjRweCAtOHB4IHJnYmEoMCwwLDAsMC40MSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjQxKTtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IC04cHggcmdiYSgwLDAsMCwwLjQxKTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMS40cmVtIDAgNHJlbSAwO1xuICAgICB9XG4gICAgIC50aWxlX25hbWVfY29udGFpbmVyIHtcbiAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogLS41cmVtIDAgMCAwO1xuICAgICAgICAgfVxuICAgICB9XG59XG5cbi50aWxlX3NvY2lhbF93cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDpibHVlO1xuICAgIGhlaWdodDoxMDBweDtcbiAgICB3aWR0aDo4MHB4O1xuICAgIGRpc3BsYXk6bm9uZTtcblxufVxuLmlhb2lfdGlsZTpob3ZlciAudGlsZV9zb2NpYWxfd3JhcHBlcntcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIHotaW5kZXg6IDk5OTk5O1xufVxuXG4udGlsZV9oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4udGlsZV9saW5rIHtcbiAgICBjb2xvcjogJGJsYWNrLWRyaztcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGJsYWNrLWRyaztcbiAgICB9XG59XG4jY2FwdHVyZV93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgIFxuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGJvdHRvbTogMjAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuY2FudmFzOm50aC1vZi10eXBlKDEpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuY2FudmFzIHtcbiAgICB3aWR0aDogMzAwcHggIWltcG9ydGFudDsgXG4gICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xufVxuICBcbi5yZXZlYWwge1xuICAgIHdpZHRoOiAzNzVweDtcbiAgICBoZWlnaHQ6IDU1OXB4O1xufVxuXG4jd2lkZ2V0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDEge1xuICAgICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgY29sb3I6ICRibGFjay1kcms7XG4gICAgICAgIGZvbnQtc2l6ZTogNy41cmVtO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn0iLCJib2R5IHtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4vLyA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbi8vICAgd2lkdGg6IDBweDtcbi8vIH1cbi8vIC8qIFRyYWNrICovXG4vLyA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbi8vICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDBweCB0cmFuc3BhcmVudDsgXG4vLyAgIGJvcmRlci1yYWRpdXM6IDBweDtcbi8vIH1cbi8vIC8qIEhhbmRsZSAqL1xuLy8gOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4vLyAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBcbi8vICAgYm9yZGVyLXJhZGl1czogMHB4O1xuLy8gfVxuLy8gLyogSGFuZGxlIG9uIGhvdmVyICovXG4vLyA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbi8vICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IFxuLy8gfVxuXG4uYmstZ3JhZGllbnQtaHVsdXdlZW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtOTk5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dzUyem15b3ZnbDF2MW40OHAyYWliZi1iZy12ZWlsLWdyYWQtMi1tb2JpbGUzLmZ1bGwuanBnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDF2aDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDF2aDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHZvcnc2ZG9hMGsxdjZ4Nm8wNTdva2ctYmctdmVpbC1ncmFkLTItM3guZnVsbC5qcGcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiNody13cmFwcGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gYXV0bztcbiAgcGFkZGluZzowcHg7XG4gIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIEludGVybmV0IEV4cGxvcmVyIDEwKyAqL1xufVxuI2h3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgLyogV2ViS2l0ICovXG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG4uaHctdGlsZXMtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTtcbn1cbi5ody1ncmFkaWVudCB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgei1pbmRleDogOTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQsIGJsYWNrKTtcbn1cbi5ody1jb250YWluZXIge1xuICB3aWR0aDogNTA1N3B4O1xuICBoZWlnaHQ6IDMyMjJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICB3aWR0aDogMjY3N3B4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDM1MzlweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IDUwNTdweDtcbiAgfVxufVxuLmljb24tYXVkaW8ge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHJpZ2h0OiA2MHB4O1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogMzMwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgfVxufVxuLmljb24tYXVkaW8tc3ViIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHJpZ2h0OiA0MHB4O1xuICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcmlnaHQ6IDIzMHB4O1xuICAgIH1cbn1cbi5wbGF5cGF1c2UgIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICBoZWlnaHQ6MS44NzVyZW07XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JudXFsbnVuOXJtMXU2a2Nic3ZiOHRsLWljb24tYXVkaW8tb2ZmLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuODc1cmVtO1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6MS44NzVyZW07XG4gIH1cbi5pY29uLXBsYXkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tybzBmbmhxbmh5azF1Nnk4bHYweHdxei1pY29uLWF1ZGlvLXBsYXkuc3ZnJyk7XG59XG4uaWNvbi1wYXVzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2Nrcm51cWxudW45cm0xdTZrY2JzdmI4dGwtaWNvbi1hdWRpby1vZmYuc3ZnJyk7XG59XG4ucGxheS1idXR0b24ge1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRvcDogNTAwcHg7XG4gIGxlZnQ6IC01NDNweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuLmh3LWxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAzNzVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDM3NXB4O1xuICAgIH1cbiAgfVxufVxuLmh3LXRpbGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzQ5LjExZGVnLCAjMDAwMDAwIC00MS4xOSUsIHJnYmEoMCwgMCwgMCwgMCkgNDEuNDQlKSwgIzQyNDk1NztcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgbWluLXdpZHRoOiAxNS42MjVyZW07XG4gIG1pbi1oZWlnaHQ6IDkuNjg4cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cblxuICAuaHctdGlsZS1pbmZvLXdyYXBwZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5ody10aWxlLXRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5ody10aWxlLW5vdGUge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjQzOHJlbTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5ody10aWxlLWltZy1uZXR3b3JrIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC40cmVtO1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIH1cbiAgICAgIC5ody10aWxlLWltZy1uZXR3b3JrLWxvbmcge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB9XG4gIH1cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICB9XG59XG4uaHctdGlsZS0zNTV4Mjk1IHtcbiAgICB3aWR0aDogMjIuMTg4cmVtO1xuICAgIGhlaWdodDogMTguNDM4cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAxNS41MzE2cmVtO1xuICAgICAgaGVpZ2h0OiAxMi45MDY2cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDIyLjE4OHJlbTtcbiAgICAgIGhlaWdodDogMTguNDM4cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogMjIuMTg4cmVtO1xuICAgICAgaGVpZ2h0OiAxOC40MzhyZW07XG4gICAgfVxufVxuLmh3LXRpbGUtMzU1eDQ5OCB7XG4gICAgd2lkdGg6IDIyLjE4OHJlbTtcbiAgICBoZWlnaHQ6IDMxLjEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICB3aWR0aDogMTUuNTMxNnJlbTtcbiAgICAgIGhlaWdodDogMjEuNzg3NXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAyMi4xODhyZW07XG4gICAgICBoZWlnaHQ6IDMxLjEyNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDIyLjE4OHJlbTtcbiAgICAgIGhlaWdodDogMzEuMTI1cmVtO1xuICAgIH1cbn1cbi5ody10aWxlLTI1MHg0NDAge1xuICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgaGVpZ2h0OiAyNy41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIHdpZHRoOiAxMC45Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAyNy4yNXJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICBoZWlnaHQ6IDI3LjVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICBoZWlnaHQ6IDI3LjVyZW07XG4gICAgfVxufVxuLmh3LXRpbGUtNTA1eDIzNSB7XG4gICAgd2lkdGg6IDMxLjU2M3JlbTtcbiAgICBoZWlnaHQ6IDE0LjY4OHJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICB3aWR0aDogMjIuMDk0MXJlbTtcbiAgICAgIGhlaWdodDogMTAuMjgxNnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAzMS41NjNyZW07XG4gICAgICBoZWlnaHQ6IDE0LjY4OHJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDMxLjU2M3JlbTtcbiAgICAgIGhlaWdodDogMTQuNjg4cmVtO1xuICAgIH1cbn1cbi5ody10aWxlLTI1MHgxNTUge1xuICB3aWR0aDogMTUuNjI1cmVtO1xuICBoZWlnaHQ6IDkuNjg4cmVtO1xufVxuLnRpbGUtMSB7XG4gIHRvcDogMTQ0MHB4O1xuICBsZWZ0OiAyNDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAxMDg3cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAxNjk3cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDI0MjVweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3N0bW40MjYwazNsMXY3aHRzMnIwcGw5LWFtZXJpY2FuLWhvcnJvci1zdG9yaWVzLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2Nrc3RtbjQyNjBrM2wxdjdodHMycjBwbDktYW1lcmljYW4taG9ycm9yLXN0b3JpZXMtMzU0eDI5NC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTIge1xuICB0b3A6IDE0OTVweDtcbiAgbGVmdDogMTg1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogNzA2cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAxMjk1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDE4NTBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3QzajNibm9kZjliMXY3aDVjOG1sbDExLWZlYXItdGhlLXdhbGtpbmctZGVhZC0zNTR4NDk4LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3QzajNibm9kZjliMXY3aDVjOG1sbDExLWZlYXItdGhlLXdhbGtpbmctZGVhZC0zNTR4NDk4LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTc4cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMyB7XG4gIHRvcDogMTIzMHB4O1xuICBsZWZ0OiAxNjcwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiA4MTguM3B4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMTE2OXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAxNjcwcHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YWx4bnU1MGdodTF2M2RqazlqNmh2dy1vdWlqYS0zNTR4Mjk0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0zIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RhbHhudTUwZ2h1MXYzZGprOWo2aHZ3LW91aWphLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgICAgIG1hcmdpbjogLTE3cHggMCAwIC0xNzdweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGlsZS00IHtcbiAgdG9wOiAxNDMwcHg7XG4gIGxlZnQ6IDMxMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDE2MTEuMjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDIxODcuNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAzMTI1cHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnF0c2xzMXk3YzF2NXJnbm8zMXRmNy13aGF0LXdlLWRvLWluLXRoZS1zaGFkb3dzLTI1Mng0NDAtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJxdHNsczF5N2MxdjVyZ25vMzF0Zjctd2hhdC13ZS1kby1pbi10aGUtc2hhZG93cy0yNTJ4NDQwLTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI0cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGlsZS01IHtcbiAgdG9wOiAxOTM1cHg7XG4gIGxlZnQ6IDI1NDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDEyNDcuMDVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDE3ODEuNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAyNTQ1cHg7XG4gIH1cblxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Ricm44ZHUxemNmMXc3YTV6dG50Zm13LWRyYWctbWUtdG8taGVsbC01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci01IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Ricm44ZHUxemNmMXc3YTV6dG50Zm13LWRyYWctbWUtdG8taGVsbC01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMjUycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtNiB7XG4gIHRvcDogMTMxNXB4O1xuICBsZWZ0OiAyOTg1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICB0b3A6IDEzNzVweDtcbiAgICBsZWZ0OiAxNDYyLjY1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDEzMTVweDtcbiAgICBsZWZ0OiAyMDg5LjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdG9wOiAxMzE1cHg7XG4gICAgbGVmdDogMjk4NXB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJzYjRucjIwNHExdjNkazVibWttcGMtZ2FpYS0yNTJ4MTU2LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci02IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Ric2I0bnIyMDRxMXYzZGs1Ym1rbXBjLWdhaWEtMjUyeDE1Ni0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTEyNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4udGlsZS03IHtcbiAgdG9wOiA5NzBweDtcbiAgbGVmdDogMjIzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMTMxMi43cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAxNTYxcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDIyMzBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Ric3NraTYyMHV4MXYyY3k1MnY5NXV0LWFudGViZWxsdW0tMzU0eDI5NC0yeC5mdWxsLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICY6aG92ZXIge1xuICAgIC5pbWctbGF5ZXItNyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnNza2k2MjB1eDF2MmN5NTJ2OTV1dC1hbnRlYmVsbHVtLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgICAgIG1hcmdpbjogLTE3cHggMCAwIC0xNzdweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGlsZS04IHtcbiAgdG9wOiAxNjAwcHg7XG4gIGxlZnQ6IDM2NTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDE5NjguNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMjU1NXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAzNjUwcHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnRpZjhjMjFxYzF2MjZuNDFoY2NvYy1jZW5zb3ItMzU0eDQ5OC0yeC5mdWxsLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICY6aG92ZXIge1xuICAgIC5pbWctbGF5ZXItOCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YnRpZjhjMjFxYzF2MjZuNDFoY2NvYy1jZW5zb3ItMzU0eDQ5OC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTkge1xuICB0b3A6IDk3MHB4O1xuICBsZWZ0OiAzNTUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAxNzM5LjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDI0ODVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogMzU1MHB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ2OGViajIzeTkxdjV5bTBzbHhlN2gtdGhlLXdpdGNoLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ2OGViajIzeTkxdjV5bTBzbHhlN2gtdGhlLXdpdGNoLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgICAgIG1hcmdpbjogLTE3cHggMCAwIC0xNzdweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4udGlsZS0xMCB7XG4gIHRvcDogMjM2NXB4O1xuICBsZWZ0OiAzMDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAxMjgyLjI1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAyMTE3LjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogMzAyNXB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ6NjhrYTI5NTQxdjNkaWN4Y2EzaWYtYnVmZnktMzU0eDI5NC0yeC5mdWxsLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICY6aG92ZXIge1xuICAgIC5pbWctbGF5ZXItMTAge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGJ6NjhrYTI5NTQxdjNkaWN4Y2EzaWYtYnVmZnktMzU0eDI5NC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTExIHtcbiAgICB0b3A6IDEwMDFweDtcbiAgICBsZWZ0OiAxMDcwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBsZWZ0OiA0MjQuM3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbGVmdDogNzQ5cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGxlZnQ6IDEwNzBweDtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YzNheGIzMmVpYzF3N2F6eGMyZjBsZi10aGUtcmVzb3J0LTM1NHg0OTgtMnguZnVsbC5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIC5pbWctbGF5ZXItMTEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YzNheGIzMmVpYzF3N2F6eGMyZjBsZi10aGUtcmVzb3J0LTM1NHg0OTgtMnguZnVsbC5qcGcnKTtcbiAgICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTE3N3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMjVweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59XG4udGlsZS0xMiB7XG4gIHRvcDogMjU4MnB4O1xuICBsZWZ0OiAxNTQ2cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiA1NTcuNTRweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDEwODIuMnB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAxNTQ2cHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t1N25nandoM28yZzF2YWsxYjhjNGRyNS1jaGlsZHMtcGxheTJ4LmZ1bGwuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgXG4gICAgJjpob3ZlciB7XG4gICAgICAuaW1nLWxheWVyLTEyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdTduZ2p3aDNvMmcxdmFrMWI4YzRkcjUtY2hpbGRzLXBsYXkyeC5mdWxsLmpwZycpO1xuICAgICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTc3cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cbi50aWxlLTEzIHtcbiAgdG9wOiAyMzQwcHg7XG4gIGxlZnQ6IDIxMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDg0MS4yNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMTQ4Ny41cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDIxMjVweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjNWxuOWkyaGo0MXc3YXZyd2VjenJyLXRoZS1odW50LTI1MngxNTYtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTEzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjNWxuOWkyaGo0MXc3YXZyd2VjenJyLXRoZS1odW50LTI1MngxNTYtMnguZnVsbC5qcGcnKTtcbiAgICAgIG1hcmdpbjogLTE3cHggMCAwIC0xMjVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICB9XG4gIH1cbn1cbi50aWxlLTE0IHtcbiAgdG9wOiAyNDU1cHg7XG4gIGxlZnQ6IDIyNjBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDkwNy40cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAxNTgycHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDIyNjBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjOWIwdXUybWF6MXY1eWNyc3N3bm0wLXRoZS1jb25qdXJpbmctMjUyeDQ0MC0yeC5mdWxsLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICY6aG92ZXIge1xuICAgIC5pbWctbGF5ZXItMTQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGM5YjB1dTJtYXoxdjV5Y3Jzc3dubTAtdGhlLWNvbmp1cmluZy0yNTJ4NDQwLTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgfVxuICB9XG4gIFxufVxuLnRpbGUtMTUge1xuICB0b3A6IDI4NXB4O1xuICBsZWZ0OiAxOTc1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiA3NjcuNzVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDEzODIuNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAxOTc1cHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZDNuYWR3MDBhZzF2NnQzd24xODR6YS1iYWQtaGFpci0yNTJ4NDQwLTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0xNSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZDNuYWR3MDBhZzF2NnQzd24xODR6YS1iYWQtaGFpci0yNTJ4NDQwLTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMTI1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgfVxuICB9XG59XG4udGlsZS0xNiB7XG4gIHRvcDogNzcwcHg7XG4gIGxlZnQ6IDI4NzVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDE0MDguNzVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDIwMTIuNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAyODc1cHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZDQ0d3I4MDE3MzF2NnhvMmljanozZC10aGUtZXZpbC1kb29yLTI1MngxNTYtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTE2IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkNDR3cjgwMTczMXY2eG8yaWNqejNkLXRoZS1ldmlsLWRvb3ItMjUyeDE1Ni0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTEyNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxufVxuLnRpbGUtMTcge1xuICAgIHRvcDogMTg1MHB4O1xuICAgIGxlZnQ6IDkxMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgbGVmdDogMzQ1LjlweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGxlZnQ6IDYzN3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBsZWZ0OiA5MTBweDtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZDhjam5jMDc0bTF2NTh0Z3h4NmNndi1pdC0yNTJ4NDQwLTJ4LmZ1bGwuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTE3IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkOGNqbmMwNzRtMXY1OHRneHg2Y2d2LWl0LTI1Mng0NDAtMnguZnVsbC5qcGcnKTtcbiAgICAgIG1hcmdpbjogLTE3cHggMCAwIC0xMjVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgICB9XG4gIH1cbn1cbi50aWxlLTE4IHtcbiAgdG9wOiAyNTk1cHg7XG4gIGxlZnQ6IDMyMzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDE1ODIuN3B4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMjI2MXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAzMjMwcHg7XG4gIH1cblxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RjMnBmeHoyZG9nMXc0OXl5Y3V4NWJvLWFtZXJpY2FuLWhvcnJvci1zdG9yeS01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0xOCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0YzJwZnh6MmRvZzF3NDl5eWN1eDViby1hbWVyaWNhbi1ob3Jyb3Itc3RvcnktNTA0eDIzNC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTI1MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTE5IHtcbiAgdG9wOiA4NDVweDtcbiAgbGVmdDogNzA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAyNDUuNDVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGxlZnQ6IDQ5My41cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDcwNXB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRhbjNkcDA4ejAxdjR6ejNxeTF5Y2wtbW90aGVyLTUwNHgyMzQtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTE5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkYW4zZHAwOHowMXY0enozcXkxeWNsLW1vdGhlci01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xN3B4IDAgMCAtMjUycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMjAge1xuICB0b3A6IDU4NXB4O1xuICBsZWZ0OiA0MDI1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAxOTcyLjI1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAyODE3LjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogNDAyNXB4O1xuICB9XG5cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGI4Y2gxMGE2ZDF2N2NibDdlOWVrYi10d2lsaWdodC16b25lLTUwNHgyMzQtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTIwIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkYjhjaDEwYTZkMXY3Y2JsN2U5ZWtiLXR3aWxpZ2h0LXpvbmUtNTA0eDIzNC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTdweCAwIDAgLTI1MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTIxIHtcbiAgdG9wOiA0MDVweDtcbiAgbGVmdDogNDQ2MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMjE4NS40cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAzMTIycHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDQ0NjBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkZGdtb3QwZDR2MXY3Y3R3OWJxbG9sLXJ1bi0zNTR4NDk4LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yMSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGRnbW90MGQ0djF2N2N0dzlicWxvbC1ydW4tMzU0eDQ5OC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTIyIHtcbiAgdG9wOiAyMjBweDtcbiAgbGVmdDogMzM1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMTY0MS41cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAyMzQ1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDMzNTBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkZTJiZHgwZHhlMXY3YzRkMTJ5YXdpLXRoZS1wdXJnZS0zNTR4NDk4LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yMiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGUyYmR4MGR4ZTF2N2M0ZDEyeWF3aS10aGUtcHVyZ2UtMzU0eDQ5OC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTIzIHtcbiAgdG9wOiAxNTM1cHg7XG4gIGxlZnQ6IDM1NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMTczLjk1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAyNDguNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAzNTVweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkZW50NDAwZWNmMXY3NWEyenZpMXFtLWJsYWNrLXN3YW4tMzU0eDI5NC0yeC5mdWxsLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICY6aG92ZXIge1xuICAgIC5pbWctbGF5ZXItMjMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRlbnQ0MDBlY2Yxdjc1YTJ6dmkxcW0tYmxhY2stc3dhbi0zNTR4Mjk0LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMjQge1xuICB0b3A6IDE2NzVweDtcbiAgbGVmdDogNDMzMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMjI2MS43cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAzMDMxcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDQzMzBweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkaDlncGgwaXUyMXY1OGJ6NmhncWJnLWFubmFiZWxsZS01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yNCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGg5Z3BoMGl1MjF2NThiejZoZ3FiZy1hbm5hYmVsbGUtNTA0eDIzNC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTI1MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTI1IHtcbiAgdG9wOiAyNDQ1cHg7XG4gIGxlZnQ6IDM1NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMTczLjk1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAyNDguNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiAzNTVweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RkaHg2NjgwamNoMXY0d2dkanZza29rLWFubmloaWxhdGlvbi01MDR4MjM0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yNSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGh4NjY4MGpjaDF2NHdnZGp2c2tvay1hbm5paGlsYXRpb24tNTA0eDIzNC0yeC5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTI1MnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRpbGUtMjYge1xuICB0b3A6IDUwNXB4O1xuICBsZWZ0OiAyNDVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDEyMC4wNXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMTcxLjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogMjQ1cHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGk4dmhyMGozaDF2NHo0NnFtamRxai1leG9yY2lzdC0zNTR4Mjk0LTJ4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yNiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZGk4dmhyMGozaDF2NHo0NnFtamRxai1leG9yY2lzdC0zNTR4Mjk0LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMjcge1xuICB0b3A6IDIyNjVweDtcbiAgbGVmdDogNDA5NXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbGVmdDogMjAwNi41NXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMjg2Ni41cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGxlZnQ6IDQwOTVweDtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RuOGRkb3BkOG4yMXY2eHh1aTQ2dXprLXRoZWVtcHR5bWFuLmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yNyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0bjhkZG9wZDhuMjF2Nnh4dWk0NnV6ay10aGVlbXB0eW1hbi5mdWxsLmpwZycpO1xuICAgICAgbWFyZ2luOiAtMTZweCAwIDAgLTE3N3B4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEyNXB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNzdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi50aWxlLTI4IHtcbiAgdG9wOiAyNTI1cHg7XG4gIGxlZnQ6IDQyNzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDIwOTIuM3B4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogMjk4OXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBsZWZ0OiA0MjcwcHg7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0bG4xY2lhYjV1ZzF2MW4yejBwN212dC1mYWxzZS1wb3NpdGl2ZS0zNTR4NDk4LmZ1bGwuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1sYXllci0yOCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0bG4xY2lhYjV1ZzF2MW4yejBwN212dC1mYWxzZS1wb3NpdGl2ZS0zNTR4NDk4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMjkge1xuICB0b3A6IDE2OXB4O1xuICBsZWZ0OiAzMjY1cHg7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBsZWZ0OiAxMTU2Ljg1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiAxNzk1LjVweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogMzI2NXB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGxuMWNrdWI1NGcxdjdjZ3A0dG4xY3Atb25seS1tdXJkZXJzLTUwNHgyMzQuZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTI5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RsbjFja3ViNTRnMXY3Y2dwNHRuMWNwLW9ubHktbXVyZGVycy01MDR4MjM0LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xNnB4IDAgMCAtMjUycHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTc3cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnRpbGUtMzAgeyAgXG4gIHRvcDogMTQwcHg7XG4gIGxlZnQ6IDEyNzBweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGxlZnQ6IDMyMi4zcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBsZWZ0OiA4ODlweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbGVmdDogMTI3MHB4O1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdGRrczJxZTBuYmoxdjFuMGUzb29udnYtYW1lcmljYW4tcHN5Y2hvLTM1NHgyOTQtMnguZnVsbC5qcGcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuaW1nLWxheWVyLTMwIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3Rka3MycWUwbmJqMXYxbjBlM29vbnZ2LWFtZXJpY2FuLXBzeWNoby0zNTR4Mjk0LTJ4LmZ1bGwuanBnJyk7XG4gICAgICBtYXJnaW46IC0xNnB4IDAgMCAtMTc3cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTI1cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE3N3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmh3LXRpbGUtYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uaHctdGlsZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tzeXd6M3dpN2pqdzF2NXlpNjg1MDIzbi1pY29uLWhvdmVyLWh1bHV3ZWVuLXNob3dzLnN2ZycpIG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLmh3LXVsdWgtb25lLCAuaHctdWx1aC10d28sIC5ody11bHVoLXRocmVlLCAuaHctdWx1aC1mb3VyLCAuaHctdWx1aC1maXZlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAtMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG4uaHctdWx1aC1vbmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0ZjJnc3VjMmxqeDF2MW5zeXp2M2w0Zy1zcGVjdHJhbC11bHVoLXdpZGUteC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ody11bHVoLXR3byB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3RmMmdzeWkybGVyMXY2eHlqcjRsZ2FmLXNwZWN0cmFsLXVsdWgtY2xvc2UteC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ody11bHVoLXRocmVlIHtcbiAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHVxNmtyZG16ejYxdjc1bXRjNWE2aXYtc3BlY3RyYWwtdWx1aC13aWRlLTIuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaHctdWx1aC1mb3VyIHtcbiAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHVxNmtya2V5NjgxdjR3ZGc4dHA0MDMtc3BlY3RyYWwtdWx1aC1jbG9zZS0zLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmh3LXVsdWgtZml2ZSB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R1cTZrczZtcWoyMXc3anBwajNsNW42LXNwZWN0cmFsLXVsdWgtd2lkZS0xLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHctdWx1aC1tb2Itb25lLCAuaHctdWx1aC1tb2ItdHdvLCAuaHctdWx1aC1tb2ItdGhyZWUsIC5ody11bHVoLW1vYi1mb3VyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLmh3LXVsdWgtbW9iLW9uZSB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R4M3dxdTMwMTRtMXZha2FiY3dna3plLXNwZWN0cmFsLXVsdWgtY2xvc2UtbW9iaWxlMy5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ody11bHVoLW1vYi10d28ge1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0eDN3cXU2MDE0bjF2OGpyZWpucmloZS1zcGVjdHJhbC11bHVoLXdpZGUtbW9iaWxlMi5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ody11bHVoLW1vYi10aHJlZSB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R4M3dxcTMwMWI0MXY5bzFvZmtyYnlzLXNwZWN0cmFsLXVsdWgtY2xvc2UtbW9iaWxlMS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5ody11bHVoLW1vYi1mb3VyIHtcbiAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHgzd3F4NjAweWUxdjZiM2cxMnp3ZWgtc3BlY3RyYWwtdWx1aC13aWRlLW1vYmlsZTQuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY292ZXItY2xvc2UtaHVsdXdlZW4ge1xuICB6LWluZGV4OiA5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDEwMHB4O1xuXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxufVxuLnJldmVhbC1odWx1d2VlbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG59IiwiYm9keSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmgxLXBzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDMuMzc1cmVtO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgICAgcGFkZGluZzogMCAycmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjlyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgNnJlbSAzcmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4ucHMtY2FyLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgLTJweCAwICFpbXBvcnRhbnQ7XG59XG4ucHMtdmlkZW8ge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IHNvbGlkIDNweCAkZ3JlZW47XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgd2lkdGg6IDk5MHB4O1xuICAgIGhlaWdodDogNTUwcHg7XG4gIH1cbn1cbi5idXR0b24taGVhZGVyLXdhdGNoIHtcbiAgbWluLXdpZHRoOiAyMjBweDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRibGFjay1kcms7XG4gIH1cbn1cbi5idXR0b24taGVhZGVyLXBzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHBhZGRpbmc6IDAuOXJlbSAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAwLjlyZW0gMXJlbTtcbiAgfVxuIFxufVxuLnBzLXNoYXJlLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuLm1hc3RoZWFkLXdpZGUtcGxhbmVzd2FwIHtcbiAgcGFkZGluZzogMTJyZW0gMCAxMi41cmVtIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwM3ZoO1xufVxuLm1hc3RoZWFkLWJhY2staHVsdSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiA4NyU7XG4gICAgdG9wOiA1NiU7XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggJGdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogODV2aDtcbiAgICBib3JkZXI6IHNvbGlkIDhweCAkZ3JlZW47XG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdG9wOiA1MiU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDg1dmg7XG4gICAgYm9yZGVyOiBzb2xpZCA4cHggJGdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDcwcHg7XG4gIH1cbn1cbi5tYXN0aGVhZC1ibG9jay13cmFwcGVyLXBzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB3aWR0aDogNzAlO1xufVxuLm1hc3RoZWFkLWJhY2stcGxhbmVzd2FwIHtcbiAgLmJhY2stbGVmdCB7XG4gICAgLmxlZnQtZG90cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxZmdybW11MThwaTF2N2lxM3Z3aGNuNi1kb3RzLWxlZnQtdG9wLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDQxMHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxlZnQtcGxhbmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMGxsOGY1azBiYnExdjRuOXl3bzFjZmctcHMtbWFzdC1sZWZ0LXBsYW5lLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA1MzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5iYWNrLXJpZ2h0IHtcbiAgICAucmlnaHQtZG90cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wwbGw4ZWJsMGJjczF2M3BwcG1qMmM1aC1wcy1tYXN0LXJpZ2h0LWRvdHMuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgICB3aWR0aDogMjcwcHg7XG4gICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDMwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiA1MzBweDtcbiAgICAgICAgdG9wOiA2MjBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiA2MTBweDtcbiAgICAgICAgdG9wOiA1MzBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwMHB4O1xuICAgICAgICB0b3A6IDMwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAucmlnaHQtcGxhbmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMGxsOGYybjBiZTgxdjI2ZWNvczJrdmMtcHMtbWFzdC1yaWdodC1wbGFuZS5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICBtYXgtd2lkdGg6IDQ1JTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgICAgICBib3R0b206IC0xMDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgYm90dG9tOiAtOTBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDtcbiAgICAgICAgYm90dG9tOiAtMjAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLm1hc3RoZWFkLWxvZ28tcGxhbmVzd2FwIHtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgbWFyZ2luOiAtNTVweCAwIDIwcHggMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogLTQwcHggMCAyNXB4IDA7IFxuICAgIHdpZHRoOiA0MDBweDtcbiAgICBcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luOiAtNDBweCAwIDI1cHggMDsgXG4gICAgd2lkdGg6IDQ1MHB4O1xuICB9XG59XG5cbi5iay1ncmFkaWVudC1odWx1d2VlbiB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R2b3J3NmRvYTBrMXY2eDZvMDU3b2tnLWJnLXZlaWwtZ3JhZC0yLTN4LmZ1bGwuanBnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IC05OTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3R3NTJ6bXlvdmdsMXYxbjQ4cDJhaWJmLWJnLXZlaWwtZ3JhZC0yLW1vYmlsZTMuZnVsbC5qcGcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMXZoO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrdHZvcnc2ZG9hMGsxdjZ4Nm8wNTdva2ctYmctdmVpbC1ncmFkLTItM3guZnVsbC5qcGcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMXZoO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2t0dm9ydzZkb2EwazF2Nng2bzA1N29rZy1iZy12ZWlsLWdyYWQtMi0zeC5mdWxsLmpwZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbi5zdWJ0aXRsZS1wcyB7XG4gIHdpZHRoOiA1MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiA1MjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gIH1cbn1cbi5ub3RlLXBzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cbn1cbi5jb250YWluZXItd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTM1MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbWFyZ2luOiA3MHB4IGF1dG87ICBcbiAgICBwYWRkaW5nOiAwOyBcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbjogMTAwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbjogMTQwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gIH1cbn1cbi5jb250YWluZXItbGVmdCB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgIFxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB3aWR0aDogNjElO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5jb250YWluZXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmNvbnRhaW5lci1yaWdodC1oaWdoIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyAgXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICB9XG59IFxuLmNvbnRhaW5lci1sZWZ0LXNob3J0IHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHdpZHRoOiA2MTVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5jYXJvdXNlbC1wcyB7XG4gIHBhZGRpbmc6IDNyZW0gMCAzcmVtIDA7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgcGFkZGluZzogNXJlbSAwIDAgMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiA1cmVtIDAgMCAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAxMHJlbSAwIDAgMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgfVxufVxuXG4ucHMtb24tbW9iIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgd2lkdGg6IDg1JTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLnBzLW9uLWRlc2sge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogLTc1MHB4IDAgMCAwO1xuICAgICAgd2lkdGg6IDEyMCU7XG4gIH1cbn1cbi5wcy10ZXh0LWJsb2NrIHtcbiAgbWFyZ2luOiAtMjIwcHggMCAwIDA7XG4gIHdpZHRoOiA1ODBweDtcbn1cbi5kb3RzLWxlZnQtbWlkIHtcbiAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTN1cnV2ZWhvYmkxdjVyejdqZW4wdzUtcHMtbWlkLWxlZnQtZG90cy5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggNTMwcHg7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMTAwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MDBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAxMjAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMjAlO1xuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiA4MzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDIxMDBweDtcbiAgICBtYXJnaW4tdG9wOiAxMjAlO1xuXG4gIH1cbn1cblxuLmRvdHMtcmlnaHQtbWlkIHtcbiAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTN0d3B2cmxjZXgxdjRqMXBjZHI0eTEtcHMtbWlkLXJpZ2h0LWRvdHMuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDIzMHB4O1xuICBoZWlnaHQ6IDYyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDgwcHggOTBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG59XG4uZG90cy1yaWdodC1ib3Qge1xuICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxNDc2NDF6MDIyejF2NG4xcDJ3dmQ2ZS1wcy1ib3QtcmlnaHQtZG90cy5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiAyMzBweDtcbiAgaGVpZ2h0OiA0ODBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgbWFyZ2luOiAwXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1hcmdpbjogMjUwcHggMCAwIDA7XG4gIH1cbn1cbi5wbGFuZS1yaWdodC1taWQge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDE1ZnZzamcwZHZmMTlhcHlzZ25rejR2LXBzLW1pZC1yaWdodC1wbGFuZS1mdWxsLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIHdpZHRoOiAzODBweDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxNWZ2c2pnMGR2ZjE5YXB5c2dua3o0di1wcy1taWQtcmlnaHQtcGxhbmUtZnVsbC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICB3aWR0aDogNjQwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTVmdnNqZzBkdmYxOWFweXNnbmt6NHYtcHMtbWlkLXJpZ2h0LXBsYW5lLWZ1bGwuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAzOCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuLmRpdmVyLXJpZ2h0LW1pZCB7XG4gIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDEzdWNieDdhaG9wMXY2eGx1NXA5bm10LXBzLW1pZC1yaWdodC1kaXZlci5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICByaWdodDogNSU7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wxM3VjYng3YWhvcDF2NnhsdTVwOW5tdC1wcy1taWQtcmlnaHQtZGl2ZXIuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDk1JTtcbiAgICByaWdodDogLTQwcHg7XG4gICAgaGVpZ2h0OiA0MzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAtMjIwcHggMCAtMTAwcHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDkwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMHB4IDBweDtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDEzdWNieDdhaG9wMXY2eGx1NXA5bm10LXBzLW1pZC1yaWdodC1kaXZlci5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICB3aWR0aDogNzMwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAtMjAwcHggMCAwIDA7XG4gICBcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsMTN1Y2J4N2Fob3AxdjZ4bHU1cDlubXQtcHMtbWlkLXJpZ2h0LWRpdmVyLmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogNDMlO1xuICAgIGhlaWdodDogNTMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiAxNSU7XG4gIH1cbn1cbi50ZXh0LXJpZ2h0LXBzIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMCAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDE1cHggMjVweCAwIDA7XG4gIH1cbn1cbi50ZXh0LXJpZ2h0LXNob3J0IHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjk1cmVtXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4uZGV2aWNlcy1wcyB7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogMCAwIDgwcHggMDtcbiAgfVxufVxuLmdyaWQtc2VsZWN0LXBzIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4udGFicy13cmFwcGVyLXBzIHtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiAtODBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogMjIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogMjIwcHg7XG4gIH1cbn1cbi50YWJzLWNvbnRlbnQtcHMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnRhYnMtcHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi50YWJzLXRpdGxlLXBzIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xufVxuXG4udGFicy10aXRsZS1saW5rIHtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEzMDZweCkge1xuICAuaDQtcHMge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLm1hc3RoZWFkLWJhY2stcGxhbmVzd2FwIC5iYWNrLXJpZ2h0IC5yaWdodC1wbGFuZSB7XG4gICAgYm90dG9tOiAtNDAlO1xuICB9XG4gIC50YWJzLXdyYXBwZXItcHMge1xuICAgIG1hcmdpbi10b3A6IDExMHB4O1xuICB9XG4gIC5wcy12aWRlbyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyMDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaDQtcHMge1xuICAgIHdpZHRoOiA4MCU7XG5cbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE4NzBweCkgYW5kIChtYXgtd2lkdGg6IDMzMDZweCkge1xuXG4gIC5tYXN0aGVhZC1iYWNrLXBsYW5lc3dhcCAuYmFjay1sZWZ0IC5sZWZ0LXBsYW5lIHtcbiAgICB3aWR0aDogNDElO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICB9XG4gIC50YWJzLXdyYXBwZXItcHMge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIG1hcmdpbi10b3A6IDM1MHB4O1xuICB9XG4gIC5kaXZlci1yaWdodC1taWQge1xuICAgIHdpZHRoOiAzNiU7XG4gIH1cblxufSIsIi5ib2R5LWJrLWxvbGxhIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYXFrbTB3NzF1NXVlMnNtbDkydC1ncmFkaWVudC1iYWNrZ3JvdW5kLTM3NS5mdWxsLmpwZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjFzO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NrcjI5YWFwZG0xMG8xdTV1ZTA5Zm9neGItZ3JhZGllbnQtYmFja2dyb3VuZC03NjguZnVsbC5qcGcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3IyOWFhc3A2dWRrMXU2bXIwZjhrN2gzLWdyYWRpZW50LWJhY2tncm91bmQtMTYwMC5mdWxsLmpwZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG59XG5cbi5sb2xsYS1oZWlnaHQge1xuICAgIGhlaWdodDogJHR0aGgtaGVyby1oZWlnaHQ7XG59XG4ubG9sbGEtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogN3JlbTtcbn1cbi5sb2xsYS1zaG9ydCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5sb2xsYS1zaG9ydC1zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubG9sbGEtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogN3JlbTtcbiAgICB9XG59XG4uZ3JpZC1sb2xsYSB7XG4gICAgcGFkZGluZzogMHJlbSAwLjVyZW0gMCAwLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwIDMuNXJlbTtcbiAgICB9XG4gIH1cbi5sb2xsYS1jb250YWluZXItbW9iaWxlIHtcbiAgICBwYWRkaW5nOiA0cmVtIDFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA3cmVtO1xuICAgIH1cbn1cbi5sb2xsYS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNHJlbSAwIDJyZW0gMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAxMHJlbSAwIDdyZW0gN3JlbTtcbiAgICB9XG59XG4uYm9ubi10YWJzLWNvbnRhaW5lciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgcGFkZGluZzogMnJlbSAwIDJyZW0gMDtcbiAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA3cmVtIDAgMnJlbSAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDExcmVtIDAgMCA3cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cbi5sb2xsYS1vbi1tb2Ige1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuLmxvbGxhLW9uLWRlc2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMTAlO1xuICAgICAgICBtYXJnaW46IC00MDBweCAwIDAgMDtcbiAgICAgICAgd2lkdGg6IDEyMCU7XG4gICAgfVxufVxuLmJvbm4tb24tZGVzayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogLTI3MHB4IDAgMCAwO1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgfVxufVxuLmJvbm4tc2VjdGlvbi1mbHVmZnkge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDhyZW0gMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMTVyZW0gMCAxNXJlbSAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDIxcmVtIDdyZW0gMjNyZW0gN3JlbTtcbiAgICB9XG59XG5cblxuXG4uY2xvdWRzLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgXG4gIC5jbG91ZHMtc2xpZGluZy1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsM3cxNnE2ZG5oNW4xdjVmbGllNTBuc3EtY2xvdWRzLmZ1bGwucG5nXCIpIHJlcGVhdC14O1xuICAgIHdpZHRoOiAxMDAwNzZweDtcbiAgICBhbmltYXRpb246IHNsaWRlIDM5NjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogLjglO1xuICAgICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuMSU7XG4gICAgICAgIGhlaWdodDogOTUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjMlO1xuICAgICAgICBoZWlnaHQ6IDEzMTBweDtcbiAgICB9XG4gIH1cbiAgXG4gIEBrZXlmcmFtZXMgc2xpZGV7XG4gICAgMCV7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAle1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwNjkycHgsIDAsIDApO1xuICAgIH1cbiAgfVxuXG4uYm9ubi12aWRlbyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgIHdpZHRoOiA2NDVweDtcbiAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDk4MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIH1cbn1cbi5pbWctYXJyb3cge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4uaDEtbG9sbGEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS45cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAzcmVtIDNyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG4uaDEtYm9ubiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuLmg0LWxvbGxhIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAyNHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbi5icmVhayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxufVxuLmltZy1kb28td2FwIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAxNjRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjg2cHg7XG4gICAgfVxufVxuLmhpZ2hsaWdodCB7XG4gICAgc3BhbiAge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWJvbGQ7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgcGFkZGluZzogMC45MzhyZW0gMS41NjNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gICAgfVxufVxuLnN1YmhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtYm9sZDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIG1hcmdpbjogMS43cmVtIDAgMi41cmVtIDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAyLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICB9XG59XG4ubWFzdGhlYWQtd2lkZS1ib25uIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cbi5tYXN0aGVhZC13aWRlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMHZoXG59XG4ubWFzdGhlYWQtd2lkZS1sb2xsYSB7XG4gICAgcGFkZGluZzogMTRyZW0gMCAzMHJlbSAwO1xufVxuLm1hc3RoZWFkLWxvZ28tYm9ubiB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsM3cyOTI1NjhoN3gxdjJkcmdja21yZjAtbG9nby1sb2NrdXAtYm9ubi5mdWxsLnBuZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMnM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzMwcHggMTQzcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuLm1hc3RoZWFkLWJsb2NrLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB6LWluZGV4OiA5O1xufVxuLnN1YnRpdGxlLWJvbGQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG59XG4uc3VidGl0bGUtcmVxdWlyZSB7XG4gICAgZm9udC1zaXplOiAuOXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiAuN3JlbSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjlyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MTBweDtcbiAgICB9XG59XG4ubm90ZS1sb2xsYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAuMnJlbSAwIDFyZW0gMDtcbn1cbi5ub3RlLWJvbm4ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiAwXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG4udHh0LW1vYmlsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5hLmJ1dHRvbi1oZWFkZXItbG9sbGEuYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3MgIWltcG9ydGFudDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBjb2xvcjogJGJsYWNrLWRyaztcbiAgICAgICAgb3BhY2l0eTogLjggIWltcG9ydGFudDtcbiAgICB9XG59XG4uYnV0dG9uLWhlYWRlci1sb2xsYSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuLmJ1dHRvbi13YXRjaC1sb2xsYSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgIC8vaGlkZVxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICAgIH1cbn1cbi5jYXJvdXNlbC1sb2xsYSB7XG4gICAgcGFkZGluZzogM3JlbSAwIDNyZW0gMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiA5cmVtIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlyZW07XG4gICAgfVxufVxuLmFjY29yZGlvbi1sb2xsYSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5hY2NvcmRpb24tdGl0bGUtbG9sbGEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59IFxuLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI0VCRURGMjtcbn1cblxuLm1hc3RoZWFkLWljb25zLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi10b3A6IC02cmVtO1xufVxuLm1hc3RoZWFkLWljb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwIDUlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cbi5tYXN0aGVhZC10MSB7XG4gICAgbGVmdDogMiU7XG4gICAgdG9wOiAxOTBweFxufVxuLm1hc3RoZWFkLXQyIHtcbiAgICBsZWZ0OiAyNiU7XG4gICAgdG9wOiA4MHB4XG59XG4ubWFzdGhlYWQtdDMge1xuICAgIGxlZnQ6IDQ3JTtcbiAgICB0b3A6IDcwcHg7XG4gICAgd2lkdGg6IDE5MHB4O1xufVxuLm1hc3RoZWFkLXQ0IHtcbiAgICBsZWZ0OiA3MSU7XG4gICAgdG9wOiAxMjBweDtcbiAgICB3aWR0aDogMjMwcHg7XG59XG4ubWFzdGhlYWQtdDUge1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MjBweDtcbiAgICB3aWR0aDogMjYwcHg7XG59XG4ubWFzdGhlYWQtdDYge1xuICAgIGxlZnQ6IDIwJTtcbiAgICB0b3A6IDYxMHB4O1xuICAgIHdpZHRoOiAxMjBweDtcbn1cbi5tYXN0aGVhZC10NyB7XG4gICAgbGVmdDogNTclO1xuICAgIHRvcDogNjQ1cHg7XG4gICAgd2lkdGg6IDE4NXB4O1xufVxuLm1hc3RoZWFkLXQ4IHtcbiAgICBsZWZ0OiA2OSU7XG4gICAgdG9wOiA1MDBweDtcbiAgICB3aWR0aDogMTUwcHg7XG59XG4ubWFzdGhlYWQtdDkge1xuICAgIGxlZnQ6IDgxJTtcbiAgICB0b3A6IDQyMHB4O1xuICAgIHdpZHRoOiAxNzBweDtcbn1cbi5yb3ctbGlzdGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2tyMjlhYW16bTB6MDF1NHdjYWhiZWxoZS1yaWdodC1hcnJvdy5zdmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB3aWR0aDogMjlweDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbn1cbi50ZXh0LWJvbnVzIGltZyB7XG4gICAgd2lkdGg6IDI5cHg7XG4gICAgaGVpZ2h0OiAyOXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgIH1cbn1cbi8vdGVtcCBpbWFnZXNcbi50ZW1wLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICB9XG4gIFxuICAudGVtcC1pbWcge1xuICAgIHdpZHRoOiA5MC4yJTtcbiAgICBoZWlnaHQ6IDM2MnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjQ5NTc7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRlbXAtaW1nLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC50ZW1wLWltZy1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cblxuIFxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkyMHB4KSB7XG4gICAgLmgxLWJvbm4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cmVtO1xuICAgIH1cbiAgICAubWFzdGhlYWQtY292ZXItYm9ubi10b3Age1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wyczFxMmpvM2E4dDF2MmR6ZHE1aWsxdi1tYXN0LWJvbm4tdGwuZnVsbC5wbmcnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjsgICAgICAgIFxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87IFxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgICAgIHRvcDogNzBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDJzMXF4dWMzNjZvMXY0bm12MHJvNDkxLW1hc3QtYm9ubi10ci5mdWxsLnBuZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyOyAgICAgICAgXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjIlO1xuICAgICAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWFzdGhlYWQtY292ZXItYm9ubi1ib3Qge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wzOThwMjlxazNjYTF2NDVkdzZ4ams3ZC1pbWctYm9uLWJsLmZ1bGwucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2wzOThwMjRyazJ4YjF2NXN4cXJ5Y25iZS1pbWctYm9uLWJyLmZ1bGwucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIHtcbiBcbiAgICAubWFzdGhlYWQtbG9nby1sb2xsYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcblxuXG4gICAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMnB4KSB7XG4gICAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tdG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tYXN0aGVhZC1jb3Zlci1ib25uLWJvdCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICB9XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAubWFzdGhlYWQtbG9nby1sb2xsYSB7XG4gICAgICAgIHdpZHRoOiA0MzBweDtcbiAgICB9XG4gICAgLm5vdGUtbG9sbGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAuaDEtYm9ubiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzVweCkge1xuXG4gICAgLm1hc3RoZWFkLWNvdmVyLWJvbm4tdG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tYXN0aGVhZC1jb3Zlci1ib25uLWJvdCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuYm9keS1iay1sb2xsYSB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxuXG4gICAgLm1hc3RoZWFkLWxvZ28tbG9sbGEge1xuICAgICAgICB3aWR0aDogMjcwcHg7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgLm1hc3RoZWFkLWJsb2NrLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICB9XG4gICAgLm1hc3RoZWFkLXdpZGUtbG9sbGEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNyZW07XG4gICAgfVxufVxuXG4ubm93LWxpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRncmVlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5vdGUtZmF2LWJvbm4ge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDEuN3JlbSAwIDEuN3JlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDZyZW0gMCA2cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAzcmVtIDAgMDtcbiAgICB9XG59IiwiLnN1YnRpdGxlLXJlcXVpcmUge1xuICAgIGZvbnQtc2l6ZTogLjlyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IC45cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxufVxuLmFjbC10YWJzLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDAgMnJlbSAwO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDAgN3JlbSA3cmVtO1xuICAgIH1cbn1cblxuLm1hc3RoZWFkLXdpZGUtYWNsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIH1cbn1cbi5tYXN0aGVhZC1hY2wtbW9iIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGMwZXN4ZTFqbWwxdjNqYXV5ZHU2aWUtYWNsLW1hc3QtbW9iLmZ1bGwucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tdG9wOiA2OTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhjMGVzeGUxam1sMXYzamF1eWR1NmllLWFjbC1tYXN0LW1vYi5mdWxsLnBuZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjkwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ubWFzdGhlYWQtbG9nby1hY2wge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3JlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjJzO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w4YnhxNmoyMWc1ZjF2NGprNWd5MmJyNi1hY2wtbG9nby1tb2IuZnVsbC5wbmcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhhdnh6MTgwMzFyMXY1amt0MmR5YzhmLWFjbC1sb2dvLmZ1bGwucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGF2eHoxODAzMXIxdjVqa3QyZHljOGYtYWNsLWxvZ28uZnVsbC5wbmcnKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgICB3aWR0aDogNjAwcHg7XG4gICAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOTIwcHgpIHtcbiAgICAubWFzdGhlYWQtY292ZXItYWNsLXRvcCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhieGVhcjAxZnB5MXY0amVocTY1MGI0LWFjbC1tYXN0LXRsLmZ1bGwucG5nJykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICB0b3A6IDEwMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w4YnhlYXI3MWZweTF2M2oyOWVwZ2tmeS1hY2wtbWFzdC10ci5mdWxsLnBuZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyOyAgICAgICAgXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMjIlO1xuICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubWFzdGhlYWQtY292ZXItYWNsLWJvdCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhieGVhcHcxZnB6MXY0N3F2aTU0dzBjLWFjbC1tYXN0LWJsLmZ1bGwucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDhieGVhc3kxZnB3MXYweWU4YWIyNWRlLWFjbC1tYXN0LWJyLmZ1bGwucG5nJykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGFycyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsOGJ6ZHJrNzFpYTkxdjE0ZXl1MDFnY3otYWNsLW1hc3Qtc3Rhci5mdWxsLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyAgICAgICAgXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87IFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG59XG4uc3RhcnMtb25lIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiA3JTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMjUlO1xuICAgICAgICB0b3A6IDE1MHB4O1xuICAgIH1cbn1cbi5zdGFycy10d28ge1xuICAgIGxlZnQ6IDYlO1xuICAgIHRvcDogMjgwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbi5zdGFycy10aHJlZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMTglO1xuICAgICAgICB0b3A6IDQ1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAxOCU7XG4gICAgICAgIHRvcDogMzUwcHg7XG4gICAgfVxufVxuLnN0YXJzLWZvdXIge1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IDYlO1xuICAgICAgICB0b3A6IDU3MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAyJTtcbiAgICAgICAgdG9wOiA0MjBweDtcbiAgICB9XG59XG4uc3RhcnMtZml2ZSB7XG4gICAgcmlnaHQ6IDMwJTtcbiAgICB0b3A6IDE1MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4uc3RhcnMtc2l4IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICByaWdodDogMTIlO1xuICAgICAgICB0b3A6IDM5MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICByaWdodDogMTIlO1xuICAgICAgICB0b3A6IDM1MHB4O1xuICAgIH1cbn1cbi5zdGFycy1zZXZlbiB7XG4gICAgcmlnaHQ6IDI0JTtcbiAgICB0b3A6IDUzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLnN0YXJzLWVpZ2h0IHtcbiAgICByaWdodDogMiU7XG4gICAgdG9wOiA1NDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLmgxLWFjbCB7XG4gICAgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0zMHB4ICFpbXBvcnRhbnQ7XG59XG4uYWNsLW9uLWRlc2sge1xuICAgIG1hcmdpbi10b3A6IC0zODBweDtcbiAgICB3aWR0aDogNTIwcHg7XG4gICAgcmlnaHQ6IDglO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzgwMHB4KSB7XG5cbiAgICAuZG9udC1hY2wtb24tZGVzayB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjRzO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIHtcblxuICAgIC5kb250LWFjbC1vbi1kZXNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1hc3RoZWFkLWxvZ28tYWNsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuXG4gICAgLmRvbnQtYWNsLW9uLWRlc2sge1xuICAgICAgICB3aWR0aDogMTIwJTtcbiAgICB9XG5cbiAgICAubWFzdGhlYWQtbG9nby1hY2wge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMnB4KSB7XG5cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzVweCkge1xuICAgIC5tYXN0aGVhZC1sb2dvLWFjbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIjZ3JpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLndrYi1ib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyNywyNiwyNik7IFxuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDI3LDI2LDI2LDEpIDAlLCByZ2JhKDE4LDE0LDE0LDEpIDEwMCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQ7XG4gICAgfVxufVxuLndrYi13cmFwcGVyIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcGFkZGluZzogNzBweCAzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNjMwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxNjMwcHg7XG4gICAgfVxufVxuLndrYi13cmFwcGVyLWRlc2t0b3Age1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxufVxuLyogSGlkZSBzY3JvbGxiYXIgZm9yIENocm9tZSwgSUUsIEVkZ2UgYW5kIEZpcmVmb3ggKi9cbi53a2Itd3JhcHBlci1kZXNrdG9wOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi53a2Itd3JhcHBlci1kZXNrdG9wIHtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICAvKiBJRSBhbmQgRWRnZSAqL1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgIC8qIEZpcmVmb3ggKi9cbiAgfVxuLndrYi13cmFwcGVyLW1vYmlsZSB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDMzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICMxYjFhMWEgMCUsICMxMjBlMGUgMTAwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAjMWIxYTFhIDAlLCAjMTIwZTBlIDEwMCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLndrYi1iYWNrLW1vYmlsZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiByZ2IoMjcsMjYsMjYpOyBcbiAgICAgICAgLy8gYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNywyNiwyNiwxKSAwJSwgcmdiYSgxOCwxNCwxNCwxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWgyYnRkdGFzZWMxdjN2Z3F0OW9kdXotd2tiLWxvZ28uZnVsbC5wbmcnKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmRvb3ItaW1nLXdrYiB7XG4gICAgd2lkdGg6IDEzN3B4O1xuICAgIGhlaWdodDogMTQzcHg7XG59XG4uZG9vci1pbWctbnVtIHtcbiAgICB3aWR0aDogMTYzcHg7XG4gICAgaGVpZ2h0OiAyODlweDtcbn1cbi5kb29yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2NXB4O1xuICAgIGhlaWdodDogMzQ0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgzMDAwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNXB4IDE1cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgXG4gIC5kb29yLWZyb250IHtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgaGVpZ2h0OiAzNDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgIC8vIGJveC1zaGFkb3c6IDMwcHggMCA1MHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICB6LWluZGV4OjE7XG4gICAgdHJhbnNpdGlvbjogLjVzO1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsaWRxZG1lazhmMXY1OGV5OHB3MWwyLXdrYi1pbWctZG9vci15ZWxsb3cuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICB9XG4gIC5kb29yLWZyb250LXJlZCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWxpZHFhZ3EwYXAxdjF5N2J2M2wyM2Mtd2tiLWltZy1kb29yLXJlZC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIH1cbiAgLmRvb3ItZnJvbnQtZ3JlZW4ge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsaWRxOXV2OWZ1MXY2dzBqa2J3MzRoLXdrYi1pbWctZG9vci1ncmVlbi5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIH1cbiAgXG4gIFxuICAuZG9vcjpob3ZlciAuZG9vci1mcm9udCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDExMGRlZyk7IFxuICAgIGJveC1zaGFkb3c6IDMwcHggMCA1MHB4IHJnYmEoMCwwLDAsMC4yKTtcbiAgfVxuICBcbiAgLmRvb3ItYmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3V0bGluZTogMTBweCBzb2xpZCAjYmM5NjQ1OyBcblxuICB9XG4gIC5kb29yLWJhY2stcmVkIHtcbiAgICBvdXRsaW5lOiAxMHB4IHNvbGlkICM4ZTI5MWQ7XG5cbiAgfVxuICAuZG9vci1iYWNrLWdyZWVuIHtcbiAgICBvdXRsaW5lOiAxMHB4IHNvbGlkICMzYzY3NTQ7XG5cbiAgfVxuICAuZG9vci1kYXJrIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiB0cmFuc3BhcmVudCBzb2xpZCAxMHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIFxuLy9Eb29yIEJhY2sgU3VzcGVjdHNcbi5kb29yLWJhY2stbGluayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5kb29yLWJhY2stc3VzIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjc1cyAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNzBweDtcbiAgICBoZWlnaHQ6IDM0NXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTMwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG59XG5cbi5kb29yLWd1aWx0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsIDAuNjUpIDtcbiAgICBib3JkZXI6IGRhc2hlZCAycHggI2Y5ZjlmOTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBjb2xvcjogI2Y5ZjlmOTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICBib3R0b206IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgyMiwgMjIsIDIyLCAwLjM1KSA7XG4gICAgfVxufVxuXG5cbi53a2ItZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsICMwMDAwMDApO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG4ud2tiLWZvb3Rlci1yIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTM1cHg7XG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICB9XG59XG4ud2tiLWZvb3Rlci10aXRsZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmZvb3Rlci1saXN0IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zcG90bGlnaHQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICBjaXJjbGUsXG4gICAgICAgIHRyYW5zcGFyZW50IDMwMHB4LFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuODUpIDgwMHB4XG4gICAgKTtcbiAgICB6LWluZGV4OiA5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4ucmV2ZWFsLXdrYiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG5cbi53a2ItY292ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuLmNvdmVyLWF1ZGlvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIHJpZ2h0OiAxMjBweDsgXG4gICAgICB3aWR0aDogMTcwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICByaWdodDogMTIwcHg7XG4gICAgICB3aWR0aDogMTcwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHJpZ2h0OiA0MTBweDtcbiAgICAgIHRvcDogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG59XG4uY292ZXItbWVzc2FnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNvdmVyLWluc3RydWN0aW9uIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xufVxuLmNvdmVyLWluc3RydWN0aW9uLW1vYmlsZSwgLmNvdmVyLXNoYXJlLW1vYmlsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICB3aWR0aDogMjAwcHg7XG59XG4uY292ZXItc2hhcmUtbW9iaWxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1NXB4O1xufVxuLmNvdmVyLWJ1dHRvbi1tb2JpbGUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDYxNDNoNG9rNHJlMXY1OHY3NnFvYnM4LXdsYi1jb3Zlci1idXR0b24uZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDM1cHg7XG59XG4uY292ZXItY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9ja3JvNzB6eGpvYmJyMXU3MnJjMXptc2FjLWljb24tY2xvc2Uuc3ZnKSBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBtYXJnaW46IC0xcHggMHB4IDAgMTBweDtcbiAgICB9XG59XG4uY292ZXItaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWp1bW11cnBueW8xdzU4YXhmNnkwMTAtd2tiLWNvdmVyLWltZy10YXAuZnVsbC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVqdW1tdXJwbnlvMXc1OGF4ZjZ5MDEwLXdrYi1jb3Zlci1pbWctdGFwLmZ1bGwucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVoMnNrcDRrN3h0MXYxeWFwMzh5ZzN4LXdrYi1jb3Zlci1pbWctY2xpY2suZnVsbC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfSAgIFxufVxuLmNvdmVyLWltYWdlLW1vYmlsZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w2MTQzZ3pkazR3eTF2NncyNWs0bXBmay13a2ItY292ZXItbW9iaWxlLWZyYW1lLmZ1bGwucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJyAgICBodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNjE0M2d6ZGs0d3kxdjZ3MjVrNG1wZmstd2tiLWNvdmVyLW1vYmlsZS1mcmFtZS5mdWxsLnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0gXG59XG4uY292ZXItbWVzc2FnZS1kZXNrdG9wIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbi5jb3Zlci1tZXNzYWdlLW1vYmlsZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnJldmVhbC13a2Ige1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjFEMUQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogODAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICB3aWR0aDogMjY1cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MjVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDUwcHg7XG4gICAgfVxufVxuLnJldmVhbC13a2ItZnJhbWUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDVsOGdtNGllN2FsMXY4b2hrODN4cDI3LXdrYi1tb2RhbC1mcmFtZS5mdWxsLnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogOTk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICBoZWlnaHQ6IDM4NHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDIyMHA7XG4gICAgICAgIGhlaWdodDogNDA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICB9XG59XG4ucmV2ZWFsLXdrYi1jYXJkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiA5O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDE2M3B4O1xuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgIGhlaWdodDogMzk1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2NXB4O1xuICAgIH1cbn1cbi5yZXZlYWwtdGl0bGUsIC5yZXZlYWwtbWVyY2gge1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA2MHB4IDAgMCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cbi5yZXZlYWwtbWVyY2gge1xuICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5yZXZlYWwtc29jaWFsLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiAxMDBweCBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG4uYnRuLXdrYi1zaGFyZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDM0E0MDQgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBmb250LWZhbWlseTogJ0dyYXBoaWstU2VtaWJvbGQnO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQ6ICNDM0E0MDQ7XG4gICAgY29sb3I6ICMxRjFEMUQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMjVweCA5cHggMzdweDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQgLjI1cztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgNC41cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTdweCA5cHggMzdweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHggOXB4IDM3cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHggOXB4IDM3cHg7XG4gICAgfVxuICAgIFxuXG5cbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgY29sb3I6ICMxRjFEMUQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uYnRuLXdrYi1mYiB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWp5dXRzYTM1NTAxdjM0c3diNTByeW8td2tiLWljb24tc2hhcmUtZmIuZnVsbC5wbmcnKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNBNDA0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4JSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE4cHggOHB4ICFpbXBvcnRhbnQ7XG4gICAgLy8gcGFkZGluZzogOHB4IDI1cHggOHB4IDM3cHg7XG59XG4uYnRuLXdrYi10dyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL2h1bHUtbWF0Y2htYWtlci5zMy5hbWF6b25hd3MuY29tL2F0dGFjaG1lbnRzL2NsNWp6dmNqZGNsYjkxdjU4MzE4eWU2emYtd2tiLWljb24tc2hhcmUtdHcuZnVsbC5wbmcnKSBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNBNDA0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNSUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNnB4IDEwcHggIWltcG9ydGFudDtcbn1cbi5idG4td2tiLWlnIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1bjBrb3p0MXNnZzF2NmhqY3h3Y3Z4dy13a2ItaWNvbi1zaGFyZS1pZy5mdWxsLnBuZycpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDM0E0MDQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEzJSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggOXB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgNC41cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxN3B4IDdweCAzN3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDAgNy41cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyNXB4IDdweCAzN3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDI1cHggN3B4IDM3cHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLnJldmVhbC13a2Itc3dlZXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAzNjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDU0N3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w2M3hhaDI2MWN4dzF2NHNmMWl4Z3hyOC13a2Itc3dlZXAtZnJhbWUtbW9iaWxlLXQuZnVsbC5wbmcnKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDkyJSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUYxRDFEICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogNzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNDMwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA2MzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogNDcwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA1NTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w2Mm5rdW9hbTVmajF2NmhlZXNwZWRwYy13a2Itc3dlZXAtZnJhbWUtbW9iaWxlLmZ1bGwucG5nJykgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5MiUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDYwcHggIWltcG9ydGFudFxuICAgIH1cbn1cbi53a2Itc3dlZXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgXG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nOiAwIDQwcHg7IFxuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAwOyBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4OyBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7IFxuICAgIH1cbn1cbi53a2Itc3dlZXAtaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDI1M3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMjUzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuLndrYi1zd2VlcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjQzBCQkEwO1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbn1cbi53a2Itc3dlZXAtdGl0bGUtbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLndrYi1zd2VlcC1ub3RlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xufVxuYS53a2Itc3dlZXAtYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogI0MzQTQwNDtcbiAgICBjb2xvcjogIzFGMUQxRDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UtaW4tb3V0IC4yNXM7XG5cbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICBjb2xvcjogIzFGMUQxRCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQzNBNDA0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbn1cbi53a2Itc3dlZXAtYnRuLWNhbmNlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAyMzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1mYW1pbHk6ICdHcmFwaGlrLVNlbWlib2xkJztcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIC8vIGJvcmRlcjogc29saWQgMnB4ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAuMjVzO1xuICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLy8gYm9yZGVyOiBzb2xpZCAycHggJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4uY2FyZC1zdXMge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cbi5jbG9zZS1idXR0b24ge1xuICAgIHRvcDogLTUwcHggIWltcG9ydGFudDtcbn1cbkBtZWRpYSBub3QgYWxsIGFuZCAobWluLXJlc29sdXRpb246LjAwMWRwY20pXG57IEBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpIGFuZCAoc3Ryb2tlLWNvbG9yOnRyYW5zcGFyZW50KSB7XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgfVxufX1cbi5jbG9zZS1idXR0b24tbGFyZ2U6YWZ0ZXIge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkOyAgIFxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAvLyAgICAgdG9wOiAzJTtcbiAgICAvLyB9XG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAvLyAgICAgdG9wOiA0MHB4O1xuICAgIC8vIH1cbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLy8gICAgIHRvcDogNCU7XG4gICAgLy8gfVxufVxuXG5cbi5zdXMtYWxpY2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2FsaWNlX3MucG5nJylcbn1cbi5zdXMtYW15IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9hbXlfdC5wbmcnKVxufVxuLnN1cy1tYWJlbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbWFiZWwuanBnJylcbn1cbi5zdXMtbWFydiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbWFydi5qcGcnKVxufVxuLnN1cy1uaW5hIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9uaW5hLmpwZycpXG59XG4uc3VzLW9saXZlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2Ivb2xpdmVyLmpwZycpXG59XG4uc3VzLXBvcHB5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9wb3BweS5qcGcnKVxufVxuLnN1cy10ZWRkeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvdGVkZHkuanBnJylcbn1cbi5zdXMtdGhlbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvdGhlby5qcGcnKVxufVxuLnN1cy11bWEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL3VtYS5qcGcnKVxufVxuLnN1cy13aWxsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi93aWxsLmpwZycpXG59XG4uc3VzLWNoYXJsZXMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2NoYXJsZXNfcy5wbmcnKVxufVxuLnN1cy1jaW5kYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvY2luZGFfcy5wbmcnKVxufVxuLnN1cy13aWxsaWFtcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvZGV0ZWN0aXZld2lsbGlhbXNfcy5wbmcnKVxufVxuLnN1cy1ncm92ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RyZ3JvdmVyX3MucG5nJylcbn1cbi5zdXMtaG93YXJkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9ob3dhcmQucG5nJylcbn1cbi5zdXMta3JlcHMge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RldGVjdGl2ZWtyZXBzX3MuanBnJyk7XG59XG4uc3VzLWxlbm9yYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbGVvbm9yYV9zLnBuZycpXG59XG4uc3VzLWxlc3RlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbGVzdGVyX3MucG5nJylcbn1cbi5zdXMtbHVjeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbHVjeV9zLnBuZycpXG59XG4uc3VzLXVyc3VsYSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvdXJzdWxhLmpwZycpXG59XG4uc3VzLXNhbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2Ivc2FtX3MucG5nJylcbn1cbi5zdXMtZGlyZWN0b3Ige1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2RpcmVjdG9yX3MucG5nJylcbn1cbi5zdXMtaXZhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvaXZhbl9zLnBuZycpXG59XG4uc3VzLWxpYW0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2xpYW1fcy5wbmcnKVxufVxuLnN1cy1ncmFudCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvZ3JhbnRfcy5wbmcnKVxufVxuLnN1cy1uYW9taSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2IvbmFvbWlfcy5wbmcnKVxufVxuLnN1cy1qb25hdGhhbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovL2Fzc2V0c2h1bHVpbWNvbS1hLmFrYW1haWhkLm5ldC93a2Ivam9uYXRoYW5fcy5wbmcnKVxufVxuLnN1cy1qb3kge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly9hc3NldHNodWx1aW1jb20tYS5ha2FtYWloZC5uZXQvd2tiL2pveV9zLnBuZycpXG59XG4uc3VzLXBhdWxldHRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vYXNzZXRzaHVsdWltY29tLWEuYWthbWFpaGQubmV0L3drYi9wYXVsZXR0ZV9zLnBuZycpXG59XG5cblxuXG4vL3N3aXBlclxuLnN3aXBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIC8qIENlbnRlciBzbGlkZSB0ZXh0IHZlcnRpY2FsbHkgKi9cbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnN3aXBlci1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC5zd2lwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC5zd2lwZS1jYXJkIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjMUYxRDFEO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIGhlaWdodDogNjZ2aDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yOCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1OHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAmOmFmdGVyIHtcbiAgICAvLyAgICAgY29udGVudDogJyc7XG4gICAgLy8gICAgIC8vIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDV0d3JsODlhcndhMXY0c3A1NTFlMnRsLXdrYi1zd2lwZS1mcmFtZS5mdWxsLnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgIHotaW5kZXg6IDk5O1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAvLyAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC8vICAgICBsZWZ0OiAwO1xuICAgIC8vICAgICByaWdodDogMDtcbiAgICAvLyAgICAgd2lkdGg6IDc1JTtcbiAgICAvLyAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjVzO1xuICAgIC8vIH1cbiAgfVxuICAuc3dpcGUtZnJhbWUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDV0d3JsODlhcndhMXY0c3A1NTFlMnRsLXdrYi1zd2lwZS1mcmFtZS5mdWxsLnBuZycpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgIHRvcDogNjBweFxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlLWd1aWx0eS10eHQge1xuICAgIGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly9odWx1LW1hdGNobWFrZXIuczMuYW1hem9uYXdzLmNvbS9hdHRhY2htZW50cy9jbDV1M3VjaG1iMHR5MXYxeWgybDhwOG9rLXdrYi1zd2lwZS1idG4tZ3VpbHR5LmZ1bGwucG5nJykgbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICBib3R0b206IDEwJTtcbiAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4uc3dpcGVyLWJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5zd2lwZXItYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdG9wOiB1bnNldDtcbiAgICBib3R0b206IDEyJSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1dTF5eHNxYXloczF2NTgweTVod3M2aS13a2Itc3dpcGUtYXJyb3ctcmlnaHQuZnVsbC5wbmcnKSBuby1yZXBlYXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgICByaWdodDogNCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHJpZ2h0OiAyNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59IFxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2h0dHBzOi8vaHVsdS1tYXRjaG1ha2VyLnMzLmFtYXpvbmF3cy5jb20vYXR0YWNobWVudHMvY2w1dTF5eG02YXlnNTF2M2MzZnRvdWIyNS13a2Itc3dpcGUtYXJyb3ctbGVmdC5mdWxsLnBuZycpIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgLjI1cztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICAgIGxlZnQ6IDQlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBsZWZ0OiAyNSU7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ub3V0b2Yge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMjkxcHg7XG4gICAgYm90dG9tOiAyMCU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiAnR3JhcGhpay1TZW1pYm9sZCc7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IC4yNXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDI2N3B4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMjkwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ub3V0b2Ytc3VzIHtcbiAgICBmbG9hdDogbGVmdDtcbn1cbi5vdXRvZi1saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAtMTBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAuMjVzO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBociB7XG4gICAgICAgb3BhY2l0eTogLjU7XG4gICAgfVxufVxuLm91dG9mLXRvdGFsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cblxuXG4vL01BQ0JPT0sgMTNpblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MjFweCkgYW5kIChtYXgtd2lkdGg6IDE1MDBweCkgeyBcblxuICAgIC53a2Itd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMjQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjQwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRvb3Itc21sIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59Il19 */
