@charset "UTF-8";
@use "sass:map";
@font-face {
  font-family: PlayfairDisplay;
  font-weight: 400;
  font-style: normal;
  src: url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/PlayfairDisplay-Regular.ttf) format("truetype"); }

@font-face {
  font-family: Averta;
  font-weight: 400;
  font-style: normal;
  src: url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Regular.woff2) format("woff2"), url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Regular.woff) format("woff"); }

@font-face {
  font-family: Averta;
  font-weight: 600;
  font-style: normal;
  src: url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Semibold.woff2) format("woff2"), url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Semibold.woff) format("woff"); }

@font-face {
  font-family: Averta;
  font-weight: 600;
  font-style: italic;
  src: url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Regular-Italic.woff2) format("woff2"), url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Regular-Italic.woff) format("woff"); }

@font-face {
  font-family: Averta;
  font-weight: 700;
  font-style: normal;
  src: url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Bold.woff2) format("woff2"), url(https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/fonts/Averta-Bold.woff) format("woff"); }

/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

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

body {
  margin: 0; }

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

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

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=64.0625em&xlarge=75em&xxlarge=90em&huge=120em"; }

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

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

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

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

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

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

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

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

pre {
  overflow: auto; }

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: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

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

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

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

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

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

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

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

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

::placeholder {
  color: #cacaca; }

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

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

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

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

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

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

.input-group {
  display: -webkit-box;
  display: -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: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

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

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -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: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
            box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

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

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

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

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: "PlayfairDisplay", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #052f5f;
  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;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

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

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

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

h6, .h6 {
  font-size: 1rem;
  line-height: 1;
  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: #63afc1;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #479fb4; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

figure {
  margin: 0; }

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

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

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

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

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

.cite-block, cite {
  display: block;
  color: #8a8a8a;
  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: #0a0a0a;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

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

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

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

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

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

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

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

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

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
    .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
    .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
    .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: 64.0625em) {
    .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: 64.0625em) {
    .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.0625em) {
    .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: 64.0625em) {
    .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: 64.0625em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {
    background-color: #63afc1;
    color: #fefefe; }
  .button:hover, .button:focus {
    background-color: #479db2;
    color: #fefefe; }
  .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
    background-color: #63afc1;
    color: #0a0a0a; }
  .button.primary:hover, .button.primary:focus {
    background-color: #4294a7;
    color: #0a0a0a; }
  .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: #c6bfaf;
    color: #0a0a0a; }
  .button.secondary:hover, .button.secondary:focus {
    background-color: #a79c83;
    color: #0a0a0a; }
  .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
    background-color: #3adb76;
    color: #0a0a0a; }
  .button.success:hover, .button.success:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
    background-color: #ffae00;
    color: #0a0a0a; }
  .button.warning:hover, .button.warning:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button.alert:hover, .button.alert:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
    background-color: transparent; }
  .button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
    border: 1px solid #63afc1;
    color: #63afc1; }
  .button.hollow:hover, .button.hollow:focus {
    border-color: #2a5c68;
    color: #2a5c68; }
  .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 #63afc1;
    color: #63afc1; }
  .button.hollow.primary:hover, .button.hollow.primary:focus {
    border-color: #2a5c68;
    color: #2a5c68; }
  .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 #c6bfaf;
    color: #c6bfaf; }
  .button.hollow.secondary:hover, .button.hollow.secondary:focus {
    border-color: #6d634e;
    color: #6d634e; }
  .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 #3adb76;
    color: #3adb76; }
  .button.hollow.success:hover, .button.hollow.success:focus {
    border-color: #157539;
    color: #157539; }
  .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover, .button.hollow.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover, .button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {
    color: #63afc1; }
  .button.clear:hover, .button.clear:focus {
    color: #2a5c68; }
  .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: #63afc1; }
  .button.clear.primary:hover, .button.clear.primary:focus {
    color: #2a5c68; }
  .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: #c6bfaf; }
  .button.clear.secondary:hover, .button.clear.secondary:focus {
    color: #6d634e; }
  .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
    color: #3adb76; }
  .button.clear.success:hover, .button.clear.success:focus {
    color: #157539; }
  .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover, .button.clear.warning:focus {
    color: #805700; }
  .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover, .button.clear.alert:focus {
    color: #67251a; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after, .button.dropdown.clear::after {
    border-top-color: #63afc1; }
  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
    border-top-color: #63afc1; }
  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
    border-top-color: #c6bfaf; }
  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

.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.9rem;
    -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.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-box-flex: 1;
    -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: #63afc1;
    color: #0a0a0a; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #4294a7;
    color: #0a0a0a; }
  .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: #c6bfaf;
    color: #0a0a0a; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #a79c83;
    color: #0a0a0a; }
  .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
    background-color: #3adb76;
    color: #0a0a0a; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #0a0a0a; }
  .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
    background-color: #ffae00;
    color: #0a0a0a; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #0a0a0a; }
  .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
    border: 1px solid #63afc1;
    color: #63afc1; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #2a5c68;
    color: #2a5c68; }
  .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 #63afc1;
    color: #63afc1; }
  .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: #2a5c68;
    color: #2a5c68; }
  .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 #c6bfaf;
    color: #c6bfaf; }
  .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: #6d634e;
    color: #6d634e; }
  .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 #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
    border-color: #67251a;
    color: #67251a; }
  .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
    color: #63afc1; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #2a5c68; }
  .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: #63afc1; }
  .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: #2a5c68; }
  .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: #c6bfaf; }
  .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: #6d634e; }
  .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
    color: #cc4b37; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
    color: #67251a; }
  .button-group.no-gaps .button {
    margin-right: -0.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: 64.0625em) {
    .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: 64.06125em) {
    .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: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button.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: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #63afc1;
  color: #fefefe; }
  .label.primary {
    background: #63afc1;
    color: #0a0a0a; }
  .label.secondary {
    background: #c6bfaf;
    color: #0a0a0a; }
  .label.success {
    background: #3adb76;
    color: #0a0a0a; }
  .label.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .label.alert {
    background: #cc4b37;
    color: #fefefe; }

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #63afc1; }
  .progress.secondary .progress-meter {
    background-color: #c6bfaf; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #cc4b37; }

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

.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: #fefefe;
  white-space: nowrap; }

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

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #cacaca;
  -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: 0;
  background-color: #63afc1;
  -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: #479db2; }
  .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: #fefefe;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #cacaca;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #63afc1; }
    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: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f8f8f8;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }
  tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1; }
  table.unstriped tbody {
    background-color: #fefefe; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f1f1f1;
      background-color: #fefefe; }

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #63afc1;
  color: #fefefe; }
  .badge.primary {
    background: #63afc1;
    color: #0a0a0a; }
  .badge.secondary {
    background: #c6bfaf;
    color: #0a0a0a; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.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: #0a0a0a;
    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: #63afc1; }
    .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(10, 10, 10, 0.25);
  border-radius: 0;
  background-color: white;
  color: #0a0a0a; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e8f3f6;
    color: #0a0a0a; }
  .callout.secondary {
    background-color: #f6f5f3;
    color: #0a0a0a; }
  .callout.success {
    background-color: #e1faea;
    color: #0a0a0a; }
  .callout.warning {
    background-color: #fff3d9;
    color: #0a0a0a; }
  .callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a; }
  .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: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .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: 0;
  background-color: #fefefe;
  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: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #63afc1;
    color: #fefefe;
    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: #0a0a0a; }

.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 #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #0a0a0a;
  font-size: 80%;
  color: #fefefe; }
  .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 #0a0a0a;
    bottom: 100%; }
  .tooltip.bottom.align-center::before, .tooltip.bottom.person-cards::before, .partner .tooltip.bottom.partner-cards::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: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before, .tooltip.top.person-cards::before, .partner .tooltip.top.partner-cards::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 #0a0a0a;
    left: 100%; }
  .tooltip.left.align-center::before, .tooltip.left.person-cards::before, .partner .tooltip.left.partner-cards::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 #0a0a0a transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before, .tooltip.right.person-cards::before, .partner .tooltip.right.partner-cards::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: #fefefe;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

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

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #63afc1; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: "+"; }
  .is-active > .accordion-title::before {
    content: "–"; }

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  background-color: #fefefe;
  color: #0a0a0a; }
  :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(10, 10, 10, 0.5);
  color: #fefefe; }

.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: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

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

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

.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: #fefefe;
  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: #63afc1; }
  .tabs.primary > li > a {
    color: #0a0a0a; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #59aabd; }

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

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #fefefe;
  color: #0a0a0a;
  -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 #fefefe;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
          box-shadow: 0 0 0 1px rgba(10, 10, 10, 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(99, 175, 193, 0.5);
            box-shadow: 0 0 6px 1px rgba(99, 175, 193, 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: 64.0625em) {
    .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: #63afc1;
    color: #0a0a0a; }
  .menu .active > a {
    background: #63afc1;
    color: #0a0a0a; }
  .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, .menu.person-cards li, .partner .menu.partner-cards 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, .menu.person-cards li .submenu li, .partner .menu.partner-cards 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: #fefefe;
    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
            box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: ''; }
  .menu-icon:hover::after {
    background: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
            box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

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

.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: #63afc1 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: #63afc1 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: #fefefe; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -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 #63afc1;
    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 #63afc1;
  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 #63afc1 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 #63afc1 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: #63afc1 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: #63afc1; }

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

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

@media print, screen and (min-width: 64.0625em) {
  .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: #63afc1 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 #63afc1 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 #63afc1; } }

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

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

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

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 200px;
  border: 1px solid #cacaca;
  background: #fefefe; }
  .dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #63afc1 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 #63afc1; }
  .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(254, 254, 254, 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: 13;
  -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: #fefefe; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 13; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 14; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 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: 13;
  -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: #fefefe; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 13; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 14; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
              box-shadow: 0 0 10px rgba(10, 10, 10, 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(10, 10, 10, 0.25);
            box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 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(10, 10, 10, 0.25);
            box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 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(10, 10, 10, 0.25);
            box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 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(10, 10, 10, 0.25);
            box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 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: 64.0625em) {
  .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: 64.0625em) {
  .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(10, 10, 10, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media 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: #0a0a0a;
  color: #fefefe;
  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: 64.06125em) {
    .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: 74.99875em) {
    .top-bar.stacked-for-large {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .top-bar.stacked-for-large .top-bar-left,
      .top-bar.stacked-for-large .top-bar-right {
        -webkit-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, .person-cards, .partner .partner-cards {
  -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, .vertical.menu.person-cards > li > a, .partner .vertical.menu.partner-cards > 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: 64.0625em) {
  .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: 64.0625em) {
  .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: 64.06125em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

/**
 * Swiper 8.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 15, 2022
 */
@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color: #007aff; }

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.swiper-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }

.swiper-pointer-events {
  -ms-touch-action: pan-y;
      touch-action: pan-y; }
  .swiper-pointer-events.swiper-vertical {
    -ms-touch-action: pan-x;
        touch-action: pan-x; }

.swiper-slide {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto; }

.swiper-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

.swiper-backface-hidden .swiper-slide {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          perspective: 1200px; }

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15); }

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */ }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: x mandatory;
      -ms-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory; }

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: y mandatory;
      -ms-scroll-snap-type: y mandatory;
          scroll-snap-type: y mandatory; }

.swiper-centered > .swiper-wrapper::before {
  content: '';
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
  -webkit-order: 9999;
      -ms-flex-order: 9999;
          order: 9999; }

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
          margin-inline-start: var(--swiper-centered-offset-before); }

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  width: var(--swiper-centered-offset-after); }

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          margin-block-start: var(--swiper-centered-offset-before); }

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  height: var(--swiper-centered-offset-after); }

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center; }

.watchlive {
  color: #fff;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 8px;
  gap: 4px;
  opacity: 1;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease; }
  .watchlive.offcanvas {
    margin-top: 32px;
    font-size: 18px;
    line-height: 28px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .watchlive.offcanvas.ondemand {
      margin-top: 0px; }
  .watchlive:hover {
    color: #fff;
    opacity: 0.8; }
  .watchlive.ondemand:before {
    display: none; }

.watchlive:before {
  content: "";
  position: relative;
  background: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/watch-live_circle.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 12px;
  aspect-ratio: 1;
  display: block; }

.event-overview {
  background: #fafafb;
  padding-block: 64px; }

.registartion-module {
  padding: 80px 40px;
  border-radius: 12px;
  border: 1px solid rgba(5, 47, 95, 0.25);
  background: #fff;
  -webkit-box-shadow: 4px 6px 20px 0px;
          box-shadow: 4px 6px 20px 0px;
  margin-top: 48px; }
  .registartion-module [type='color'],
  .registartion-module [type='date'],
  .registartion-module [type='datetime-local'],
  .registartion-module [type='datetime'],
  .registartion-module [type='email'],
  .registartion-module [type='month'],
  .registartion-module [type='number'],
  .registartion-module [type='password'],
  .registartion-module [type='search'],
  .registartion-module [type='tel'],
  .registartion-module [type='text'],
  .registartion-module [type='time'],
  .registartion-module [type='url'],
  .registartion-module [type='week'],
  .registartion-module textarea {
    margin: 0;
    border: none;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none; }
  @media print, screen and (max-width: 39.99875em) {
    .registartion-module {
      padding-inline: 0; } }

.watch-on-demand .watch-on-demand--days-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -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-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  margin-block: 48px 80px;
  position: relative;
  gap: 8px;
  background: rgba(5, 47, 95, 0.08);
  border-radius: 40px;
  padding: 6px 8px; }
  @media print, screen and (max-width: 39.99875em) {
    .watch-on-demand .watch-on-demand--days-container {
      width: 100%; } }
  .watch-on-demand .watch-on-demand--days-container form {
    font-size: 16px;
    font-weight: 700;
    position: relative;
    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;
    width: 100px;
    color: #052f5f;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
    cursor: pointer; }
    @media print, screen and (max-width: 39.99875em) {
      .watch-on-demand .watch-on-demand--days-container form {
        width: 100%; } }
    .watch-on-demand .watch-on-demand--days-container form button {
      width: 100%;
      cursor: pointer;
      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-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;
      padding-block: 6px;
      padding-inline: 12px; }
      .watch-on-demand .watch-on-demand--days-container form button.active {
        background-color: #052f5f;
        border-radius: 40px; }
        .watch-on-demand .watch-on-demand--days-container form button.active span {
          color: #fefefe; }
          .watch-on-demand .watch-on-demand--days-container form button.active span.p {
            color: #fefefe; }
      .watch-on-demand .watch-on-demand--days-container form button span {
        border: 0;
        background-color: unset;
        color: #052f5f;
        padding: 0;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 130%; }
        .watch-on-demand .watch-on-demand--days-container form button span.p {
          margin: 0;
          margin-top: 8px;
          color: #052f5f;
          font-size: 12px;
          font-style: normal;
          font-weight: 400;
          line-height: normal; }
  @media print, screen and (max-width: 39.99875em) {
    .watch-on-demand .watch-on-demand--days-container {
      -webkit-column-gap: 0;
         -moz-column-gap: 0;
              column-gap: 0;
      row-gap: 2px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }

.blogpost-header {
  margin-block: 36px; }

.event-overview.password-page {
  margin-top: -65px; }

.password-page .event-content-wrapper .intro-heading {
  margin-bottom: 3rem; }

.password-page .event-content-wrapper .submitted-message {
  margin-top: 32px; }

@media print, screen and (max-width: 39.99875em) {
  .password-page .event-content-wrapper .register-area {
    margin-top: 3rem; } }

.divider {
  display: block;
  width: 1px;
  background-color: #fff;
  height: 20px; }

@media print, screen and (max-width: 39.99875em) {
  .grid-container {
    padding-inline: 24px; } }

.off-canvas {
  width: 100vw; }
  .off-canvas.is-open {
    -webkit-transform: translate(0);
        -ms-transform: translate(0);
            transform: translate(0); }
  .off-canvas.position-right {
    width: 100vw; }
  .off-canvas .offcanvas-menu-section {
    position: relative;
    background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.5%, rgba(0, 0, 0, 0.33) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.8) 0%, rgba(45, 99, 224, 0.8) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.33) 0%, rgba(45, 99, 224, 0.33) 100%), #2d63e0;
    height: auto;
    min-height: 100vh;
    position: relative;
    padding-block: 0 32px; }
    .off-canvas .offcanvas-menu-section .banner-section {
      margin-bottom: 32px; }
    .off-canvas .offcanvas-menu-section .offcanvas-header {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 100%; }
      .off-canvas .offcanvas-menu-section .offcanvas-header a {
        display: block;
        position: relative;
        width: 73px;
        height: auto;
        aspect-ratio: 73/80;
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/delphi-economic-forum-icon.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
        .off-canvas .offcanvas-menu-section .offcanvas-header a:focus-visible {
          outline: none; }
      .off-canvas .offcanvas-menu-section .offcanvas-header .offcanvas-event-close-btn {
        position: relative;
        display: block; }
        .off-canvas .offcanvas-menu-section .offcanvas-header .offcanvas-event-close-btn .close-btn {
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/close-btn.svg");
          background-position: 50%;
          background-repeat: no-repeat;
          background-size: 27px 27px;
          cursor: pointer;
          display: block;
          height: 27px;
          width: 27px;
          padding: 12px;
          -webkit-box-sizing: content-box;
                  box-sizing: content-box; }
    .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper {
      margin-top: 64px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
      .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper nav ul {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        list-style-type: none;
        margin: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        row-gap: 12px;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.08);
        padding: 12px; }
        .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper nav ul li {
          text-align: center;
          padding: 8px 40px; }
          .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper nav ul li a {
            color: #fefefe;
            font-size: 18px;
            font-weight: 700;
            line-height: 120%;
            text-transform: uppercase;
            text-decoration: none;
            display: block; }
            .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper nav ul li a:focus-visible {
              outline: 0; }
          .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper nav ul li.active {
            padding: 12px;
            border-radius: 8.333px;
            background: rgba(255, 255, 255, 0.24); }
      .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper .register-cta {
        display: block;
        margin-top: 32px;
        border-radius: 42px;
        background: #f5f24f;
        padding: 12px 32px;
        color: #052f5f;
        text-align: center;
        font-size: 18px;
        font-weight: 700;
        line-height: 120%;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease; }
        .off-canvas .offcanvas-menu-section .offcanvas-nav-wrapper .register-cta:hover {
          -webkit-transform: scale(1.05);
              -ms-transform: scale(1.05);
                  transform: scale(1.05); }

.off-canvas-content .off-canvas.position-right,
.position-right {
  -webkit-transform: translateX(100vw);
      -ms-transform: translateX(100vw);
          transform: translateX(100vw); }

.banner-section {
  padding-block: 12px;
  background: rgba(255, 255, 255, 0.08);
  z-index: 3;
  position: relative; }
  .banner-section .back-to-main-site-link {
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    opacity: 1;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease; }
    .banner-section .back-to-main-site-link:hover {
      opacity: 0.7; }
    .banner-section .back-to-main-site-link::before {
      content: '';
      background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/white-arrow.svg");
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      height: 14px;
      width: 14px; }
    .banner-section .back-to-main-site-link:focus-visible, .banner-section .back-to-main-site-link:focus {
      outline: none; }

header {
  position: relative;
  z-index: 10;
  padding-block: 32px; }
  header .logo {
    display: block;
    position: relative;
    width: 73px;
    height: auto;
    aspect-ratio: 73/80;
    background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/delphi-economic-forum-icon.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center; }
  header .main-content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto; }
    header .main-content ul {
      margin: 0;
      list-style-type: none;
      gap: 8px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.08);
      padding: 6px 8px; }
      header .main-content ul li a {
        padding: 6px 12px;
        border-radius: 8px;
        color: #fff;
        font-size: 14px;
        text-transform: uppercase;
        font-weight: 700;
        line-height: 130%;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease;
        display: block; }
      header .main-content ul li:hover a {
        background: rgba(255, 255, 255, 0.12); }
      header .main-content ul li.active a {
        background: rgba(255, 255, 255, 0.24); }
      @media (min-width: 1025px) and (max-width: 1063px) {
        header .main-content ul {
          gap: 0px; } }
  header .right-wrapper .register {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 41.667px;
    background: #f5f24f;
    padding: 8px 32px;
    color: #052f5f;
    font-size: 14px;
    font-weight: 700;
    line-height: 150%;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease; }
    header .right-wrapper .register:hover {
      -webkit-transform: scale(1.05);
          -ms-transform: scale(1.05);
              transform: scale(1.05); }
  header .offcanvas-menu-trigger .offcanvas-menu-icon {
    background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/assets/icons/def-menu.svg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    display: block;
    height: 20px;
    width: 42px; }

.hero-section {
  margin-top: -190px;
  height: 90vh;
  min-height: 550px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-content: center; }
  .hero-section__video-wrapper {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    overflow: hidden; }
    .hero-section__video-wrapper video {
      aspect-ratio: 1920 / 1080;
      height: 90vh;
      min-height: 550px;
      min-height: 955px;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center;
      width: 100%; }
    .hero-section__video-wrapper::after {
      content: '';
      background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.5%, rgba(0, 0, 0, 0.33) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.8) 0%, rgba(45, 99, 224, 0.8) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.33) 0%, rgba(45, 99, 224, 0.33) 100%);
      background-blend-mode: normal, normal, color;
      display: block;
      height: 100%;
      min-height: 550px;
      opacity: 0.88;
      position: absolute;
      top: 0;
      width: 100%; }
  .hero-section__content-wrapper {
    padding-top: 106px;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    width: 100%;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    z-index: 1; }
    .hero-section__content-wrapper .grid-container {
      margin-top: 40px;
      width: 100%; }
    .hero-section__content-wrapper .grid-x {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -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; }
      .hero-section__content-wrapper .grid-x .logo {
        -o-object-fit: contain;
           object-fit: contain;
        width: 150px;
        margin-bottom: 40px; }
        @media print, screen and (max-width: 39.99875em) {
          .hero-section__content-wrapper .grid-x .logo {
            width: 100px; } }
      .hero-section__content-wrapper .grid-x .date {
        color: #f7f573;
        text-align: center;
        font-size: 24px;
        font-weight: 400;
        line-height: 53px;
        margin-bottom: 8px; }
      .hero-section__content-wrapper .grid-x .title {
        color: #fff;
        text-align: center;
        font-family: 'PlayfairDisplay';
        font-size: 46px;
        font-weight: 400;
        line-height: 120%;
        margin-bottom: 32px; }
        @media print, screen and (max-width: 39.99875em) {
          .hero-section__content-wrapper .grid-x .title {
            font-size: 42px; } }
      .hero-section__content-wrapper .grid-x .description {
        color: #fff;
        text-align: center;
        font-size: 16px;
        font-weight: 400;
        line-height: 150%;
        margin: 0;
        margin-bottom: 24px; }
  .hero-section::after {
    content: '';
    aspect-ratio: 5 / 1;
    background: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/white-wave.svg");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -2px;
    content: '';
    display: block;
    height: auto;
    left: 0;
    pointer-events: none;
    position: absolute;
    width: 100%; }
  .hero-section.main {
    min-height: 670px; }
    .hero-section.main .hero-section__video-wrapper video {
      min-height: 670px; }
    .hero-section.main .hero-section__video-wrapper:after {
      min-height: 670px; }
    .hero-section.main .hero-section__content-wrapper {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding-top: 0; }
      .hero-section.main .hero-section__content-wrapper .grid-container {
        margin-top: 0; }
    .hero-section.main .register {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border-radius: 41.667px;
      background: #f5f24f;
      padding: 8px 32px;
      color: #052f5f;
      font-size: 14px;
      font-weight: 700;
      line-height: 150%;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease; }
      .hero-section.main .register:hover {
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05); }
  .hero-section.simple {
    height: 40vh; }
    .hero-section.simple .hero-section__video-wrapper .video {
      height: 40vh; }
    .hero-section.simple .hero-section__video-wrapper::after {
      height: 40vh; }
    .hero-section.simple::after {
      display: none; }
    .hero-section.simple .hero-section__content-wrapper .grid-container {
      margin-top: 140px; }
    .hero-section.simple .register {
      display: none;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border-radius: 41.667px;
      background: #f5f24f;
      padding: 8px 32px;
      color: #052f5f;
      font-size: 14px;
      font-weight: 700;
      line-height: 150%;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease; }
      .hero-section.simple .register:hover {
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05); }
  .hero-section.become-a-member {
    height: unset;
    display: block;
    grid-template-columns: none;
    min-height: unset;
    overflow: hidden; }
    .hero-section.become-a-member .hero-section__video-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .hero-section.become-a-member .hero-section__video-wrapper video {
        height: 100%;
        min-height: unset; }
    .hero-section.become-a-member .hero-section__video-wrapper::after {
      height: 100%; }
    .hero-section.become-a-member::after {
      display: none; }
    .hero-section.become-a-member .hero-section__content-wrapper {
      position: relative;
      z-index: 1;
      padding-bottom: 120px; }
      .hero-section.become-a-member .hero-section__content-wrapper .title {
        margin-bottom: 40px; }
      .hero-section.become-a-member .hero-section__content-wrapper .description {
        color: #fff;
        text-align: center;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        max-width: 825px;
        margin-bottom: 32px; }
      .hero-section.become-a-member .hero-section__content-wrapper .grid-container {
        margin-top: 140px; }
      @media print, screen and (max-width: 39.99875em) {
        .hero-section.become-a-member .hero-section__content-wrapper {
          padding-bottom: 80px; } }
    .hero-section.become-a-member .register {
      display: block;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border-radius: 41.667px;
      background: #f5f24f;
      padding: 8px 32px;
      color: #052f5f;
      font-size: 14px;
      font-weight: 700;
      line-height: 150%;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease; }
      .hero-section.become-a-member .register:hover {
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05); }
  .hero-section.register {
    height: unset; }
    .hero-section.register .hero-section__video-wrapper {
      background: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/registration-bckgr-def-xi.jpg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
    .hero-section.register .hero-section__content-wrapper {
      margin-bottom: 120px; }
      .hero-section.register .hero-section__content-wrapper .subtitle {
        color: #f7f573;
        text-align: center;
        font-size: 28px;
        font-weight: 700;
        line-height: 150%;
        letter-spacing: 1.12px;
        margin: 0; }
    .hero-section.register .hero-section__content-wrapper .grid-container {
      margin-top: 140px; }
    .hero-section.register::after {
      display: none; }
  .hero-section.page-404 {
    height: unset; }
    .hero-section.page-404 .hero-section__video-wrapper {
      background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/404-page.jpg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
      .hero-section.page-404 .hero-section__video-wrapper::after {
        background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.5%, rgba(0, 0, 0, 0.33) 100%), linear-gradient(138deg, rgba(28, 74, 165, 0.85) 17.6%, rgba(0, 61, 107, 0.85) 82.4%); }
    .hero-section.page-404 .hero-section__content-wrapper {
      margin-bottom: 120px;
      overflow: hidden; }
      .hero-section.page-404 .hero-section__content-wrapper .grid-x {
        position: relative; }
        .hero-section.page-404 .hero-section__content-wrapper .grid-x:before {
          content: '404';
          color: rgba(255, 255, 255, 0.08);
          text-align: center;
          font-size: 520px;
          font-style: normal;
          font-weight: 700;
          line-height: 100%;
          letter-spacing: 10.4px;
          position: absolute;
          z-index: -1;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
          @media print, screen and (max-width: 64.06125em) {
            .hero-section.page-404 .hero-section__content-wrapper .grid-x:before {
              font-size: 400px; } }
          @media print, screen and (max-width: 39.99875em) {
            .hero-section.page-404 .hero-section__content-wrapper .grid-x:before {
              font-size: 195px; } }
      .hero-section.page-404 .hero-section__content-wrapper .title-404 {
        color: #fff;
        text-align: center;
        font-size: 23px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        margin-bottom: 16px;
        margin-top: 72px; }
      .hero-section.page-404 .hero-section__content-wrapper .descr-404 {
        color: #fff;
        text-align: center;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        margin-bottom: 24px; }
      .hero-section.page-404 .hero-section__content-wrapper .back-to-overview {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: 41.667px;
        background: #f5f24f;
        padding: 8px 32px;
        color: #052f5f;
        font-size: 14px;
        font-weight: 700;
        line-height: 150%;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease; }
        .hero-section.page-404 .hero-section__content-wrapper .back-to-overview:hover {
          -webkit-transform: scale(1.05);
              -ms-transform: scale(1.05);
                  transform: scale(1.05); }
    .hero-section.page-404::after {
      display: none; }

.overview-section {
  padding-top: 40px;
  padding-bottom: 120px;
  background: #fff; }
  .overview-section .overview-section-wrapper {
    z-index: 2; }
    .overview-section .overview-section-wrapper h3 {
      color: #052f5f;
      font-family: 'PlayfairDisplay';
      font-size: 36px;
      font-weight: 400;
      line-height: 58px;
      letter-spacing: 0.02px;
      margin-bottom: 40px;
      text-align: center; }
      @media print, screen and (max-width: 39.99875em) {
        .overview-section .overview-section-wrapper h3 {
          font-size: 32px;
          line-height: 42px; } }
    .overview-section .overview-section-wrapper p.descr {
      color: #2e3a46;
      font-size: 18px;
      font-weight: 400;
      line-height: 150%;
      margin: 0;
      margin-bottom: 64px;
      text-align: center; }
    .overview-section .overview-section-wrapper p.iconed {
      margin-inline: auto;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      color: #052f5f;
      font-size: 22px;
      font-style: normal;
      font-weight: 600;
      line-height: 150%;
      position: relative;
      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: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 12px; }
      @media print, screen and (max-width: 39.99875em) {
        .overview-section .overview-section-wrapper p.iconed {
          font-size: 18px; } }
    .overview-section .overview-section-wrapper p.when {
      margin-bottom: 12px; }
    .overview-section .overview-section-wrapper p.place {
      margin-bottom: 48px; }
    .overview-section .overview-section-wrapper button {
      margin-inline: auto;
      display: block;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border-radius: 42px;
      background: #2d63e0;
      color: #fff;
      font-size: 14px;
      font-style: normal;
      font-weight: 700;
      line-height: 130%;
      text-transform: uppercase;
      cursor: pointer;
      position: relative; }
      .overview-section .overview-section-wrapper button .add-to-cal__panel {
        padding: 10px 28px;
        width: 100%;
        height: 100%; }
        .overview-section .overview-section-wrapper button .add-to-cal__panel ul {
          position: absolute;
          top: 50%;
          left: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          opacity: 0;
          -webkit-transition: all 0.25s ease-in-out;
          transition: all 0.25s ease-in-out;
          visibility: hidden;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 4px;
          -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;
          list-style: none;
          margin: 0;
          padding: 0;
          width: 100%;
          pointer-events: none; }
          .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a {
            display: block;
            width: 32px;
            height: 32px;
            fill: #fff;
            border: 1px solid rgba(45, 99, 224, 0.5);
            border-radius: 50%;
            position: relative;
            -webkit-transition: all 0.25s ease-in-out;
            transition: all 0.25s ease-in-out; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:hover {
              background: #2d63e0; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:after, .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:before {
              content: '';
              position: absolute;
              top: 50%;
              left: 50%;
              -webkit-transform: translate(-50%, -50%);
                  -ms-transform: translate(-50%, -50%);
                      transform: translate(-50%, -50%);
              display: block;
              background-size: contain;
              background-position: center;
              background-repeat: no-repeat;
              width: 19px;
              height: 19px;
              aspect-ratio: 1 / 1;
              z-index: 1;
              -webkit-transition: all 0.25s ease-in-out;
              transition: all 0.25s ease-in-out; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:after {
              opacity: 1; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:before {
              opacity: 0; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:hover:after {
              opacity: 0; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a:hover:before {
              opacity: 1; }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.google:after {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/google-icon.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.google:hover:before {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/google-icon-inverted.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.apple:after {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/apple-icon.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.apple:hover:before {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/apple-icon-inverted.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.outlook:after {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/outlook-icon.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.outlook:hover:before {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/outlook-icon-inverted.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.yahoo:after {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/yahoo-icon.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.yahoo:hover:before {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/yahoo-icon-inverted.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.office:after {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/microsoft-office-icon.svg"); }
            .overview-section .overview-section-wrapper button .add-to-cal__panel ul li a.office:hover:before {
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/microsoft-office-icon-inverted.svg"); }
        .overview-section .overview-section-wrapper button .add-to-cal__panel.is-expanded ul {
          visibility: visible;
          opacity: 1;
          pointer-events: auto;
          -webkit-transform: translate(-50%, 90%);
              -ms-transform: translate(-50%, 90%);
                  transform: translate(-50%, 90%); }

.section-expectation {
  width: 100%;
  padding-top: calc((100vw * 109 / 480) + 20px);
  padding-bottom: 120px;
  margin-top: calc(-0.8 * (109 / 480) * 100%);
  background: linear-gradient(241deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 47.28%, rgba(0, 0, 0, 0.33) 90.06%), linear-gradient(270deg, rgba(45, 99, 224, 0) 4.75%, #2d63e0 38.87%), linear-gradient(0deg, rgba(45, 99, 224, 0.8) 0%, rgba(45, 99, 224, 0.8) 100%), url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/expectation-bckgr-img.jpg") center/cover no-repeat, linear-gradient(128deg, rgba(0, 111, 255, 0.3) 7.12%, rgba(42, 38, 89, 0.3) 47%, rgba(0, 0, 0, 0.3) 83.09%), #2d63e0;
  background-blend-mode: normal, normal, color, normal, normal, normal;
  position: relative; }
  .section-expectation:before {
    aspect-ratio: 481 / 109;
    top: 0;
    content: '';
    display: block;
    height: auto;
    left: 0px;
    pointer-events: none;
    position: absolute;
    width: 100%;
    background: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/white-wave-mask-inverted.svg") 50% center/cover no-repeat;
    background-position: 50% center; }
  .section-expectation .expectation-wrapper-up .expectation__title {
    color: #fff;
    font-family: 'PlayfairDisplay';
    text-align: center;
    font-size: 36px;
    font-weight: 400;
    line-height: 58px;
    letter-spacing: 0.02px;
    text-transform: capitalize;
    margin: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    position: relative;
    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-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    margin-bottom: 8px; }
    .section-expectation .expectation-wrapper-up .expectation__title::after {
      content: '';
      width: 100%;
      height: 1px;
      background-color: rgba(240, 245, 255, 0.5); }
    @media print, screen and (max-width: 39.99875em) {
      .section-expectation .expectation-wrapper-up .expectation__title {
        font-size: 32px;
        line-height: 42px; } }
  .section-expectation .expectation-wrapper-up .expectation__subtitle {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
    margin-bottom: 0; }
  .section-expectation .expectation-list-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    row-gap: 24px;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
    margin: 0;
    margin-top: 64px;
    list-style-type: none; }
    .section-expectation .expectation-list-wrapper .expectation-list__item {
      border-radius: 12px;
      background: #fff;
      overflow: hidden;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -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; }
      .section-expectation .expectation-list-wrapper .expectation-list__item img {
        max-width: 180px;
        width: 100%;
        height: 100%;
        display: block;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        border-radius: 12px;
        position: relative; }
        .section-expectation .expectation-list-wrapper .expectation-list__item img:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          border-radius: 12px;
          background: -webkit-gradient(linear, left bottom, left top, from(rgba(45, 99, 224, 0.25)), to(rgba(45, 99, 224, 0.25)));
          background: linear-gradient(0deg, rgba(45, 99, 224, 0.25) 0%, rgba(45, 99, 224, 0.25) 100%);
          pointer-events: none;
          z-index: 1; }
        @media print, screen and (max-width: 39.99875em) {
          .section-expectation .expectation-list-wrapper .expectation-list__item img {
            max-width: 120px; } }
      .section-expectation .expectation-list-wrapper .expectation-list__item p {
        color: #052f5f;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        margin: 0;
        padding: 24px 32px; }
        @media print, screen and (max-width: 39.99875em) {
          .section-expectation .expectation-list-wrapper .expectation-list__item p {
            font-size: 16px;
            padding: 16px 24px; } }
      @media screen and (max-width: 53.125em) {
        .section-expectation .expectation-list-wrapper .expectation-list__item {
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          padding: 0; } }
      @media print, screen and (max-width: 39.99875em) {
        .section-expectation .expectation-list-wrapper .expectation-list__item {
          gap: 0; } }
    @media screen and (max-width: 53.125em) {
      .section-expectation .expectation-list-wrapper {
        margin-top: 40px;
        row-gap: 24px;
        grid-template-columns: 1fr; } }

.pillars-section {
  padding-block: 120px;
  position: relative; }
  .pillars-section .pillars-section-wrapper-up__title {
    color: #052f5f;
    font-family: 'PlayfairDisplay';
    font-size: 36px;
    font-weight: 400;
    line-height: 58px;
    letter-spacing: 0.02px;
    text-transform: capitalize;
    margin-bottom: 8px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    position: relative;
    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: 8px; }
    .pillars-section .pillars-section-wrapper-up__title::after {
      content: '';
      width: 100%;
      height: 1px;
      background-color: rgba(45, 99, 224, 0.5); }
    @media print, screen and (max-width: 39.99875em) {
      .pillars-section .pillars-section-wrapper-up__title {
        font-size: 32px;
        line-height: 42px; } }
  .pillars-section .pillars-section-wrapper-up__subtitle {
    color: #052f5f;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px; }
  .pillars-section .pillars-section-boxes-wrapper {
    z-index: 1;
    margin: 0;
    padding: 0;
    margin-top: 64px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 100%;
    gap: 24px;
    list-style-type: none; }
    .pillars-section .pillars-section-boxes-wrapper .pillars-section__box {
      position: relative;
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: grid;
      cursor: pointer;
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      border-radius: 12px;
      border: 1px solid rgba(45, 99, 224, 0.5);
      -webkit-transition: -webkit-box-flex 0.7s ease-in, -webkit-flex 0.7s ease-in;
      transition: -webkit-box-flex 0.7s ease-in, -webkit-flex 0.7s ease-in;
      transition: flex 0.7s ease-in;
      transition: flex 0.7s ease-in, -webkit-box-flex 0.7s ease-in, -webkit-flex 0.7s ease-in, -ms-flex 0.7s ease-in;
      min-height: 350px;
      width: 100px;
      overflow: hidden; }
      @media print, screen and (min-width: 64.0625em) {
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active {
          -webkit-box-flex: 6;
          -webkit-flex: 6;
              -ms-flex: 6;
                  flex: 6; }
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content {
            padding-inline: 32px; }
            .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content > div {
              left: 0;
              -webkit-transform: rotate(0);
                  -ms-transform: rotate(0);
                      transform: rotate(0); }
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content-title {
            left: 50%;
            bottom: 75%;
            text-align: center; }
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content-icon {
            left: 50%;
            top: 40%;
            -webkit-transform: translate(-50%, 0%) rotate(0deg);
                -ms-transform: translate(-50%, 0%) rotate(0deg);
                    transform: translate(-50%, 0%) rotate(0deg); }
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content-desc {
            opacity: 1;
            -webkit-transition-delay: 0.75s;
                    transition-delay: 0.75s;
            -webkit-transition: opacity 0.75s ease-in;
            transition: opacity 0.75s ease-in; } }
      @media print, screen and (max-width: 64.06125em) {
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content > div {
          grid-template-rows: auto 1fr !important;
          row-gap: 40px !important;
          -webkit-transition-delay: 0s;
                  transition-delay: 0s; }
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content > div::before {
            -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                    transform: rotate(180deg);
            -webkit-transition: all 0.5s ease-in-out;
            transition: all 0.5s ease-in-out; }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box.active .pillars-section__box-content-desc {
          opacity: 1;
          -webkit-transition-delay: 0.25s;
                  transition-delay: 0.25s;
          overflow: visible; } }
      .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-bckgr {
        grid-row: 1/-1;
        grid-column: 1/-1;
        position: relative;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        border-radius: 12px;
        overflow: hidden; }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-bckgr::after {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          background: linear-gradient(248deg, rgba(0, 119, 255, 0.3) 0%, rgba(42, 38, 89, 0.3) 52.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(0deg, rgba(35, 115, 206, 0.6) 0%, rgba(35, 115, 206, 0.6) 100%), #295ac7;
          background-position: 50%;
          background-size: cover;
          background-repeat: no-repeat;
          background-blend-mode: normal;
          opacity: 0.93; }
      .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content {
        z-index: 1;
        padding-block: 24px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%; }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content > div {
          width: 100%;
          height: 100%;
          position: relative;
          -webkit-transform: rotate(-90deg);
              -ms-transform: rotate(-90deg);
                  transform: rotate(-90deg);
          -webkit-transition: all 1s ease-in-out;
          transition: all 1s ease-in-out; }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-title {
          color: #fff;
          text-align: center;
          font-size: 18px;
          font-weight: 700;
          line-height: 30px;
          letter-spacing: 0.54px;
          text-transform: uppercase;
          margin: 0;
          width: 230px;
          bottom: 50%;
          position: absolute;
          left: 17%;
          -webkit-transform: translate(-50%, 50%);
              -ms-transform: translate(-50%, 50%);
                  transform: translate(-50%, 50%);
          -webkit-transition: all 1s ease-in-out;
          transition: all 1s ease-in-out;
          text-align: left; }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-icon {
          width: 32px;
          height: 32px;
          -o-object-fit: contain;
             object-fit: contain;
          position: absolute;
          display: block;
          left: 164px;
          -webkit-transition: all 1s ease-in-out;
          transition: all 1s ease-in-out;
          top: 50%;
          -webkit-transform: translate(0, -50%) rotate(90deg);
              -ms-transform: translate(0, -50%) rotate(90deg);
                  transform: translate(0, -50%) rotate(90deg); }
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-desc {
          color: #fff;
          text-align: center;
          font-size: 16px;
          font-weight: 400;
          line-height: 150%;
          margin: 0;
          opacity: 0;
          pointer-events: none;
          -webkit-transition: opacity 0.25s ease-in;
          transition: opacity 0.25s ease-in;
          top: 58%;
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          width: 75%;
          -webkit-transition-delay: 0s;
                  transition-delay: 0s; }
        @media print, screen and (max-width: 64.06125em) {
          .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content {
            grid-row: 1 / -1;
            grid-column: 1 / -1;
            padding-block: 32px;
            padding-inline: 24px;
            position: relative;
            top: unset;
            left: unset; }
            .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content > div {
              display: grid;
              grid-template-columns: 32px auto;
              grid-template-rows: auto 0fr;
              -webkit-column-gap: 16px;
                 -moz-column-gap: 16px;
                      column-gap: 16px;
              row-gap: 0;
              -webkit-transform: unset;
                  -ms-transform: unset;
                      transform: unset;
              -webkit-transition: all 0.5s ease-in-out;
              transition: all 0.5s ease-in-out;
              -webkit-transition-delay: 0s;
                      transition-delay: 0s;
              position: relative; }
              .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content > div:after {
                content: '';
                position: absolute;
                top: 15px;
                right: 0;
                width: 20px;
                height: 3px;
                background-color: #fff;
                -webkit-transform: rotate(0deg) translate(-50%, 0%);
                    -ms-transform: rotate(0deg) translate(-50%, 0%);
                        transform: rotate(0deg) translate(-50%, 0%);
                -webkit-transition: all 0.5s ease-in-out;
                transition: all 0.5s ease-in-out;
                pointer-events: none; }
              .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content > div:before {
                content: '';
                position: absolute;
                top: 15px;
                right: 11px;
                width: 20px;
                height: 3px;
                background-color: #fff;
                -webkit-transform: rotate(90deg) translate(0, -50%);
                    -ms-transform: rotate(90deg) translate(0, -50%);
                        transform: rotate(90deg) translate(0, -50%);
                -webkit-transition: all 0.5s ease-in-out;
                transition: all 0.5s ease-in-out;
                pointer-events: none; }
            .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-title {
              grid-column: 2/3;
              grid-row: 1/2;
              width: auto;
              bottom: unset;
              position: relative;
              left: unset;
              -webkit-transform: unset;
                  -ms-transform: unset;
                      transform: unset;
              -webkit-transition: unset;
              transition: unset;
              text-align: left;
              padding-right: 56px; }
            .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-icon {
              grid-column: 1/2;
              grid-row: 1/2;
              position: relative;
              left: unset;
              -webkit-transition: unset;
              transition: unset;
              top: unset;
              -webkit-transform: unset;
                  -ms-transform: unset;
                      transform: unset; }
            .pillars-section .pillars-section-boxes-wrapper .pillars-section__box-content-desc {
              grid-column: 1/-1;
              grid-row: 2/3;
              opacity: 0;
              -webkit-transition: unset;
              transition: unset;
              top: unset;
              position: relative;
              left: unset;
              -webkit-transform: unset;
                  -ms-transform: unset;
                      transform: unset;
              width: auto;
              text-align: left;
              -webkit-transition: opacity 0.25s ease;
              transition: opacity 0.25s ease;
              -webkit-transition-delay: 0s;
                      transition-delay: 0s;
              overflow: hidden;
              padding-right: 56px; } }
      @media print, screen and (max-width: 64.06125em) {
        .pillars-section .pillars-section-boxes-wrapper .pillars-section__box {
          min-height: unset;
          -webkit-box-flex: 0;
          -webkit-flex: none;
              -ms-flex: none;
                  flex: none;
          width: 100%;
          -webkit-transition: all 0.25s ease-in-out;
          transition: all 0.25s ease-in-out; } }
    @media print, screen and (max-width: 64.06125em) {
      .pillars-section .pillars-section-boxes-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 24px;
        margin-top: 48px; } }
  @media print, screen and (max-width: 39.99875em) {
    .pillars-section {
      padding-block: 80px; } }

.member-section {
  background: #f0f5ff;
  padding-block: 120px; }
  .member-section .member-section-container {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 550px;
    place-content: center; }
    .member-section .member-section-container .member-section__video-wrapper {
      grid-column: 1 / -1;
      grid-row: 1 / -1;
      overflow: hidden; }
      .member-section .member-section-container .member-section__video-wrapper video {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        width: 100%; }
      .member-section .member-section-container .member-section__video-wrapper::after {
        content: '';
        background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.5%, rgba(0, 0, 0, 0.33) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.85) 0%, rgba(45, 99, 224, 0.85) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.33) 0%, rgba(45, 99, 224, 0.33) 100%);
        background-blend-mode: normal, normal, color;
        display: block;
        height: 100%;
        min-height: 550px;
        opacity: 0.88;
        position: absolute;
        top: 0;
        width: 100%; }
    .member-section .member-section-container .member-section__content-wrapper {
      padding-inline: 15px;
      padding-block: 80px;
      grid-column: 1 / -1;
      grid-row: 1 / -1;
      z-index: 1; }
      .member-section .member-section-container .member-section__content-wrapper .grid-x {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -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; }
        .member-section .member-section-container .member-section__content-wrapper .grid-x .title {
          color: #fff;
          font-family: 'PlayfairDisplay';
          font-size: 36px;
          font-weight: 400;
          line-height: 150%;
          letter-spacing: 0.02px;
          text-transform: capitalize;
          margin-bottom: 8px;
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin-inline: auto;
          position: relative;
          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: 8px;
          text-align: center; }
          .member-section .member-section-container .member-section__content-wrapper .grid-x .title::after {
            content: '';
            width: 100%;
            height: 1px;
            background-color: rgba(240, 245, 255, 0.5); }
          @media print, screen and (max-width: 39.99875em) {
            .member-section .member-section-container .member-section__content-wrapper .grid-x .title {
              font-size: 32px; } }
        .member-section .member-section-container .member-section__content-wrapper .grid-x .subtitle {
          color: #fff;
          font-size: 20px;
          font-style: normal;
          font-weight: 700;
          line-height: 130%;
          text-align: center;
          margin: 0; }
          @media print, screen and (max-width: 39.99875em) {
            .member-section .member-section-container .member-section__content-wrapper .grid-x .subtitle {
              font-size: 18px; } }
        .member-section .member-section-container .member-section__content-wrapper .grid-x .member-content {
          max-width: 480px;
          margin-inline: auto;
          margin: 0;
          list-style: none;
          margin-block: 64px 40px;
          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: 14px;
          -webkit-box-align: start;
          -webkit-align-items: flex-start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          .member-section .member-section-container .member-section__content-wrapper .grid-x .member-content li {
            color: #fff;
            font-size: 18px;
            font-style: normal;
            font-weight: 400;
            line-height: 130%;
            margin: 0;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: baseline;
            -webkit-align-items: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            gap: 8px;
            position: relative; }
            .member-section .member-section-container .member-section__content-wrapper .grid-x .member-content li:before {
              content: '';
              width: 35.25px;
              height: 8px;
              aspect-ratio: 35.25/8;
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/icon-marker.svg");
              background-size: contain;
              background-repeat: no-repeat; }
        .member-section .member-section-container .member-section__content-wrapper .grid-x a {
          display: block;
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          border-radius: 42px;
          background: #f5f24f;
          padding: 8px 32px;
          color: #052f5f;
          font-size: 14px;
          font-weight: 700;
          line-height: 150%;
          -webkit-transition: all 0.25s ease;
          transition: all 0.25s ease;
          margin-inline: auto; }
          .member-section .member-section-container .member-section__content-wrapper .grid-x a:hover {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05); }
    @media print, screen and (max-width: 39.99875em) {
      .member-section .member-section-container {
        grid-template-rows: auto; } }
  @media print, screen and (max-width: 39.99875em) {
    .member-section {
      padding-block: 80px; } }

.why-section {
  padding-block: 120px;
  background: #fff; }
  .why-section .why-section-wrapper-up {
    z-index: 1; }
    .why-section .why-section-wrapper-up .title {
      color: #052f5f;
      font-family: 'PlayfairDisplay';
      font-size: 36px;
      font-weight: 400;
      line-height: 58px;
      letter-spacing: 0.02px;
      text-transform: capitalize;
      margin-bottom: 8px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-inline: auto;
      position: relative;
      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: 8px;
      text-align: center; }
      .why-section .why-section-wrapper-up .title::after {
        content: '';
        width: 100%;
        height: 1px;
        background-color: rgba(45, 99, 224, 0.5); }
      @media print, screen and (max-width: 39.99875em) {
        .why-section .why-section-wrapper-up .title {
          font-size: 32px;
          line-height: 42px; } }
    .why-section .why-section-wrapper-up .descr {
      text-align: center;
      color: #052f5f;
      font-size: 18px;
      font-weight: 400;
      line-height: 150%;
      margin: 0;
      max-width: 850px;
      margin-inline: auto; }
  .why-section .boxes-wrapper {
    z-index: 1;
    margin-top: 64px;
    margin-bottom: 80px; }
    .why-section .boxes-wrapper .box {
      min-height: 240px;
      padding: 24px 20px;
      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: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      border: 1px solid rgba(45, 99, 224, 0.5);
      background-blend-mode: normal, normal, color, normal; }
      .why-section .boxes-wrapper .box:nth-child(1) {
        background: linear-gradient(248deg, rgba(0, 119, 255, 0.3) 0%, rgba(42, 38, 89, 0.3) 52.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(180deg, rgba(45, 99, 224, 0) 0%, rgba(45, 99, 224, 0.8) 56.67%), linear-gradient(0deg, #2d63e0 0%, #2d63e0 100%), url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/Strengthen%20their%20presence%20within%20a%20community%20of%20influence.jpg") no-repeat center/cover; }
      .why-section .boxes-wrapper .box:nth-child(2) {
        background: linear-gradient(248deg, rgba(0, 119, 255, 0.3) 0%, rgba(42, 38, 89, 0.3) 52.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(180deg, rgba(45, 99, 224, 0) 0%, rgba(45, 99, 224, 0.8) 56.67%), linear-gradient(0deg, #2d63e0 0%, #2d63e0 100%), url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/Engage%20in%20cross-sector%20exchange%20at%20the%20highest%20level.jpg") no-repeat center/cover; }
      .why-section .boxes-wrapper .box:nth-child(3) {
        background: linear-gradient(248deg, rgba(0, 119, 255, 0.3) 0%, rgba(42, 38, 89, 0.3) 52.5%, rgba(0, 0, 0, 0.3) 100%), linear-gradient(180deg, rgba(45, 99, 224, 0) 0%, rgba(45, 99, 224, 0.8) 56.67%), linear-gradient(0deg, #2d63e0 0%, #2d63e0 100%), url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/Enhance%20their%20corporate%20profile%20through%20consistent%20institutional%20association.jpg") no-repeat center/cover; }
      .why-section .boxes-wrapper .box p {
        color: #fff;
        text-align: center;
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 130%;
        margin: 0; }
    @media print, screen and (max-width: 39.99875em) {
      .why-section .boxes-wrapper {
        margin-top: 40px;
        margin-bottom: 64px;
        gap: 24px; } }
  .why-section .why-section-wrapper-down {
    z-index: 1;
    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-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; }
    .why-section .why-section-wrapper-down svg {
      display: block;
      margin: 0 auto;
      width: 64px;
      height: 44px;
      aspect-ratio: 64 / 44; }
    .why-section .why-section-wrapper-down .number {
      color: #2d63e0;
      text-align: center;
      font-size: 52px;
      font-style: normal;
      font-weight: 600;
      line-height: 100%;
      text-align: center;
      margin: 40px 0 16px 0; }
    .why-section .why-section-wrapper-down .descr {
      color: #052f5f;
      text-align: center;
      font-size: 18px;
      font-style: normal;
      font-weight: 400;
      line-height: 100%;
      margin: 0 auto;
      max-width: 360px; }
  @media print, screen and (max-width: 39.99875em) {
    .why-section {
      padding-block: 80px; } }

.section-member-benefits {
  width: 100%;
  padding-top: calc((100vw * 109 / 480) + 64px);
  padding-bottom: 120px;
  margin-top: calc(-0.9 * (109 / 480) * 100%);
  background: linear-gradient(241deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 47.28%, rgba(0, 0, 0, 0.33) 90.06%), linear-gradient(270deg, rgba(45, 99, 224, 0) 4.75%, #2d63e0 38.87%), linear-gradient(0deg, rgba(45, 99, 224, 0.8) 0%, rgba(45, 99, 224, 0.8) 100%), linear-gradient(128deg, rgba(0, 111, 255, 0.3) 7.12%, rgba(42, 38, 89, 0.3) 47%, rgba(0, 0, 0, 0.3) 83.09%), #2d63e0;
  background-blend-mode: normal, normal, color, normal, normal, normal;
  position: relative; }
  .section-member-benefits:before {
    aspect-ratio: 481 / 109;
    top: 0;
    content: '';
    display: block;
    height: auto;
    left: 0px;
    pointer-events: none;
    position: absolute;
    width: 100%;
    background: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/white-wave-mask-inverted.svg") 50% center/cover no-repeat;
    background-position: 50% center; }
  .section-member-benefits .benefits-wrapper-up .benefits__title {
    color: #fff;
    font-family: 'PlayfairDisplay';
    font-size: 36px;
    font-weight: 400;
    line-height: 58px;
    letter-spacing: 0.02px;
    text-transform: capitalize;
    margin: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    position: relative;
    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-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    margin-bottom: 8px; }
    .section-member-benefits .benefits-wrapper-up .benefits__title::after {
      content: '';
      width: 100%;
      height: 1px;
      background-color: rgba(240, 245, 255, 0.5); }
    @media print, screen and (max-width: 39.99875em) {
      .section-member-benefits .benefits-wrapper-up .benefits__title {
        font-size: 32px;
        line-height: 42px; } }
  .section-member-benefits .benefits-wrapper-up .benefits__subtitle {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
    margin-bottom: 0; }
  .section-member-benefits .benefits-list-wrapper {
    margin: 0;
    margin-top: 64px;
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-areas: 'first fourth' 'second fourth' 'third fourth';
    gap: 40px; }
    .section-member-benefits .benefits-list-wrapper .benefits-list__item {
      position: relative;
      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;
      padding-left: 40px; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item .benefits-list__item-title {
        color: #fff;
        font-size: 18px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        margin: 0;
        margin-bottom: 8px; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item .benefits-list__item-subtitle {
        color: #fff;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        margin: 0; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 0;
        height: 8px;
        aspect-ratio: 35.25 / 8;
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/icon-marker.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item ol {
        margin: 0;
        margin-block: 32px;
        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: 8px; }
        .section-member-benefits .benefits-list-wrapper .benefits-list__item ol li {
          color: #fff;
          font-size: 16px;
          font-style: normal;
          font-weight: 400;
          line-height: 150%;
          position: relative;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          -webkit-box-pack: start;
          -webkit-justify-content: flex-start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          gap: 8px; }
          .section-member-benefits .benefits-list-wrapper .benefits-list__item ol li::before {
            content: '';
            color: #fff;
            display: block;
            height: 10px;
            aspect-ratio: 14 / 10;
            background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/tick-icon.svg");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item:nth-child(1) {
        grid-area: first; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item:nth-child(2) {
        grid-area: second; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item:nth-child(3) {
        grid-area: third; }
      .section-member-benefits .benefits-list-wrapper .benefits-list__item:nth-child(4) {
        grid-area: fourth; }
    @media screen and (max-width: 53.125em) {
      .section-member-benefits .benefits-list-wrapper {
        margin-top: 40px;
        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: 24px;
        grid-template-areas: unset; } }

.fee-section {
  background: #f0f5ff;
  padding-block: 120px; }
  .fee-section .fee-title {
    color: #052f5f;
    font-family: 'Playfair Display';
    font-size: 36px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.02px;
    text-transform: capitalize;
    text-align: center;
    margin-bottom: 40px; }
  .fee-section .fee-wrapper {
    border-radius: 12px 12px 0 0;
    border: 1px solid rgba(45, 99, 224, 0.25);
    background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.31%, rgba(0, 0, 0, 0.33) 99.63%), #2d63e0;
    padding: 80px 128px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
    .fee-section .fee-wrapper .fee-header {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .fee-section .fee-wrapper .fee-header .title {
        color: #fff;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 150%;
        letter-spacing: 0.2px;
        text-transform: uppercase;
        margin-bottom: 8px; }
      .fee-section .fee-wrapper .fee-header .descr {
        color: #fff;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        margin: 0; }
      @media print, screen and (max-width: 64.06125em) {
        .fee-section .fee-wrapper .fee-header {
          grid-area: header; } }
    .fee-section .fee-wrapper ol {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin: 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;
      gap: 16px; }
      .fee-section .fee-wrapper ol li {
        color: #fff;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 8px; }
        .fee-section .fee-wrapper ol li::before {
          content: '';
          color: #fff;
          display: block;
          height: 10px;
          aspect-ratio: 14 / 10;
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/tick-icon.svg");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center; }
      @media print, screen and (max-width: 64.06125em) {
        .fee-section .fee-wrapper ol {
          grid-area: list; } }
    .fee-section .fee-wrapper .fee-amount-wrapper {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      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-align: end;
      -webkit-align-items: flex-end;
          -ms-flex-align: end;
              align-items: flex-end; }
      .fee-section .fee-wrapper .fee-amount-wrapper > div {
        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-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        @media print, screen and (max-width: 39.99875em) {
          .fee-section .fee-wrapper .fee-amount-wrapper > div {
            -webkit-box-align: start;
            -webkit-align-items: flex-start;
                -ms-flex-align: start;
                    align-items: flex-start; } }
      .fee-section .fee-wrapper .fee-amount-wrapper .fee-amount {
        color: #fff;
        font-size: 42px;
        font-style: normal;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 32px; }
        .fee-section .fee-wrapper .fee-amount-wrapper .fee-amount span {
          display: block;
          font-size: 12px;
          font-weight: 600;
          margin-top: 6px; }
        @media print, screen and (max-width: 39.99875em) {
          .fee-section .fee-wrapper .fee-amount-wrapper .fee-amount {
            font-size: 32px; } }
      .fee-section .fee-wrapper .fee-amount-wrapper a {
        display: block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: 42px;
        background: #f5f24f;
        padding: 8px 32px;
        color: #052f5f;
        font-size: 14px;
        font-weight: 700;
        line-height: 150%;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease;
        margin-inline: auto; }
        .fee-section .fee-wrapper .fee-amount-wrapper a:hover {
          -webkit-transform: scale(1.05);
              -ms-transform: scale(1.05);
                  transform: scale(1.05); }
      @media print, screen and (max-width: 64.06125em) {
        .fee-section .fee-wrapper .fee-amount-wrapper {
          grid-area: btn; } }
    @media print, screen and (max-width: 64.06125em) {
      .fee-section .fee-wrapper {
        padding: 64px 32px;
        display: grid;
        grid-template-areas: 'header btn' 'list btn';
        gap: 32px; } }
    @media print, screen and (max-width: 39.99875em) {
      .fee-section .fee-wrapper {
        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: 40px;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; }
        .fee-section .fee-wrapper .fee-amount-wrapper {
          -webkit-box-align: start;
          -webkit-align-items: flex-start;
              -ms-flex-align: start;
                  align-items: flex-start; } }
  .fee-section .contact-wrapper {
    border-radius: 0 0 12px 12px;
    background: #fff;
    -webkit-box-shadow: 8px 8px 4px 0 rgba(45, 99, 224, 0.08);
            box-shadow: 8px 8px 4px 0 rgba(45, 99, 224, 0.08);
    padding: 80px 128px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row; }
    .fee-section .contact-wrapper .details {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .fee-section .contact-wrapper .details p {
        color: #052f5f;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 150%;
        margin: 0;
        max-width: 420px;
        padding-right: 40px; }
        @media print, screen and (max-width: 39.99875em) {
          .fee-section .contact-wrapper .details p {
            padding-right: 0; } }
    .fee-section .contact-wrapper .form-wrapper {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .fee-section .contact-wrapper .form-wrapper form fieldset {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 16px; }
        .fee-section .contact-wrapper .form-wrapper form fieldset .field div.input {
          margin-right: 0; }
          .fee-section .contact-wrapper .form-wrapper form fieldset .field div.input input {
            border-radius: 12px;
            border: 1px solid rgba(45, 99, 224, 0.25);
            color: rgba(5, 47, 95, 0.5);
            font-size: 13px;
            font-weight: 400;
            line-height: normal;
            margin-bottom: 4px; }
        .fee-section .contact-wrapper .form-wrapper form fieldset .field .hs-error-msgs {
          margin: 0; }
          .fee-section .contact-wrapper .form-wrapper form fieldset .field .hs-error-msgs .hs-error-msg {
            color: #052f5f;
            font-size: 12px;
            font-style: normal;
            font-weight: 400;
            line-height: 1; }
        @media print, screen and (max-width: 39.99875em) {
          .fee-section .contact-wrapper .form-wrapper form fieldset .field {
            width: 100%; } }
        .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container {
          margin-block: 24px; }
          .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container div.input {
            margin-right: 0; }
            .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container div.input .inputs-list li {
              position: relative; }
              .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container div.input .inputs-list li input[type='checkbox'] {
                position: absolute;
                left: 0;
                top: 8px;
                -webkit-transform: translateY(-50%);
                    -ms-transform: translateY(-50%);
                        transform: translateY(-50%);
                display: block;
                aspect-ratio: 1;
                margin: 0;
                accent-color: #2d63e0; }
              .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container div.input .inputs-list li span {
                padding-left: 22px;
                color: #052f5f;
                font-size: 12px;
                font-style: normal;
                font-weight: 400;
                line-height: 130%; }
                .fee-section .contact-wrapper .form-wrapper form fieldset .legal-consent-container div.input .inputs-list li span.hs-form-required {
                  padding-left: 0px; }
        .fee-section .contact-wrapper .form-wrapper form fieldset:nth-child(1) {
          margin-bottom: 16px; }
        @media print, screen and (max-width: 39.99875em) {
          .fee-section .contact-wrapper .form-wrapper form fieldset {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
                -ms-flex-direction: column;
                    flex-direction: column;
            gap: 12px; } }
      .fee-section .contact-wrapper .form-wrapper form input[type='submit'] {
        display: block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: 25px;
        background: #2d63e0;
        padding: 12px 32px;
        color: #fff;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: 0.28px;
        text-transform: uppercase;
        margin-left: auto; }
    @media print, screen and (max-width: 64.06125em) {
      .fee-section .contact-wrapper {
        padding: 64px 32px; } }
    @media print, screen and (max-width: 39.99875em) {
      .fee-section .contact-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 40px; } }
  @media print, screen and (max-width: 39.99875em) {
    .fee-section {
      padding-block: 80px; } }

html {
  scroll-behavior: smooth; }

.registration-section {
  background: linear-gradient(248deg, rgba(0, 119, 255, 0.33) 0%, rgba(38, 46, 89, 0.33) 52.5%, rgba(0, 0, 0, 0.33) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.85) 0%, rgba(45, 99, 224, 0.85) 100%), linear-gradient(0deg, rgba(45, 99, 224, 0.33) 0%, rgba(45, 99, 224, 0.33) 100%), url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/registration-bckgr-def-xi.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-block: 80px 120px; }
  .registration-section__title {
    color: #fff;
    font-family: 'PlayfairDisplay';
    text-align: center;
    font-size: 36px;
    font-weight: 400;
    line-height: 150%;
    text-transform: capitalize;
    margin: 0; }
    @media print, screen and (max-width: 39.99875em) {
      .registration-section__title {
        font-size: 32px;
        line-height: 42px; } }
  .registration-section .boxes-wrapper {
    margin-top: 128px; }
    .registration-section .boxes-wrapper .paid-boxes {
      height: 100%;
      display: grid;
      grid-template-columns: 0.6fr 20px 0.6fr 20px 1fr;
      grid-template-rows: 30px 40px auto 40px 30px; }
      .registration-section .boxes-wrapper .paid-boxes .ticket {
        border-radius: 16px;
        background: #fff;
        -webkit-box-shadow: 8px 8px 4px 0px rgba(0, 0, 0, 0.08);
                box-shadow: 8px 8px 4px 0px rgba(0, 0, 0, 0.08);
        padding: 32px;
        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: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        position: relative; }
        .registration-section .boxes-wrapper .paid-boxes .ticket.live {
          grid-column: 4 / 6;
          grid-row: 1 / 6;
          z-index: 4;
          gap: 16px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket.live::before {
            content: '';
            background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/yellow-eyebrow.svg");
            background-position: center;
            background-repeat: no-repeat;
            background-size: contain;
            width: 100px;
            height: 23px;
            position: absolute;
            left: calc(50% - 48px);
            top: -45px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket.live::after {
            content: 'Available from 01/04/25';
            position: absolute;
            left: 50%;
            bottom: -30px;
            color: #f5f24f;
            text-align: center;
            font-size: 16px;
            font-weight: 600;
            line-height: 130%;
            letter-spacing: 0.48px;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 100%; }
          @media print, screen and (max-width: 39.99875em) {
            .registration-section .boxes-wrapper .paid-boxes .ticket.live {
              grid-column: 1 / -1;
              gap: 40px; } }
        .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) {
          grid-column: 1/3;
          grid-row: 3/4;
          z-index: 3;
          position: relative;
          gap: 8px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) .ticket-type {
            font-size: 12px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) .ticket-price {
            font-size: 22px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) .ticket-content li {
            font-size: 9px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) a {
            font-size: 12px;
            padding-block: 12px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) .ticket-extra {
            font-size: 7px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live)::before {
            content: '';
            background: #f0f5ff;
            opacity: 0.6;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border-radius: 16px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live)::after {
            content: 'Available until 15/02/25';
            position: absolute;
            left: 50%;
            bottom: -30px;
            color: #f0f5ff;
            text-align: center;
            font-size: 13px;
            font-weight: 600;
            line-height: 130%;
            letter-spacing: 0.48px;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 100%;
            opacity: 0.6; }
          @media print, screen and (max-width: 39.99875em) {
            .registration-section .boxes-wrapper .paid-boxes .ticket:first-child:not(.live) {
              display: none; } }
        .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) {
          grid-column: 2 / 5;
          grid-row: 2 / 5;
          z-index: 3;
          position: relative; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) .ticket-type {
            font-size: 16px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) .ticket-price {
            font-size: 32px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) .ticket-content li {
            font-size: 11px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) a {
            font-size: 16px;
            padding-block: 17px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) .ticket-extra {
            font-size: 9px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live)::before {
            content: '';
            background: #f0f5ff;
            opacity: 0.6;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border-radius: 16px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live)::after {
            content: 'Available until 31/03/25';
            position: absolute;
            left: 50%;
            bottom: -30px;
            color: #f0f5ff;
            text-align: center;
            font-size: 13px;
            font-weight: 600;
            line-height: 130%;
            letter-spacing: 0.48px;
            -webkit-transform: translateX(-50%);
                -ms-transform: translateX(-50%);
                    transform: translateX(-50%);
            width: 100%;
            opacity: 0.6; }
          @media print, screen and (max-width: 39.99875em) {
            .registration-section .boxes-wrapper .paid-boxes .ticket:nth-child(2):not(.live) {
              display: none; } }
        .registration-section .boxes-wrapper .paid-boxes .ticket-type {
          color: #052f5f;
          text-align: center;
          font-size: 20px;
          font-weight: 700;
          line-height: 130%;
          letter-spacing: 0.2px;
          text-transform: uppercase;
          margin: 0; }
        .registration-section .boxes-wrapper .paid-boxes .ticket-price {
          color: #295ac7;
          text-align: center;
          font-size: 42px;
          font-weight: 600;
          line-height: 150%;
          margin: 0; }
        .registration-section .boxes-wrapper .paid-boxes .ticket-content {
          list-style-type: none;
          margin: 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;
          gap: 8px; }
          .registration-section .boxes-wrapper .paid-boxes .ticket-content li {
            color: #052f5f;
            font-size: 14px;
            font-weight: 400;
            line-height: 150%;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            -webkit-box-align: baseline;
            -webkit-align-items: baseline;
                -ms-flex-align: baseline;
                    align-items: baseline;
            gap: 8px; }
            .registration-section .boxes-wrapper .paid-boxes .ticket-content li:before {
              content: '';
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/check-blue.svg");
              background-position: center;
              background-repeat: no-repeat;
              background-size: contain;
              height: 14px;
              aspect-ratio: 1/1; }
        .registration-section .boxes-wrapper .paid-boxes .ticket div a {
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/paid-ticket-bckgr.svg");
          padding: 19px 67px;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          margin-inline: auto;
          color: #fff;
          text-align: center;
          font-size: 21px;
          font-weight: 700;
          line-height: 22px;
          letter-spacing: 0.63px;
          display: block;
          margin: auto;
          -webkit-transition: all 0.25s ease;
          transition: all 0.25s ease; }
          .registration-section .boxes-wrapper .paid-boxes .ticket div a:hover {
            -webkit-transform: scale(1.05);
                -ms-transform: scale(1.05);
                    transform: scale(1.05); }
        .registration-section .boxes-wrapper .paid-boxes .ticket div .ticket-extra {
          color: #052f5f;
          text-align: center;
          font-size: 12px;
          font-weight: 400;
          line-height: 28.8px;
          margin: 0;
          margin-top: 8px; }
      @media print, screen and (max-width: 64.06125em) {
        .registration-section .boxes-wrapper .paid-boxes {
          height: -webkit-fit-content;
          height: -moz-fit-content;
          height: fit-content;
          margin-inline: auto; } }
      @media print, screen and (max-width: 39.99875em) {
        .registration-section .boxes-wrapper .paid-boxes {
          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; } }
    .registration-section .boxes-wrapper .divider {
      height: 100%;
      width: 1px;
      background-color: rgba(255, 255, 255, 0.5); }
    .registration-section .boxes-wrapper .free-boxes {
      height: 100%;
      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; }
      .registration-section .boxes-wrapper .free-boxes .ticket {
        margin-block: auto;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content;
        border-radius: 16px;
        background: linear-gradient(119deg, rgba(0, 111, 255, 0.3) 8.11%, rgba(42, 38, 89, 0.3) 53.51%, rgba(0, 0, 0, 0.3) 94.58%), #295ac7;
        -webkit-box-shadow: 8px 8px 4px 0px rgba(0, 0, 0, 0.08);
                box-shadow: 8px 8px 4px 0px rgba(0, 0, 0, 0.08);
        padding: 32px 24px;
        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: 40px;
        position: relative; }
        .registration-section .boxes-wrapper .free-boxes .ticket-type {
          color: #fff;
          text-align: center;
          font-size: 20px;
          font-weight: 700;
          line-height: 130%;
          letter-spacing: 0.2px;
          text-transform: uppercase;
          margin: 0; }
        .registration-section .boxes-wrapper .free-boxes .ticket-price {
          color: #fff;
          text-align: center;
          font-size: 28px;
          font-weight: 600;
          line-height: 150%;
          margin: 0; }
        .registration-section .boxes-wrapper .free-boxes .ticket-content {
          list-style-type: none;
          margin: 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;
          gap: 8px; }
          .registration-section .boxes-wrapper .free-boxes .ticket-content li {
            color: #fff;
            font-size: 12px;
            font-weight: 400;
            line-height: 130%;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row;
            gap: 8px; }
            .registration-section .boxes-wrapper .free-boxes .ticket-content li:before {
              content: '';
              background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/check-yellow.svg");
              background-position: center;
              background-repeat: no-repeat;
              background-size: contain;
              height: 24px;
              aspect-ratio: 1/1; }
        .registration-section .boxes-wrapper .free-boxes .ticket a {
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/free-ticket-bckgr.svg");
          padding: 21px 44px;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          margin-inline: auto;
          color: #fff;
          text-align: center;
          font-size: 21px;
          font-weight: 700;
          line-height: 22px;
          letter-spacing: 0.63px; }
        .registration-section .boxes-wrapper .free-boxes .ticket::before {
          content: '';
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/white-eyebrow.svg");
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          width: 100px;
          height: 23px;
          position: absolute;
          left: calc(50% - 48px);
          top: -45px; }
          @media print, screen and (max-width: 39.99875em) {
            .registration-section .boxes-wrapper .free-boxes .ticket::before {
              display: none; } }
      @media print, screen and (max-width: 64.06125em) {
        .registration-section .boxes-wrapper .free-boxes {
          height: -webkit-fit-content;
          height: -moz-fit-content;
          height: fit-content;
          margin-inline: auto; } }
    @media print, screen and (max-width: 64.06125em) {
      .registration-section .boxes-wrapper {
        gap: 176px; } }
  .registration-section.redesign {
    padding-block: 120px 160px; }
    .registration-section.redesign .registration-section__title {
      text-align: left;
      position: relative;
      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: 8px;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin-bottom: 8px; }
      .registration-section.redesign .registration-section__title::after {
        content: '';
        width: 100%;
        height: 1px;
        background-color: rgba(240, 245, 255, 0.5); }
    .registration-section.redesign .registration-section__subtitle {
      color: #fff;
      font-size: 18px;
      font-style: normal;
      font-weight: 700;
      line-height: 150%;
      margin: 0; }
    .registration-section.redesign .registration-section__list {
      row-gap: 24px;
      margin: 0;
      margin-block: 64px 40px;
      list-style-type: none; }
      .registration-section.redesign .registration-section__list .registration-section__item {
        color: #fff;
        font-size: 18px;
        font-weight: 400;
        line-height: 150%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 8px; }
        .registration-section.redesign .registration-section__list .registration-section__item::before {
          content: '';
          width: 24px;
          height: 24px;
          -webkit-flex-shrink: 0;
              -ms-flex-negative: 0;
                  flex-shrink: 0;
          background-size: contain;
          background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/check-yellow.svg");
          background-repeat: no-repeat;
          background-repeat: no-repeat; }
      @media print, screen and (max-width: 64.06125em) {
        .registration-section.redesign .registration-section__list {
          margin-block: 32px 40px; } }
    .registration-section.redesign .registration-section__btn-wrapper {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      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-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;
      gap: 12px; }
      .registration-section.redesign .registration-section__btn-wrapper a {
        display: block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        border-radius: 41.667px;
        background: #f5f24f;
        padding: 8px 32px;
        color: #052f5f;
        font-size: 14px;
        font-weight: 700;
        line-height: 150%;
        -webkit-transition: all 0.25s ease;
        transition: all 0.25s ease;
        position: relative;
        text-transform: uppercase; }
        .registration-section.redesign .registration-section__btn-wrapper a:hover {
          -webkit-transform: scale(1.05);
              -ms-transform: scale(1.05);
                  transform: scale(1.05); }
      .registration-section.redesign .registration-section__btn-wrapper p {
        color: #fff;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 1;
        text-align: center; }
    .registration-section.redesign .tickets-overview {
      border-radius: 15px;
      background: #fff;
      -webkit-box-shadow: 8px 8px 4px 0 rgba(0, 0, 0, 0.08);
              box-shadow: 8px 8px 4px 0 rgba(0, 0, 0, 0.08);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      padding: 32px 40px 64px 40px; }
      .registration-section.redesign .tickets-overview ul {
        list-style-type: none;
        margin: 0;
        padding: 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;
        width: 100%; }
        .registration-section.redesign .tickets-overview ul li {
          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-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;
          padding-block: 24px;
          border-bottom: 1px solid rgba(134, 134, 134, 0.5);
          opacity: 0.33; }
          .registration-section.redesign .tickets-overview ul li .price {
            color: #878787;
            font-size: 28px;
            font-style: normal;
            font-weight: 700;
            line-height: 150%;
            margin-bottom: 8px;
            text-align: center; }
          .registration-section.redesign .tickets-overview ul li .title {
            color: #323232;
            font-size: 18px;
            font-style: normal;
            font-weight: 700;
            line-height: 130%;
            letter-spacing: 0.18px;
            text-transform: uppercase;
            margin-bottom: 8px;
            text-align: center; }
          .registration-section.redesign .tickets-overview ul li .date {
            color: #878787;
            font-size: 14px;
            font-style: normal;
            font-weight: 600;
            line-height: 130%;
            letter-spacing: 0.42px;
            margin: 0;
            text-align: center; }
          .registration-section.redesign .tickets-overview ul li.active {
            border-color: rgba(45, 99, 224, 0.5);
            opacity: 1; }
            .registration-section.redesign .tickets-overview ul li.active .price {
              color: #2d63e0;
              font-size: 40px; }
            .registration-section.redesign .tickets-overview ul li.active .title {
              color: #052f5f;
              font-size: 22px;
              letter-spacing: 0.22px; }
            .registration-section.redesign .tickets-overview ul li.active .date {
              color: #2d63e0;
              font-size: 16px;
              letter-spacing: 0.48px; }
            @media print, screen and (max-width: 39.99875em) {
              .registration-section.redesign .tickets-overview ul li.active {
                display: block;
                padding: 0;
                border: none; } }
          .registration-section.redesign .tickets-overview ul li:first-child {
            padding-top: 0; }
          .registration-section.redesign .tickets-overview ul li:last-child {
            padding-bottom: 0;
            border-bottom: none; }
          @media print, screen and (max-width: 39.99875em) {
            .registration-section.redesign .tickets-overview ul li {
              display: none; } }
      @media print, screen and (max-width: 64.06125em) {
        .registration-section.redesign .tickets-overview {
          margin-top: 64px; } }
    @media print, screen and (max-width: 39.99875em) {
      .registration-section.redesign {
        padding-block: 80px 120px; } }

footer .main-footer {
  padding-block: 120px; }
  footer .main-footer .main-footer-contents .left-wrapper .logo-link {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    footer .main-footer .main-footer-contents .left-wrapper .logo-link .footer-logo {
      height: 160px;
      -o-object-fit: contain;
         object-fit: contain; }
  footer .main-footer .main-footer-contents .left-wrapper .back-to-main-site-link-blue {
    color: #2d63e0;
    font-size: 14px;
    font-weight: 700;
    line-height: 14.167px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    opacity: 1;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease; }
    footer .main-footer .main-footer-contents .left-wrapper .back-to-main-site-link-blue:hover {
      opacity: 0.7; }
    footer .main-footer .main-footer-contents .left-wrapper .back-to-main-site-link-blue::before {
      content: '';
      background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-x-assets/blue-arrow.svg");
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      height: 14px;
      width: 14px; }
  @media print, screen and (max-width: 64.06125em) {
    footer .main-footer .main-footer-contents .left-wrapper {
      margin-bottom: 48px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  footer .main-footer .main-footer-contents .right-wrapper h6 {
    color: #052f5f;
    font-size: 20px;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 32px; }
    @media print, screen and (max-width: 64.06125em) {
      footer .main-footer .main-footer-contents .right-wrapper h6 {
        margin-bottom: 8px; } }
  footer .main-footer .main-footer-contents .right-wrapper .main-footer-nav ul {
    margin: 0;
    list-style-type: none; }
    footer .main-footer .main-footer-contents .right-wrapper .main-footer-nav ul li a {
      color: #052f5f;
      font-size: 16px;
      font-weight: 400;
      line-height: 150%;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease; }
      footer .main-footer .main-footer-contents .right-wrapper .main-footer-nav ul li a:hover {
        color: #2d63e0; }
  footer .main-footer .main-footer-contents .right-wrapper .info-details {
    color: #052f5f;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    font-style: normal; }
    footer .main-footer .main-footer-contents .right-wrapper .info-details span a {
      color: #052f5f; }
      footer .main-footer .main-footer-contents .right-wrapper .info-details span a:hover, footer .main-footer .main-footer-contents .right-wrapper .info-details span a:focus {
        color: #052f5f; }
  footer .main-footer .main-footer-contents .right-wrapper .contact-details {
    font-style: normal;
    margin-bottom: 64px; }
    footer .main-footer .main-footer-contents .right-wrapper .contact-details a {
      color: #052f5f;
      font-size: 16px;
      font-weight: 400;
      line-height: 150%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 8px;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease; }
      footer .main-footer .main-footer-contents .right-wrapper .contact-details a:hover {
        color: #2d63e0; }
      footer .main-footer .main-footer-contents .right-wrapper .contact-details a::before {
        content: '';
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat; }
      footer .main-footer .main-footer-contents .right-wrapper .contact-details a.tel::before {
        aspect-ratio: 1 / 1;
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/tel-icon.svg");
        height: 18px; }
      footer .main-footer .main-footer-contents .right-wrapper .contact-details a.email::before {
        aspect-ratio: 13 / 10;
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/email-icon.svg");
        height: 14px; }
    @media print, screen and (max-width: 39.99875em) {
      footer .main-footer .main-footer-contents .right-wrapper .contact-details {
        margin-bottom: 24px; } }
  footer .main-footer .main-footer-contents .right-wrapper .footer-social {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
    margin: 0;
    list-style-type: none; }
    footer .main-footer .main-footer-contents .right-wrapper .footer-social li a {
      background-position: center;
      background-size: contain;
      background-repeat: no-repeat;
      height: 22px;
      width: 22px;
      -webkit-transition: all 0.25s ease;
      transition: all 0.25s ease;
      display: block; }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a.linkedin {
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/linkedin-icon.svg"); }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a.insta {
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/insta-icon.svg"); }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a.facebook {
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/facebook-icon.svg"); }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a.youtube {
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/youtube-icon.svg"); }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a.tiktok {
        width: 26px;
        height: 26px;
        background-image: url("https://9293953.fs1.hubspotusercontent-eu1.net/hubfs/9293953/def-xi/tik-tok-icon.svg"); }
      footer .main-footer .main-footer-contents .right-wrapper .footer-social li a:hover {
        opacity: 0.7; }
  @media print, screen and (max-width: 39.99875em) {
    footer .main-footer .main-footer-contents .right-wrapper {
      gap: 32px; } }
  @media print, screen and (max-width: 64.06125em) {
    footer .main-footer {
      padding-block: 80px; } }

footer .mini-footer {
  padding-block: 24px;
  background: linear-gradient(119deg, rgba(0, 111, 255, 0.3) 8.11%, rgba(42, 38, 89, 0.3) 53.51%, rgba(0, 0, 0, 0.3) 94.58%), #2d63e0; }
  footer .mini-footer p {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    margin: 0; }

.sticky-letters--container {
  padding-block: 2rem; }
  .sticky-letters--container .sticky-letters {
    -webkit-transition: 0.25s background-color ease;
    transition: 0.25s background-color ease; }
    .sticky-letters--container .sticky-letters.is-stuck {
      background-color: white;
      -webkit-box-shadow: 0 0 32px 0 rgba(10, 10, 10, 0.4);
              box-shadow: 0 0 32px 0 rgba(10, 10, 10, 0.4); }

.letterTabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: none;
  background: transparent;
  padding: 18px 0px; }
  @media screen and (max-width: 85em) {
    .letterTabs {
      overflow-x: scroll;
      padding-block: 1rem; } }
  .letterTabs:before, .letterTabs:after {
    display: none; }
  .letterTabs .tabs-title {
    border-radius: 4px;
    background: #f0f5ff;
    border: 1px solid #2d63e0;
    height: 30px;
    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;
    aspect-ratio: 1/1;
    -webkit-transition: none;
    transition: none; }
    @media print, screen and (max-width: 39.99875em) {
      .letterTabs .tabs-title {
        height: 50px; } }
    .letterTabs .tabs-title a {
      font-size: 1rem;
      color: #2d63e0;
      background-color: transparent;
      padding: 0.25rem 0.5rem;
      -webkit-transition: none;
      transition: none; }
    .letterTabs .tabs-title.is-active {
      background: #2d63e0; }
      .letterTabs .tabs-title.is-active a {
        color: #fff; }

.speakers {
  position: relative; }
  .speakers .tabs-content {
    background-color: transparent;
    border: none; }
    .speakers .tabs-content .tabs-panel {
      padding: 0; }
    .speakers .tabs-content .tab-letter--container {
      margin-bottom: 1rem; }
    .speakers .tabs-content .moderators {
      margin-block: 3rem 0; }

.js-searchedSpeakers,
.js-paginatedSpeakers {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.25s ease, visibility 0.25s ease;
  transition: opacity 0.25s ease, visibility 0.25s ease; }
  .js-searchedSpeakers.hidden,
  .js-paginatedSpeakers.hidden {
    opacity: 0;
    visibility: hidden; }

.allSpeakers {
  position: relative;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.55s ease;
  transition: opacity 0.55s ease; }
  .allSpeakers.hidden {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.55s ease 0.55s;
    transition: opacity 0.55s ease 0.55s; }

.search.speakers {
  background-repeat: no-repeat;
  font-weight: 500;
  border: none;
  border-bottom: 1px solid #052f5f;
  width: 300px;
  font-size: 1.375rem;
  background-color: #fafafb;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='48' width='48'%3E%3Cpath d='M39.8 41.95 26.65 28.8q-1.5 1.3-3.5 2.025-2 .725-4.25.725-5.4 0-9.15-3.75T6 18.75q0-5.3 3.75-9.05 3.75-3.75 9.1-3.75 5.3 0 9.025 3.75 3.725 3.75 3.725 9.05 0 2.15-.7 4.15-.7 2-2.1 3.75L42 39.75Zm-20.95-13.4q4.05 0 6.9-2.875Q28.6 22.8 28.6 18.75t-2.85-6.925Q22.9 8.95 18.85 8.95q-4.1 0-6.975 2.875T9 18.75q0 4.05 2.875 6.925t6.975 2.875Z'/%3E%3C/svg%3E");
  background-position: calc(100% - 5px) center;
  padding: 0.5rem 2rem 0.5rem 0.5rem;
  background-size: 30px; }
  .search.speakers:active, .search.speakers:focus-visible, .search.speakers:focus {
    outline: none; }

.speakers-header {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -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;
  gap: 16px; }

.intro-heading {
  color: #052f5f;
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
  margin: 0; }

.person-cards {
  display: grid;
  grid-template-rows: 1fr;
  gap: 24px;
  margin-top: 24px; }
  @media print, screen and (min-width: 40em) {
    .person-cards {
      grid-template-columns: repeat(3, 1fr); } }
  @media print, screen and (min-width: 64.0625em) {
    .person-cards {
      grid-template-columns: repeat(5, 1fr); } }
  .person-cards .person-card {
    -webkit-transition: -webkit-transform 1s ease;
    transition: -webkit-transform 1s ease;
    transition: transform 1s ease;
    transition: transform 1s ease, -webkit-transform 1s ease;
    -webkit-transition: margin-top 0.8s ease, margin-bottom 0.8s ease;
    transition: margin-top 0.8s ease, margin-bottom 0.8s ease; }
    .person-cards .person-card .person-image--wrapper {
      margin-bottom: 0.75rem;
      aspect-ratio: 1;
      overflow: hidden;
      position: relative; }
      .person-cards .person-card .person-image--wrapper:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #2d61e0;
        z-index: 1;
        opacity: 0.5; }
      .person-cards .person-card .person-image--wrapper .person-image {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        -webkit-transform-origin: center;
            -ms-transform-origin: center;
                transform-origin: center;
        -webkit-transition: 1s ease;
        transition: 1s ease;
        -webkit-filter: grayscale(50%);
                filter: grayscale(50%); }
    .person-cards .person-card .person-name {
      color: #2d63e0;
      font-size: 1.125rem;
      text-align: center;
      margin-bottom: 0.375rem;
      font-weight: 700; }
    .person-cards .person-card .person-company-country {
      color: #4a4a4a;
      font-size: 16px;
      text-align: center;
      line-height: 120%; }
    .person-cards .person-card .person-title {
      color: #4a4a4a;
      font-size: 16px;
      text-align: center;
      line-height: 120%;
      margin-bottom: 0.375rem; }
    .person-cards .person-card:hover {
      margin-top: -5px;
      margin-bottom: 5px; }
      .person-cards .person-card:hover .person-image--wrapper .person-image {
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05); }
    .person-cards .person-card .person-image {
      width: 100%; }
    @media print, screen and (max-width: 39.99875em) {
      .person-cards .person-card {
        width: 100%; } }

.partner-section--title {
  padding-block: 40px;
  color: #2e3a46;
  font-size: 22px;
  font-weight: 600;
  line-height: 150%;
  text-transform: capitalize;
  text-align: start;
  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: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto; }
  .partner-section--title::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #295ac7; }

.partner {
  padding-inline: 15px; }
  .partner .partner-cards {
    display: grid;
    grid-template-rows: 1fr;
    gap: 24px; }
    @media print, screen and (max-width: 39.99875em) {
      .partner .partner-cards {
        grid-template-columns: repeat(2, 1fr); } }
    @media print, screen and (min-width: 40em) {
      .partner .partner-cards {
        grid-template-columns: repeat(3, 1fr); } }
    @media print, screen and (min-width: 64.0625em) {
      .partner .partner-cards {
        grid-template-columns: repeat(6, 1fr); } }
    .partner .partner-cards .partner-card {
      opacity: 1; }
      .partner .partner-cards .partner-card .partner-image--wrapper {
        aspect-ratio: 1;
        overflow: hidden;
        position: relative;
        border-radius: 12px;
        border: 1px solid rgba(5, 47, 95, 0.25);
        background: #fff;
        -webkit-box-shadow: 4px 6px 20px 0px rgba(0, 0, 0, 0.09);
                box-shadow: 4px 6px 20px 0px rgba(0, 0, 0, 0.09); }
        .partner .partner-cards .partner-card .partner-image--wrapper:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background-color: #2d61e0;
          z-index: 2;
          opacity: 0;
          -webkit-transition: 0.25s ease;
          transition: 0.25s ease; }
        .partner .partner-cards .partner-card .partner-image--wrapper .partner-image {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center;
          padding: 10px; }
          @media print, screen and (max-width: 39.99875em) {
            .partner .partner-cards .partner-card .partner-image--wrapper .partner-image {
              width: 250px; } }
      .partner .partner-cards .partner-card:hover .partner-image--wrapper:after {
        opacity: 0.25; }
    .partner .partner-cards.centered {
      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; }
      .partner .partner-cards.centered .partner-card {
        width: calc(((1 / 6) * 100%) - 20px); }
        @media print, screen and (max-width: 64.06125em) {
          .partner .partner-cards.centered .partner-card {
            width: 100%; } }
      @media print, screen and (max-width: 64.06125em) {
        .partner .partner-cards.centered {
          display: grid; } }
  @media print, screen and (max-width: 39.99875em) {
    .partner {
      padding-inline: 10px; } }

.back-to-top {
  position: fixed;
  bottom: 40px;
  right: 20px;
  width: 65px;
  height: 65px;
  background: #f5f24f;
  border-radius: 50%;
  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;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  z-index: 999;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease; }
  .back-to-top svg {
    fill: #fefefe;
    -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transition: margin-top 0.25s ease;
    transition: margin-top 0.25s ease; }
  .back-to-top:hover svg {
    margin-top: -15px; }

form .inputs-list {
  list-style: none;
  margin-left: 0; }
  form .inputs-list input {
    margin-bottom: 0px; }
  form .inputs-list label {
    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; }
  form .inputs-list .hs-form-booleancheckbox-display > span {
    margin-left: 0px; }

form input[type="submit"] {
  background: #052f5f;
  border-radius: 41.667px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
  padding: 8px 32px;
  -webkit-transition: all .25s ease;
  transition: all .25s ease;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: none;
  cursor: pointer; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N3aXBlci9zd2lwZXIuc2NzcyIsIl9jdGFzLnNjc3MiLCJfaGVscGVycy5zY3NzIiwiX29mZmNhbnZhcy5zY3NzIiwiX2hlYWRlci5zY3NzIiwiX2hlcm8uc2NzcyIsIl9vdmVydmlldy5zY3NzIiwiX2V4cGVjdGF0aW9ucy5zY3NzIiwiX3BpbGxhcnMuc2NzcyIsIl9tZW1iZXIuc2NzcyIsIl9yZWdpc3RyYXRpb24uc2NzcyIsIl9mb290ZXIuc2NzcyIsIl9zcGVha2Vycy5zY3NzIiwiX3BlcnNvbmNhcmQuc2NzcyIsIl9wYXJ0bmVyY2FyZC5zY3NzIiwiX2JhY2stdG8tdG9wLnNjc3MiLCJfZm9ybS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0NoQixlQUFJO0FBRUo7RUFDQyw0QkFBNEI7RUFDNUIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix3R0FDbUIsRUFBQTs7QUFFcEI7RUFDQyxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix1TEFHZ0IsRUFBQTs7QUFFakI7RUFDQyxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQix5TEFHZ0IsRUFBQTs7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O0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULGdCQzNIYTtFRDRIYix1QkFBdUI7RUFDdkIsY0FBYztFQUNkLFlDeEh1QixFQUFBO0VQa0p6QjtJUTFDRSxVQUFVLEVBQUE7O0FINUpaO0VDaUxFLGNBQWMsRUFBQTs7QURqR2hCOzs7OztFQzBHRSxvQkFBb0IsRUFBQTs7QUFJdEI7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSx3QkFBd0IsRUFBQTs7QU5zQjVCOztFU2hMRSxjQUFjO0VBQ2QsOEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsaUJBTHNKO0VBTXRKLGdCQ0h1RDtFREl2RCxlRjZZK0I7RUUzWS9CLHlCRmZtQjtFRWdCbkIsZ0JGSGU7RUVJZix5QkZkYTtFRWViLHlERmhCYTtVRWdCYixpREZoQmE7RUVrQmIsb0JGNlh5QjtFRTVYekIsZUNadUQ7RURhdkQsbUJGWDJCO0VFWTNCLGdCRmhDcUI7RUVpQ3JCLGNGdEJhO0VFeUJYLDJFRm1ZOEQ7RUVuWTlELG1FRm1ZOEQ7RUVuWTlELDJERm1ZOEQ7RUVuWTlELG9GRm1ZOEQ7RUU5VzlELHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCLEVBQUE7RVQySmxCOztJUzNLRSxhQUFhO0lBQ2IseUJGaENlO0lFaUNmLHlCRi9CVztJRWdDWCxtQ0ZuQ2lCO1lFbUNqQiwyQkZuQ2lCO0lFc0NmLDJFRndYNEQ7SUV4WDVELG1FRndYNEQ7SUV4WDVELDJERndYNEQ7SUV4WDVELG9GRndYNEQsRUFBQTs7QUY1UmhFO0VJN0VFLGVBQWUsRUFBQTtFQURqQjtJQUlJLFlBQVksRUFBQTs7QUFJaEI7OztFQUtJLHlCRmxFYztFRW1FZCxtQkYyVjZCLEVBQUE7O0FQL0xuQzs7RVNySkksd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIsZ0JGN0RhLEVBQUE7O0FFaUVmO0VBQ0UsOEJBQXNCO1VBQXRCLHNCQUFzQixFQUFBOztBQWlCeEI7RUFDRSxjRmpHaUIsRUFBQTs7QUVnR25C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R3NDLEVBQUE7RVd5RnhDOzs7Ozs7SUFhSSxjQUFjO0lBQ2QsY1h2TmUsRUFBQTs7QVdnT2I7RUFJSSxpQlIzTjZDO0VRdU83QyxjWDVLUztFV29MVCxhQUFhO0VBT2IscUJYMUxpQixFQUFBOztBVzJKckI7RUFJSSxrQlIzTjZDO0VRdU83QyxjWDVLUztFV29MVCxhQUFhO0VBT2IscUJYMUxpQixFQUFBOztBVzJKckI7RUFJSSxvQlIzTjZDO0VRdU83QyxjWDVLUztFV29MVCxhQUFhO0VBT2IscUJYMUxpQixFQUFBOztBVzJKckI7RUFJSSxtQlIzTjZDO0VRdU83QyxjWDVLUztFV29MVCxhQUFhO0VBT2IscUJYMUxpQixFQUFBOztBVzJKckI7RUFJSSxvQlIzTjZDO0VRdU83QyxjWDVLUztFV29MVCxhQUFhO0VBT2IscUJYMUxpQixFQUFBOztBVzJKckI7RUFJSSxlUjNONkM7RVF1TzdDLGNYNUtTO0VXb0xULGFBQWE7RUFPYixxQlgxTGlCLEVBQUE7O0FKNEJyQjtFZStIQTtJQUlJLGVSM042QyxFQUFBO0VRdU5qRDtJQUlJLGlCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxvQlIzTjZDLEVBQUE7RVF1TmpEO0lBSUksb0JSM042QyxFQUFBO0VRdU5qRDtJQUlJLGtCUjNONkMsRUFBQTtFUXVOakQ7SUFJSSxlUjNONkMsRUFBQSxFUXdQaEQ7O0FieFJQO0VhK1JFLG9CQUFvQjtFQUNwQixjWGhSYTtFV2lSYixxQlhqSnlCO0VXbUp6QixlQUFlLEVBQUE7RUFMakI7SUFTSSxjWHhKMkQsRUFBQTtFVytJL0Q7SUFnQkksU0FBUyxFQUFBOztBYmpVYjtFYXVVRSxXQUFXO0VBRVgsZ0JSdFJxRDtFUXVSckQsU0FBUztFQUNULG9CWHBLeUI7RVdzS3pCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NYclNpQjtFV3NTakIsY0FBYyxFQUFBOztBQUloQjs7O0VBR0UsbUJYekwwQjtFVzBMMUIsNEJYN0t5QjtFVzhLekIsZ0JYNUxzQixFQUFBOztBV2dNeEI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlh2THNCO0VXd0x0QixxQlgxTGtCLEVBQUE7O0FXOExwQjtFQUNFLG9CWDdMc0IsRUFBQTs7QVdpTXhCO0VBRUksb0JYbE0yQjtFV21NM0IsZ0JBQWdCLEVBQUE7O0FBS3BCO0VBQ0UsbUJYeE15QixFQUFBO0VXdU0zQjtJQUlJLHFCWHpNOEI7SVcwTTlCLGlCWHBVbUIsRUFBQTs7QVd5VXZCO0VBQ0UsZ0JYbE8wQjtFV21PMUIsc0NSOVVxRDtFUStVckQsOEJYeFZpQixFQUFBO0VXcVZuQjtJQU1JLGdCWHhPb0I7SVd5T3BCLGNYM1ZhLEVBQUE7O0FXeVdqQjtFQUNFLGlDWHpXVztFVzBXWCxZQUFZO0VBQ1oscUJBQXFCLEVBQUE7O0FBSXZCO0VBQ0UsU0FBUyxFQUFBOztBQVdYO0VBQ0UsU0FBUztFQUNULDJCUmpYUztFUW1YVCx5QlhsWWdCO0VXb1loQiw0RFhqVW1FO0VXa1VuRSxjWGxZVyxFQUFBOztBWW9EYjtFQUNFLGtCWm1HeUI7RVlsR3pCLHFCWm1HNEI7RVlqRzVCLG1CWi9DeUI7RVlnRHpCLGdCWjRGc0I7RVkzRnRCLGNaM0RlLEVBQUE7O0FZK0RqQjtFQUNFLGVab0ZxQztFWW5GckMsZ0Jab0ZpQixFQUFBOztBWWhGbkI7RUFDRSxpQlpxRm1CO0VZcEZuQixjQUFjLEVBQUE7RUFFZDtJQUNFLGlCQUFpQixFQUFBOztBQUlyQjtFQUdJLGNBQWdDO0VBQ2hDLGdCQUFnQixFQUFBOztBQUlwQjtFQWpGQSxjQUFjO0VBQ2QsY1pOaUI7RVlPakIsb0JUQ3VELEVBQUE7RVNDdkQ7SUFDRSxhWm9Ka0IsRUFBYTs7QVlwRWpDO0VBekVBLHlCWmxCbUI7RVltQm5CLHlCWnBCa0I7RVlzQmxCLDREWjZDcUU7RVk1Q3JFLG1CWlgyQjtFWVkzQixjWnJCYTtFWTJCYixlQUFlO0VBQ2YsZUFBZTtFQUNmLHFCQUFxQjtFQUVyQixxQ1R4QnVELEVBQUE7O0FTdUZ2RDtFQTlFQSx5QlpsQm1CO0VZbUJuQix5QlpwQmtCO0VZc0JsQiw0RFo2Q3FFO0VZNUNyRSxtQlpYMkI7RVlZM0IsY1pyQmE7RVlxQ2IsY0FB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QixFQUFBLEVBQ2pCOztBbkJnSEM7RW1CdkhKO0lBTUksd0JBQWdCO1FBQWhCLDZCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjs7QUFZSDtFRzZDRixtQkFBTTtFQUFOLHNCQUFNO01BQU4sa0JBQU07VUFBTixjQUFNLEVBQUE7O0FIOUJGO0VHeUVGLGVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsVUNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixVQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLFVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsV0NuQnlELEVBQUE7O0F2QitCckQ7RW1CekdGO0lHa0RKLG1CQUFNO0lBQU4scUJBQU07UUFBTixpQkFBTTtZQUFOLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLG1CQUFNO0lBQU4sc0JBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBbkJrRkM7RW1CekdGO0lHa0RKLG1CQUFNO0lBQU4scUJBQU07UUFBTixpQkFBTTtZQUFOLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLG1CQUFNO0lBQU4sc0JBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VBQ0UsWUFBWSxFQUFBOztBQThCZDtFQ3ZHTSxzQkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RXBCZ0o3RDtJbUJ6Q047TUN2R00sdUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJRzZCRSwyQkF0RDhGO0lGckU1RixxQkFBNkQ7SUFBN0Qsc0JBQTZELEVBQUE7RXBCdUkzRDtJbUJ6Q047TUc2QkUsNEJBdEQ4RjtNRnJFNUYsc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEMkcxRDtFQXJDUDtJR3FERSxXQWxGWSxFQUFBO0VIaUNkO0lHaURFLFdBbEZZLEVBQUE7RUh5Q1o7SUd5Q0EsK0JBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwwQkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsZ0NBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSwyQkF0RDhGLEVBQUE7RXRCa0UxRjtJbUJqRU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLGdDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsMkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIQ2hHO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3RjtFbkJtREc7SW1CakVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSxnQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDJCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQSxFSGU3Rjs7QUE4Q0g7RUMzSU0sdUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VwQmdKN0Q7SW1CTE47TUMzSU0sd0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEVEZ0poRTs7QUFJRDtFQ3BKSSx1QkFBNkQ7RUFBN0Qsc0JBQTZELEVBQUE7RXBCZ0o3RDtJbUJJSjtNQ3BKSSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURzSmhFOztBQVhIO0VDM0lNLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFcEJnSjdEO0ltQkxOO01DM0lNLHdCQUE2RDtNQUE3RCx1QkFBNkQsRUFBQSxFRDJKaEU7O0FLM0pIO0VGb0lFLFdDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxnQkNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsWUNuQnlELEVBQUE7O0F2QitCckQ7RXdCaEpOO0lGb0lFLFdDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsVUNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLGdCQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxZQ25CeUQsRUFBQSxFQy9HMUQ7O0F4QjhJSztFd0JoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QUFGRDtFRm9JRSwyQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSwwQkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSxnQ0F0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw0QkF0RDhGLEVBQUE7O0F0QmtFMUY7RXdCaEpOO0lGb0lFLDRCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw0QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDJCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSxpQ0F0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQSxFRTVFL0Y7O0F4QjhJSztFd0JoSk47SUZvSUUsNEJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsMkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSwyQkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLGlDQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsaUNBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUEsRUU1RS9GOztBTHFNRztFTTlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUE7RXZCK0JyRDtJeUI1SEk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEO0V6QjBITDtJeUI1SEk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBTnVMUDtFTTdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6QjJHOUI7RW1CdURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJnSkM7RXlCcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QXpCbUlMO0V5QjVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0F6QjBITDtFeUI1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBekIwSEw7RW1CNkRGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpCeUdDO0VtQnVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpCZ0pDO0V5QnJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0F6Qm1JTDtFeUJySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBekJtSUw7RXlCNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QXpCMEhMO0VtQjZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FOb0xEO0VPdk1GLGVBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixnQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHFCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsc0NBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixpQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixpQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsZ0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixpQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLHNCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsdUNBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHVDQUE2QixFQUFBOztBMUI0SHpCO0VtQjJFRjtJT3ZNRixlQUE2QixFQUFBO0VQMk0zQjtJTzNNRixpQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYscUJBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHVDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLGdCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixrQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsc0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLHdDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUEsRVA2TTFCOztBbkJqRkM7RW1CMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGlDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsdUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLGtDQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsd0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRix3Q0FBNkIsRUFBQSxFUDZNMUI7O0FBekpTO0VFdEVkLG9CQUFhO0VBQWIscUJBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFINkI7RUFHN0IsNkJBSDZCO0VBRzdCLGdDQUg2QjtNQUc3Qiw0QkFINkI7VUFHN0Isd0JBSDZCLEVBQUE7RUZpUDdCO0lHMUlBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VIeUkzQjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUEyQk0sd0JBQWdCO1FBQWhCLDZCQUFnQjtZQUFoQixnQkFBZ0IsRUFBQTtFbkI1SGhCO0ltQmlHTjtNQTJCTSx3QkFBZ0I7VUFBaEIsNkJBQWdCO2NBQWhCLGdCQUFnQixFQUFBLEVBQ2pCO0VuQjdIQztJbUJpR047TUEyQk0sd0JBQWdCO1VBQWhCLDZCQUFnQjtjQUFoQixnQkFBZ0IsRUFBQSxFQUNqQjtFQTVCTDtJR3hKQSxtQkFBTTtJQUFOLHNCQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RUh3Sk47SUc3R0UsZ0JDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFlDbkJ5RCxFQUFBO0V2QitCckQ7SW1CaUdOO01HeEpBLG1CQUFNO01BQU4scUJBQU07VUFBTixpQkFBTTtjQUFOLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxtQkFBTTtNQUFOLHNCQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsWUNuQnlELEVBQUEsRUp5THBEO0VuQjFKRDtJbUJpR047TUd4SkEsbUJBQU07TUFBTixxQkFBTTtVQUFOLGlCQUFNO2NBQU4sYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLG1CQUFNO01BQU4sc0JBQU07VUFBTixrQkFBTTtjQUFOLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7O0FBT0w7RUNqVEkscUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQmdKN0Q7SW1CaUtKO01DalRJLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRHFUOUQ7O0FBSkg7RUNqVEkscUJBQTZEO0VBQTdELHdCQUE2RCxFQUFBO0VwQmdKN0Q7SW1CaUtKO01DalRJLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRDBUOUQ7O0FBbk5MO0VDdkdNLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFcEJnSjdEO0ltQnpDTjtNQ3ZHTSxzQkFBNkQ7TUFBN0QseUJBQTZELEVBQUEsRURzSWxFO0VBL0JEO0lHNkJFLDRCQXREOEY7SUZyRTVGLG9CQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFcEJ1STNEO0ltQnpDTjtNRzZCRSw2QkF0RDhGO01GckU1RixxQkFBNkQ7TUFBN0Qsd0JBQTZELEVBQUEsRUQyRzFEO0VBckNQO0lHcURFLFlBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsWUFsRlksRUFBQTtFSHlDWjtJR3lDQSxnQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDJCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsaUNBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDRCQXREOEYsRUFBQTtFdEJrRTFGO0ltQmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VuQm1ERztJbUJqRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhh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O01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSENoRztNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7RW5CbURHO0ltQmpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUEsRUhlN0Y7O0FBa1REO0VRNVlJLDZCQUFtQyxFQUFBO0UzQjZJbkM7SW1CK1BKO01RNVlJLDhCQUFtQyxFQUFBLEVSOFl0QztFbkJqUUc7SW1CK1BKO01RNVlJLDhCQUFtQyxFQUFBLEVSOFl0Qzs7QW5CalFHO0VtQm1RRjtJUWhaRSw4QkFBbUMsRUFBQSxFUmtacEM7O0FuQnJRQztFbUJtUUY7SVFoWkUsOEJBQW1DLEVBQUEsRVJrWnBDOztBU3pHTDtFQTFPQSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGtCeEIrTmtDO0V3QnJOaEMsbUJ4Qm9OdUI7RXdCak56Qiw2QnhCeU5tQztFd0J4Tm5DLGdCeEJ0QmU7RXdCdUJmLHlFeEJtT3VFO0V3Qm5PdkUsaUV4Qm1PdUU7RXdCbE92RSxvQnhCNE0wQjtFd0IzTTFCLGlCeEIwTmM7RXdCeE5kLHdCQUF3QjtFQUN4QixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFL0J5bEVmO0lRemdFRSxVQUFVLEVBQUE7RXVCa0laO0lBTU0saUJ4QkxLLEVBQUE7RXdCRFg7SUFNTSxrQnhCSk8sRUFBQTtFd0JGYjtJQU1NLGtCeEJGTyxFQUFBO0V3QkpiO0lBM01FLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQWlFaEI7SUFJRSx5QnhCaklhO0l3QmtJYixjeEJ4SFcsRUFBQTtFd0IySGI7SUFDRSx5QnhCd0h1RTtJd0J2SHZFLGN4QjdIVyxFQUFBO0V3Qm1IYjtJQUlFLHlCeEJqSWE7SXdCa0liLGN4QnpIVyxFQUFBO0V3QjRIYjtJQUNFLHlCQWJvRjtJQWNwRixjeEI5SFcsRUFBQTtFd0JvSGI7SUFJRSx5QnhCaEllO0l3QmlJZixjeEJ6SFcsRUFBQTtFd0I0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QUVJLG1CQUFjO01BQWQsc0JBQWM7VUFBZCxrQkFBYztjQUFkLGNBQWM7TUFLaEIsZ0JBQWdCLEVBQUEsRUFnQmpCO0U3QnBDSztJNkJ3Q047TUFtRU0sY0FBYyxFQUFBO01BbkVwQjtRQXNFUSxjQUFjO1FBQ2QsZUFBaUMsRUFBQSxFQUNsQztFN0JoSEQ7STZCd0NOO01BOEVNLGNBQWMsRUFBQTtNQTlFcEI7UUFpRlEsY0FBYztRQUNkLGVBQWlDLEVBQUEsRUFDbEM7O0FDaE1QO0VBWkEsa0JBQWtCO0VBQ2xCLFcxQm1Tc0I7RTBCbFN0QixjMUJqQmlCO0UwQmtCakIsZUFBZSxFQUFBO0VqQzg2RWY7SVF0MEVFLFVBQVUsRUFBQTtFeUJ0R1o7SUFFRSxjMUJyQlcsRUFBQTtFMEIwQmI7SUF4QkEsYzFCbVRhO0kwQmxUYixXMUJzVFk7STBCclRaLGdCMUJ5VFc7STBCeFRYLGMxQjJUd0IsRUFBQTtFMEJ0U3hCO0lBeEJBLFcxQm9UVztJMEJuVFgsVzFCdVRhO0kwQnRUYixjMUIwVFU7STBCelRWLGMxQjJUd0IsRUFBQTs7QTJCL1Z4QjtFQVpBLHFCQUFxQjtFQUNyQiwwQjNCbWQrQjtFMkJqZC9CLGdCM0JtRGU7RTJCakRmLGlCM0I4Y3NCO0UyQjdjdEIsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixlQUFlO0VBT2IsbUIzQm1CYTtFMkJsQmIsYzNCNEJXLEVBQUE7RTJCaENiO0lBUU0sbUIzQmNTO0kyQmJULGMzQnNCTyxFQUFBO0UyQi9CYjtJQVFNLG1CM0JlVztJMkJkWCxjM0JzQk8sRUFBQTtFMkIvQmI7SUFRTSxtQjNCZ0JTO0kyQmZULGMzQnNCTyxFQUFBO0UyQi9CYjtJQVFNLG1CM0JpQlM7STJCaEJULGMzQnNCTyxFQUFBO0UyQi9CYjtJQVFNLG1CM0JrQk87STJCakJQLGMzQnVCTyxFQUFBOztBNEJ6Q2I7RUFuQ0EsWTVCb2xCb0I7RTRCbmxCcEIsbUI1QmdGa0I7RTRCL0VsQixnQjVCb0ZlO0U0Qm5GZix5QjVCc0VtQixFQUFBO0U0QnRDbkI7SUFNUSx5QjVCeUJPLEVBQUE7RTRCL0JmO0lB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MkJBeENnQjtNQXdDaEIsc0JBeENnQjtVQXdDaEIsbUJBeENnQixFQUFBOztBRGdGZDtFQ3hCRiwwQkF4RGdCO01Bd0RoQiwyQkF4RGdCO1VBd0RoQixrQkF4RGdCLEVBQUE7O0FENEVkO0VDcENGLDBCQXZDa0I7RUF1Q2xCLDRCQXZDa0I7TUF1Q2xCLHVCQXZDa0I7VUF1Q2xCLG9CQXZDa0IsRUFBQTs7QUQrRWhCO0VDeEJGLDJCQXZEa0I7TUF1RGxCLDRCQXZEa0I7VUF1RGxCLG1CQXZEa0IsRUFBQTs7QURxRmxCO0VDL0NBLHdCQW5Ea0I7RUFtRGxCLCtCQW5Ea0I7TUFtRGxCLHFCQW5Ea0I7VUFtRGxCLHVCQW5Ea0I7RUFvRGxCLHlCQXhDZ0I7RUF3Q2hCLDJCQXhDZ0I7TUF3Q2hCLHNCQXhDZ0I7VUF3Q2hCLG1CQXhDZ0I7RUR3RmQsNkJBQXFCO01BQXJCLDBCQUFxQjtVQUFyQixxQkFBcUIsRUFBQTs7QUFNbkI7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtFQy9CaEIsZ0JEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0E1RG1FVjtFNERsRUY7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E1RGdFQztFNERsRUY7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtJQy9CaEIsZ0JEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO0lDL0JoQixnQkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7SUMvQmhCLGdCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0FBL0ZMO0VDWUEsb0JBQWE7RUFBYixxQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYSxFQUFBOztBRFJiO0VBQ0UsbUJBQWM7RUFBZCxzQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG1CQUFjO0VBQWQsc0JBQWM7TUFB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NUI7RUdvQkEsVUYvQnFDLEVBQUE7O0FERHJDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixzREdyQ21DO1VIcUNuQyw4Q0dyQ21DO0VIcUNuQyw2QkY1Qm1EO01FNEJuRCx5QkY1Qm1EO1VFNEJuRCxxQkY1Qm1EO0VNSWpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsK0JGM0JxRDtNRTJCckQsMkJGM0JxRDtVRTJCckQsdUJGM0JxRDtFTUduRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBHN0I7RUdvQkEsbURHVDRDO1VIUzVDLDJDR1Q0QztFQ0oxQyxVQUEyQixFQUFBOztBUG5CN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHFER25DaUM7VUhtQ2pDLDZDR25DaUM7RUhtQ2pDLGdDRjFCc0Q7TUUwQnRELDRCRjFCc0Q7VUUwQnRELHdCRjFCc0Q7RU1FcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQRzdCO0VHb0JBLG1ER1Q0QztVSFM1QywyQ0dUNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBuQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREdsQytCO1VIa0MvQiw2Q0dsQytCO0VIa0MvQiw4QkZ6Qm9EO01FeUJwRCwwQkZ6Qm9EO1VFeUJwRCxzQkZ6Qm9EO0VNQ2xELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHcENxQztVSG9DckMsOENHcENxQztFSG9DckMsZ0NHRWU7TUhGZiw0QkdFZTtVSEZmLHdCR0VlO0VDMUJiLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEc3QjtFR29CQSxtREdUNEM7VUhTNUMsMkNHVDRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbkI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw2QkZ0Qm1EO01Fc0JuRCx5QkZ0Qm1EO1VFc0JuRCxxQkZ0Qm1EO0VNRmpELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxxREcvQjhCO1VIK0I5Qiw2Q0cvQjhCO0VDa0I1QixVQUE4QixFQUFBOztBUG5CaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1A4QztVSE85QywyQ0dQOEM7RUhPOUMsK0JGckJxRDtNRXFCckQsMkJGckJxRDtVRXFCckQsdUJGckJxRDtFTUhuRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBHaEM7RUdvQkEscURHOUJnQztVSDhCaEMsNkNHOUJnQztFQ2lCOUIsVUFBOEIsRUFBQTs7QVBuQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdQOEM7VUhPOUMsMkNHUDhDO0VITzlDLGdDRnBCc0Q7TUVvQnRELDRCRnBCc0Q7VUVvQnRELHdCRnBCc0Q7RU1KcEQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHNERzdCc0M7VUg2QnRDLDhDRzdCc0M7RUNnQnBDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85Qyw4QkZuQm9EO01FbUJwRCwwQkZuQm9EO1VFbUJwRCxzQkZuQm9EO0VNTGxELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEdoQztFR29CQSxzREc1Qm9DO1VINEJwQyw4Q0c1Qm9DO0VDZWxDLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERy9COEI7VUgrQjlCLDZDRy9COEI7RUNrQjVCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUDhDO1VITzlDLDJDR1A4QztFSE85QyxnQ0dFZTtNSEZmLDRCR0VlO1VIRmYsd0JHRWU7RUMxQmIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQR2hDO0VHb0JBLHFERzlCZ0M7VUg4QmhDLDZDRzlCZ0M7RUNpQjlCLFVBQThCLEVBQUE7O0FQbkJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsNkJBRnlCO01BRXpCLHlCQUZ5QjtVQUV6QixxQkFGeUI7RUt6QnZCLHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUk03QjtFR29CQSwyQkFGeUI7TUFFekIsdUJBRnlCO1VBRXpCLG1CQUZ5QjtFS2R2QixVQUEyQixFQUFBOztBUmhCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLDZCQUZ5QjtNQUV6Qix5QkFGeUI7VUFFekIscUJBRnlCO0VLekJ2Qix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVJNN0I7RUdvQkEsMkJBRnlCO01BRXpCLHVCQUZ5QjtVQUV6QixtQkFGeUI7RUtkdkIsVUFBMkIsRUFBQTs7QVJoQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYiwyQkFGeUI7TUFFekIsdUJBRnlCO1VBRXpCLG1CQUZ5QjtFS3pCdkIsdURBQXVDO0VBQXZDLCtD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RUFBOUIsOEJBQThCLEVBQUE7RUFmL0I7SUFpQkUsYXJGaUVhO0lxRmhFYiw2QkFBcUI7UUFBckIseUJBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQix5Q0FBaUM7SUFBakMsaUNBQWlDLEVBQUE7RUFuQm5DO0lBdUJHLGlCQUFpQixFQUFBOztBQ3ZCcEI7RUFFUSxnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBO0VBSHRCO0lBS1ksa0JBQWtCLEVBQUE7RUFMOUI7SUFRWSxvQkFBYTtJQUFiLHFCQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO0lBQW5CLDJCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CLEVBQUE7RUFUL0I7SUFZWSxnQkFBZ0IsRUFBQTs7QUFaNUI7RUFnQlEsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixXQUFXO0VBQ1gsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGlDQUFpQztFQUNqQyx5QkFBeUI7RUFDekIsMEJBQTBCO0VBQzFCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGVBQWUsRUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFBsYXlmYWlyRGlzcGxheTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9QbGF5ZmFpckRpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQXZlcnRhO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHNyYzogdXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1SZWd1bGFyLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1SZWd1bGFyLndvZmYpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBdmVydGE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoaHR0cHM6Ly9kZWYteC5kZWxwaGlmb3J1bS5nci9odWJmcy9hc3NldHMvZm9udHMvQXZlcnRhLVNlbWlib2xkLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1TZW1pYm9sZC53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQXZlcnRhO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHNyYzogdXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1SZWd1bGFyLUl0YWxpYy53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtUmVndWxhci1JdGFsaWMud29mZikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEF2ZXJ0YTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtQm9sZC53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtQm9sZC53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjQuMDYyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbSZodWdlPTEyMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkF2ZXJ0YVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJQbGF5ZmFpckRpc3BsYXlcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDUyZjVmO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLCAuaDQgc21hbGwsXG4gIGg1IHNtYWxsLCAuaDUgc21hbGwsXG4gIGg2IHNtYWxsLCAuaDYgc21hbGwge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbmEge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICM2M2FmYzE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDc5ZmI0OyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbi5jb2RlLWlubGluZSwgY29kZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQteCA+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+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLmdyaWQteSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogbm9uZTsgfVxuICAuZ3JpZC15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2M2FmYzE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3OWRiMjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2M2FmYzE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0Mjk0YTc7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmJmYWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTc5YzgzO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjNhZmMxO1xuICAgIGNvbG9yOiAjNjNhZmMxOyB9XG4gIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmE1YzY4O1xuICAgIGNvbG9yOiAjMmE1YzY4OyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2M2FmYzE7XG4gICAgY29sb3I6ICM2M2FmYzE7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmE1YzY4O1xuICAgIGNvbG9yOiAjMmE1YzY4OyB9XG4gIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M2YmZhZjtcbiAgICBjb2xvcjogI2M2YmZhZjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2MzRlO1xuICAgIGNvbG9yOiAjNmQ2MzRlOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM2M2FmYzE7IH1cbiAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgY29sb3I6ICMyYTVjNjg7IH1cbiAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzYzYWZjMTsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICMyYTVjNjg7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjYzZiZmFmOyB9XG4gIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICM2ZDYzNGU7IH1cbiAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2M2FmYzE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIucHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2M2FmYzE7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYzZiZmFmOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgdG9wOiAtMC4xZW07XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjNhZmMxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyOTRhNztcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZiZmFmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNzljODM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzYzYWZjMTtcbiAgICBjb2xvcjogIzYzYWZjMTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyYTVjNjg7XG4gICAgY29sb3I6ICMyYTVjNjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2M2FmYzE7XG4gICAgY29sb3I6ICM2M2FmYzE7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyYTVjNjg7XG4gICAgY29sb3I6ICMyYTVjNjg7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzZiZmFmO1xuICAgIGNvbG9yOiAjYzZiZmFmOyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDYzNGU7XG4gICAgY29sb3I6ICM2ZDYzNGU7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjNhZmMxOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzJhNWM2ODsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjNjNhZmMxOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzJhNWM2ODsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2M2YmZhZjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBjb2xvcjogIzZkNjM0ZTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjNjNhZmMxO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzYzYWZjMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYzZiZmFmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjNhZmMxOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZiZmFmOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzYWZjMTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2M2FmYzE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzlkYjI7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzYzYWZjMTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBpbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICM2M2FmYzE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNjNhZmMxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNjNmJmYWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzYzYWZjMTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNhbGxvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjNmNjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY1ZjM7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdlNGUxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLmNhcmQtZGl2aWRlciA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICM2M2FmYzE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiBcIsKrXCI7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiBcIsK7XCI7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSwgLnRvb2x0aXAuYm90dG9tLnBlcnNvbi1jYXJkczo6YmVmb3JlLCAucGFydG5lciAudG9vbHRpcC5ib3R0b20ucGFydG5lci1jYXJkczo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlLCAudG9vbHRpcC50b3AucGVyc29uLWNhcmRzOjpiZWZvcmUsIC5wYXJ0bmVyIC50b29sdGlwLnRvcC5wYXJ0bmVyLWNhcmRzOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSwgLnRvb2x0aXAubGVmdC5wZXJzb24tY2FyZHM6OmJlZm9yZSwgLnBhcnRuZXIgLnRvb2x0aXAubGVmdC5wYXJ0bmVyLWNhcmRzOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlLCAudG9vbHRpcC5yaWdodC5wZXJzb24tY2FyZHM6OmJlZm9yZSwgLnBhcnRuZXIgLnRvb2x0aXAucmlnaHQucGFydG5lci1jYXJkczo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7IH1cbiAgLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bzsgfVxuICAudG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNjNhZmMxOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6IFwiK1wiOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCTXCI7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNjNhZmMxOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTlhYWJkOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM2M2FmYzE7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjNDc5ZmI0OyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzYzYWZjMTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0OyB9XG4gIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSg5OSwgMTc1LCAxOTMsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSBsaSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAubWVudSBhLFxuICAubWVudSAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IHNlbGVjdCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51IGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUsIC5tZW51Lmhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM2M2FmYzE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICM2M2FmYzE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSwgLm1lbnUucGVyc29uLWNhcmRzIGxpLCAucGFydG5lciAubWVudS5wYXJ0bmVyLWNhcmRzIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpLCAubWVudS5wZXJzb24tY2FyZHMgbGkgLnN1Ym1lbnUgbGksIC5wYXJ0bmVyIC5tZW51LnBhcnRuZXItY2FyZHMgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51IC5tZW51LXRleHQge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM2M2FmYzEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzYzYWZjMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzYzYWZjMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzYzYWZjMTtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNjNhZmMxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM2M2FmYzEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzYzYWZjMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM2M2FmYzE7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzYzYWZjMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNjNhZmMxOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjNhZmMxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNjNhZmMxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM2M2FmYzE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM2M2FmYzEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNjNhZmMxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzYzYWZjMTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzYzYWZjMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzYzYWZjMTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTQ7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxNDsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3Blbi56Zi1oYXMtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50aXRsZS1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIsIC5wZXJzb24tY2FyZHMsIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSwgLnZlcnRpY2FsLm1lbnUucGVyc29uLWNhcmRzID4gbGkgPiBhLCAucGFydG5lciAudmVydGljYWwubWVudS5wYXJ0bmVyLWNhcmRzID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogU3dpcGVyIDguNC4yXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDIyIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IFNlcHRlbWJlciAxNSwgMjAyMlxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdzd2lwZXItaWNvbnMnO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLXBvaW50ZXItZXZlbnRzIHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuICAuc3dpcGVyLXBvaW50ZXItZXZlbnRzLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0OyB9XG5cbi5zd2lwZXItYmFja2ZhY2UtaGlkZGVuIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLTNkLFxuLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAvKiBGb3IgRmlyZWZveCAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqLyB9XG4gIC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0OyB9XG5cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsgfVxuXG4uc3dpcGVyLXZlcnRpY2FsLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OyB9XG5cbi5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbGV4LXNocmluazogMDtcbiAgb3JkZXI6IDk5OTk7IH1cblxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7IH1cblxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7IH1cblxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7IH1cblxuLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpOyB9XG5cbi5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IGNlbnRlciBjZW50ZXI7IH1cblxuLndhdGNobGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogOHB4O1xuICBnYXA6IDRweDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgLndhdGNobGl2ZS5vZmZjYW52YXMge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLndhdGNobGl2ZS5vZmZjYW52YXMub25kZW1hbmQge1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gIC53YXRjaGxpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAud2F0Y2hsaXZlLm9uZGVtYW5kOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ud2F0Y2hsaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL3dhdGNoLWxpdmVfY2lyY2xlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGhlaWdodDogMTJweDtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZXZlbnQtb3ZlcnZpZXcge1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZiO1xuICBwYWRkaW5nLWJsb2NrOiA2NHB4OyB9XG5cbi5yZWdpc3RhcnRpb24tbW9kdWxlIHtcbiAgcGFkZGluZzogODBweCA0MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDUsIDQ3LCA5NSwgMC4yNSk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDRweCA2cHggMjBweCAwcHg7XG4gIG1hcmdpbi10b3A6IDQ4cHg7IH1cbiAgLnJlZ2lzdGFydGlvbi1tb2R1bGUgW3R5cGU9J2NvbG9yJ10sXG4gIC5yZWdpc3RhcnRpb24tbW9kdWxlIFt0eXBlPSdkYXRlJ10sXG4gIC5yZWdpc3RhcnRpb24tbW9kdWxlIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAucmVnaXN0YXJ0aW9uLW1vZHVsZSBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgLnJlZ2lzdGFydGlvbi1tb2R1bGUgW3R5cGU9J2VtYWlsJ10sXG4gIC5yZWdpc3RhcnRpb24tbW9kdWxlIFt0eXBlPSdtb250aCddLFxuICAucmVnaXN0YXJ0aW9uLW1vZHVsZSBbdHlwZT0nbnVtYmVyJ10sXG4gIC5yZWdpc3RhcnRpb24tbW9kdWxlIFt0eXBlPSdwYXNzd29yZCddLFxuICAucmVnaXN0YXJ0aW9uLW1vZHVsZSBbdHlwZT0nc2VhcmNoJ10sXG4gIC5yZWdpc3RhcnRpb24tbW9kdWxlIFt0eXBlPSd0ZWwnXSxcbiAgLnJlZ2lzdGFydGlvbi1tb2R1bGUgW3R5cGU9J3RleHQnXSxcbiAgLnJlZ2lzdGFydGlvbi1tb2R1bGUgW3R5cGU9J3RpbWUnXSxcbiAgLnJlZ2lzdGFydGlvbi1tb2R1bGUgW3R5cGU9J3VybCddLFxuICAucmVnaXN0YXJ0aW9uLW1vZHVsZSBbdHlwZT0nd2VlayddLFxuICAucmVnaXN0YXJ0aW9uLW1vZHVsZSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmVnaXN0YXJ0aW9uLW1vZHVsZSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMDsgfSB9XG5cbi53YXRjaC1vbi1kZW1hbmQgLndhdGNoLW9uLWRlbWFuZC0tZGF5cy1jb250YWluZXIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgbWFyZ2luLWJsb2NrOiA0OHB4IDgwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiA4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNSwgNDcsIDk1LCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgcGFkZGluZzogNnB4IDhweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC53YXRjaC1vbi1kZW1hbmQgLndhdGNoLW9uLWRlbWFuZC0tZGF5cy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAud2F0Y2gtb24tZGVtYW5kIC53YXRjaC1vbi1kZW1hbmQtLWRheXMtY29udGFpbmVyIGZvcm0ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC53YXRjaC1vbi1kZW1hbmQgLndhdGNoLW9uLWRlbWFuZC0tZGF5cy1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAud2F0Y2gtb24tZGVtYW5kIC53YXRjaC1vbi1kZW1hbmQtLWRheXMtY29udGFpbmVyIGZvcm0gYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJsb2NrOiA2cHg7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTJweDsgfVxuICAgICAgLndhdGNoLW9uLWRlbWFuZCAud2F0Y2gtb24tZGVtYW5kLS1kYXlzLWNvbnRhaW5lciBmb3JtIGJ1dHRvbi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUyZjVmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4OyB9XG4gICAgICAgIC53YXRjaC1vbi1kZW1hbmQgLndhdGNoLW9uLWRlbWFuZC0tZGF5cy1jb250YWluZXIgZm9ybSBidXR0b24uYWN0aXZlIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgICAgLndhdGNoLW9uLWRlbWFuZCAud2F0Y2gtb24tZGVtYW5kLS1kYXlzLWNvbnRhaW5lciBmb3JtIGJ1dHRvbi5hY3RpdmUgc3Bhbi5wIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAud2F0Y2gtb24tZGVtYW5kIC53YXRjaC1vbi1kZW1hbmQtLWRheXMtY29udGFpbmVyIGZvcm0gYnV0dG9uIHNwYW4ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyB9XG4gICAgICAgIC53YXRjaC1vbi1kZW1hbmQgLndhdGNoLW9uLWRlbWFuZC0tZGF5cy1jb250YWluZXIgZm9ybSBidXR0b24gc3Bhbi5wIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLndhdGNoLW9uLWRlbWFuZCAud2F0Y2gtb24tZGVtYW5kLS1kYXlzLWNvbnRhaW5lciB7XG4gICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgcm93LWdhcDogMnB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi5ibG9ncG9zdC1oZWFkZXIge1xuICBtYXJnaW4tYmxvY2s6IDM2cHg7IH1cblxuLmV2ZW50LW92ZXJ2aWV3LnBhc3N3b3JkLXBhZ2Uge1xuICBtYXJnaW4tdG9wOiAtNjVweDsgfVxuXG4ucGFzc3dvcmQtcGFnZSAuZXZlbnQtY29udGVudC13cmFwcGVyIC5pbnRyby1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4ucGFzc3dvcmQtcGFnZSAuZXZlbnQtY29udGVudC13cmFwcGVyIC5zdWJtaXR0ZWQtbWVzc2FnZSB7XG4gIG1hcmdpbi10b3A6IDMycHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnBhc3N3b3JkLXBhZ2UgLmV2ZW50LWNvbnRlbnQtd3JhcHBlciAucmVnaXN0ZXItYXJlYSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfSB9XG5cbi5kaXZpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMjBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiAyNHB4OyB9IH1cblxuLm9mZi1jYW52YXMge1xuICB3aWR0aDogMTAwdnc7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNDhkZWcsIHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLCByZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjUlLCByZ2JhKDAsIDAsIDAsIDAuMzMpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAwJSwgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjMzKSAxMDAlKSwgIzJkNjNlMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYmxvY2s6IDAgMzJweDsgfVxuICAgIC5vZmYtY2FudmFzIC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIC5iYW5uZXItc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG4gICAgLm9mZi1jYW52YXMgLm9mZmNhbnZhcy1tZW51LXNlY3Rpb24gLm9mZmNhbnZhcy1oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIC5vZmZjYW52YXMtaGVhZGVyIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNzNweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDczLzgwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL2RlbHBoaS1lY29ub21pYy1mb3J1bS1pY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLm9mZmNhbnZhcy1tZW51LXNlY3Rpb24gLm9mZmNhbnZhcy1oZWFkZXIgYTpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiAub2ZmY2FudmFzLWhlYWRlciAub2ZmY2FudmFzLWV2ZW50LWNsb3NlLWJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLm9mZmNhbnZhcy1tZW51LXNlY3Rpb24gLm9mZmNhbnZhcy1oZWFkZXIgLm9mZmNhbnZhcy1ldmVudC1jbG9zZS1idG4gLmNsb3NlLWJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9kZWYteC5kZWxwaGlmb3J1bS5nci9odWJmcy9kZWYteC1hc3NldHMvY2xvc2UtYnRuLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggMjdweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiAub2ZmY2FudmFzLW5hdi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDY0cHg7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAgIC5vZmYtY2FudmFzIC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIC5vZmZjYW52YXMtbmF2LXdyYXBwZXIgbmF2IHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHJvdy1nYXA6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7IH1cbiAgICAgICAgLm9mZi1jYW52YXMgLm9mZmNhbnZhcy1tZW51LXNlY3Rpb24gLm9mZmNhbnZhcy1uYXYtd3JhcHBlciBuYXYgdWwgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiA4cHggNDBweDsgfVxuICAgICAgICAgIC5vZmYtY2FudmFzIC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIC5vZmZjYW52YXMtbmF2LXdyYXBwZXIgbmF2IHVsIGxpIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAgIC5vZmYtY2FudmFzIC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIC5vZmZjYW52YXMtbmF2LXdyYXBwZXIgbmF2IHVsIGxpIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAgICAgICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiAub2ZmY2FudmFzLW5hdi13cmFwcGVyIG5hdiB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDguMzMzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpOyB9XG4gICAgICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiAub2ZmY2FudmFzLW5hdi13cmFwcGVyIC5yZWdpc3Rlci1jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjI0ZjtcbiAgICAgICAgcGFkZGluZzogMTJweCAzMnB4O1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTsgfVxuICAgICAgICAub2ZmLWNhbnZhcyAub2ZmY2FudmFzLW1lbnUtc2VjdGlvbiAub2ZmY2FudmFzLW5hdi13cmFwcGVyIC5yZWdpc3Rlci1jdGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCxcbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7IH1cblxuLmJhbm5lci1zZWN0aW9uIHtcbiAgcGFkZGluZy1ibG9jazogMTJweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgei1pbmRleDogMztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYW5uZXItc2VjdGlvbiAuYmFjay10by1tYWluLXNpdGUtbGluayB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICAuYmFubmVyLXNlY3Rpb24gLmJhY2stdG8tbWFpbi1zaXRlLWxpbms6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLmJhbm5lci1zZWN0aW9uIC5iYWNrLXRvLW1haW4tc2l0ZS1saW5rOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL3doaXRlLWFycm93LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICB3aWR0aDogMTRweDsgfVxuICAgIC5iYW5uZXItc2VjdGlvbiAuYmFjay10by1tYWluLXNpdGUtbGluazpmb2N1cy12aXNpYmxlLCAuYmFubmVyLXNlY3Rpb24gLmJhY2stdG8tbWFpbi1zaXRlLWxpbms6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuXG5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLWJsb2NrOiAzMnB4OyB9XG4gIGhlYWRlciAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3M3B4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDczLzgwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvZGVscGhpLWVjb25vbWljLWZvcnVtLWljb24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBoZWFkZXIgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87IH1cbiAgICBoZWFkZXIgLm1haW4tY29udGVudCB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgcGFkZGluZzogNnB4IDhweDsgfVxuICAgICAgaGVhZGVyIC5tYWluLWNvbnRlbnQgdWwgbGkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIGhlYWRlciAubWFpbi1jb250ZW50IHVsIGxpOmhvdmVyIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpOyB9XG4gICAgICBoZWFkZXIgLm1haW4tY29udGVudCB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMDYzcHgpIHtcbiAgICAgICAgaGVhZGVyIC5tYWluLWNvbnRlbnQgdWwge1xuICAgICAgICAgIGdhcDogMHB4OyB9IH1cbiAgaGVhZGVyIC5yaWdodC13cmFwcGVyIC5yZWdpc3RlciB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDQxLjY2N3B4O1xuICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgcGFkZGluZzogOHB4IDMycHg7XG4gICAgY29sb3I6ICMwNTJmNWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICBoZWFkZXIgLnJpZ2h0LXdyYXBwZXIgLnJlZ2lzdGVyOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgaGVhZGVyIC5vZmZjYW52YXMtbWVudS10cmlnZ2VyIC5vZmZjYW52YXMtbWVudS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2RlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9pY29ucy9kZWYtbWVudS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDQycHg7IH1cblxuLmhlcm8tc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0xOTBweDtcbiAgaGVpZ2h0OiA5MHZoO1xuICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5oZXJvLXNlY3Rpb25fX3ZpZGVvLXdyYXBwZXIgdmlkZW8ge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxOTIwIC8gMTA4MDtcbiAgICAgIGhlaWdodDogOTB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xuICAgICAgbWluLWhlaWdodDogOTU1cHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNDhkZWcsIHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLCByZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjUlLCByZ2JhKDAsIDAsIDAsIDAuMzMpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAwJSwgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjMzKSAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbm9ybWFsLCBub3JtYWwsIGNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgICAgIG9wYWNpdHk6IDAuODg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMDZweDtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IC5sb2dvIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggLmxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4OyB9IH1cbiAgICAgIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IC5kYXRlIHtcbiAgICAgICAgY29sb3I6ICNmN2Y1NzM7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNTNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgICAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCAudGl0bGUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCAudGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4OyB9IH1cbiAgICAgIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICAuaGVyby1zZWN0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYXNwZWN0LXJhdGlvOiA1IC8gMTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvd2hpdGUtd2F2ZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBib3R0b206IC0ycHg7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZXJvLXNlY3Rpb24ubWFpbiB7XG4gICAgbWluLWhlaWdodDogNjcwcHg7IH1cbiAgICAuaGVyby1zZWN0aW9uLm1haW4gLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlciB2aWRlbyB7XG4gICAgICBtaW4taGVpZ2h0OiA2NzBweDsgfVxuICAgIC5oZXJvLXNlY3Rpb24ubWFpbiAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyOmFmdGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDY3MHB4OyB9XG4gICAgLmhlcm8tc2VjdGlvbi5tYWluIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24ubWFpbiAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5oZXJvLXNlY3Rpb24ubWFpbiAucmVnaXN0ZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmMjRmO1xuICAgICAgcGFkZGluZzogOHB4IDMycHg7XG4gICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlOyB9XG4gICAgICAuaGVyby1zZWN0aW9uLm1haW4gLnJlZ2lzdGVyOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAuaGVyby1zZWN0aW9uLnNpbXBsZSB7XG4gICAgaGVpZ2h0OiA0MHZoOyB9XG4gICAgLmhlcm8tc2VjdGlvbi5zaW1wbGUgLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlciAudmlkZW8ge1xuICAgICAgaGVpZ2h0OiA0MHZoOyB9XG4gICAgLmhlcm8tc2VjdGlvbi5zaW1wbGUgLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiA0MHZoOyB9XG4gICAgLmhlcm8tc2VjdGlvbi5zaW1wbGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVyby1zZWN0aW9uLnNpbXBsZSAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gICAgLmhlcm8tc2VjdGlvbi5zaW1wbGUgLnJlZ2lzdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MS42NjdweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgICBwYWRkaW5nOiA4cHggMzJweDtcbiAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24uc2ltcGxlIC5yZWdpc3Rlcjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgLmhlcm8tc2VjdGlvbi5iZWNvbWUtYS1tZW1iZXIge1xuICAgIGhlaWdodDogdW5zZXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlciAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmhlcm8tc2VjdGlvbi5iZWNvbWUtYS1tZW1iZXIgLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlciB2aWRlbyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7IH1cbiAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlciAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZXJvLXNlY3Rpb24uYmVjb21lLWEtbWVtYmVyIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEyMHB4OyB9XG4gICAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlciAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgICAgLmhlcm8tc2VjdGlvbi5iZWNvbWUtYS1tZW1iZXIgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgLmhlcm8tc2VjdGlvbi5iZWNvbWUtYS1tZW1iZXIgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlciAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgICAuaGVyby1zZWN0aW9uLmJlY29tZS1hLW1lbWJlciAucmVnaXN0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MS42NjdweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgICBwYWRkaW5nOiA4cHggMzJweDtcbiAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24uYmVjb21lLWEtbWVtYmVyIC5yZWdpc3Rlcjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgLmhlcm8tc2VjdGlvbi5yZWdpc3RlciB7XG4gICAgaGVpZ2h0OiB1bnNldDsgfVxuICAgIC5oZXJvLXNlY3Rpb24ucmVnaXN0ZXIgLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3JlZ2lzdHJhdGlvbi1iY2tnci1kZWYteGkuanBnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuaGVyby1zZWN0aW9uLnJlZ2lzdGVyIC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICAgICAgLmhlcm8tc2VjdGlvbi5yZWdpc3RlciAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLnN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmN2Y1NzM7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMTJweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmhlcm8tc2VjdGlvbi5yZWdpc3RlciAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gICAgLmhlcm8tc2VjdGlvbi5yZWdpc3Rlcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVyby1zZWN0aW9uLnBhZ2UtNDA0IHtcbiAgICBoZWlnaHQ6IHVuc2V0OyB9XG4gICAgLmhlcm8tc2VjdGlvbi5wYWdlLTQwNCAuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteC1hc3NldHMvNDA0LXBhZ2UuanBnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQgLmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQ4ZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMzKSAwJSwgcmdiYSgzOCwgNDYsIDg5LCAwLjMzKSA1Mi41JSwgcmdiYSgwLCAwLCAwLCAwLjMzKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDEzOGRlZywgcmdiYSgyOCwgNzQsIDE2NSwgMC44NSkgMTcuNiUsIHJnYmEoMCwgNjEsIDEwNywgMC44NSkgODIuNCUpOyB9XG4gICAgLmhlcm8tc2VjdGlvbi5wYWdlLTQwNCAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuaGVyby1zZWN0aW9uLnBhZ2UtNDA0IC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXg6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnNDA0JztcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiA1MjBweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMTAuNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAgICAgICAgICAgLmhlcm8tc2VjdGlvbi5wYWdlLTQwNCAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteDpiZWZvcmUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDQwMHB4OyB9IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgLmhlcm8tc2VjdGlvbi5wYWdlLTQwNCAuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteDpiZWZvcmUge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE5NXB4OyB9IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC50aXRsZS00MDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDcycHg7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5kZXNjci00MDQge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQgLmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5iYWNrLXRvLW92ZXJ2aWV3IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0MS42NjdweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjI0ZjtcbiAgICAgICAgcGFkZGluZzogOHB4IDMycHg7XG4gICAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTsgfVxuICAgICAgICAuaGVyby1zZWN0aW9uLnBhZ2UtNDA0IC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuYmFjay10by1vdmVydmlldzpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIC5oZXJvLXNlY3Rpb24ucGFnZS00MDQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm92ZXJ2aWV3LXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIge1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGgzIHtcbiAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpckRpc3BsYXknO1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDJweDsgfSB9XG4gICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBwLmRlc2NyIHtcbiAgICAgIGNvbG9yOiAjMmUzYTQ2O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgcC5pY29uZWQge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDEycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgcC5pY29uZWQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBwLndoZW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgcC5wbGFjZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG4gICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICMyZDYzZTA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjhweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDRweDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwgbGkgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDUsIDk5LCAyMjQsIDAuNSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzJkNjNlMDsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGE6YWZ0ZXIsIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwgbGkgYTpiZWZvcmUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhLmdvb2dsZTphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvZ29vZ2xlLWljb24uc3ZnXCIpOyB9XG4gICAgICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwgbGkgYS5nb29nbGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9nb29nbGUtaWNvbi1pbnZlcnRlZC5zdmdcIik7IH1cbiAgICAgICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhLmFwcGxlOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9hcHBsZS1pY29uLnN2Z1wiKTsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGEuYXBwbGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9hcHBsZS1pY29uLWludmVydGVkLnN2Z1wiKTsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGEub3V0bG9vazphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvb3V0bG9vay1pY29uLnN2Z1wiKTsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGEub3V0bG9vazpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL291dGxvb2staWNvbi1pbnZlcnRlZC5zdmdcIik7IH1cbiAgICAgICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbCB1bCBsaSBhLnlhaG9vOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS95YWhvby1pY29uLnN2Z1wiKTsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGEueWFob286aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS95YWhvby1pY29uLWludmVydGVkLnN2Z1wiKTsgfVxuICAgICAgICAgICAgLm92ZXJ2aWV3LXNlY3Rpb24gLm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciBidXR0b24gLmFkZC10by1jYWxfX3BhbmVsIHVsIGxpIGEub2ZmaWNlOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9taWNyb3NvZnQtb2ZmaWNlLWljb24uc3ZnXCIpOyB9XG4gICAgICAgICAgICAub3ZlcnZpZXctc2VjdGlvbiAub3ZlcnZpZXctc2VjdGlvbi13cmFwcGVyIGJ1dHRvbiAuYWRkLXRvLWNhbF9fcGFuZWwgdWwgbGkgYS5vZmZpY2U6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9taWNyb3NvZnQtb2ZmaWNlLWljb24taW52ZXJ0ZWQuc3ZnXCIpOyB9XG4gICAgICAgIC5vdmVydmlldy1zZWN0aW9uIC5vdmVydmlldy1zZWN0aW9uLXdyYXBwZXIgYnV0dG9uIC5hZGQtdG8tY2FsX19wYW5lbC5pcy1leHBhbmRlZCB1bCB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDkwJSk7IH1cblxuLnNlY3Rpb24tZXhwZWN0YXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IGNhbGMoKDEwMHZ3ICogMTA5IC8gNDgwKSArIDIwcHgpO1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTAuOCAqICgxMDkgLyA0ODApICogMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNDFkZWcsIHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLCByZ2JhKDM4LCA0NiwgODksIDAuMzMpIDQ3LjI4JSwgcmdiYSgwLCAwLCAwLCAwLjMzKSA5MC4wNiUpLCBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDQ1LCA5OSwgMjI0LCAwKSA0Ljc1JSwgIzJkNjNlMCAzOC44NyUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAwJSwgcmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlKSwgdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9leHBlY3RhdGlvbi1iY2tnci1pbWcuanBnXCIpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudCgxMjhkZWcsIHJnYmEoMCwgMTExLCAyNTUsIDAuMykgNy4xMiUsIHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA0NyUsIHJnYmEoMCwgMCwgMCwgMC4zKSA4My4wOSUpLCAjMmQ2M2UwO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG5vcm1hbCwgbm9ybWFsLCBjb2xvciwgbm9ybWFsLCBub3JtYWwsIG5vcm1hbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLWV4cGVjdGF0aW9uOmJlZm9yZSB7XG4gICAgYXNwZWN0LXJhdGlvOiA0ODEgLyAxMDk7XG4gICAgdG9wOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiAwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My93aGl0ZS13YXZlLW1hc2staW52ZXJ0ZWQuc3ZnXCIpIDUwJSBjZW50ZXIvY292ZXIgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBjZW50ZXI7IH1cbiAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLXdyYXBwZXItdXAgLmV4cGVjdGF0aW9uX190aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpckRpc3BsYXknO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogNThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLXdyYXBwZXItdXAgLmV4cGVjdGF0aW9uX190aXRsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0NSwgMjU1LCAwLjUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5zZWN0aW9uLWV4cGVjdGF0aW9uIC5leHBlY3RhdGlvbi13cmFwcGVyLXVwIC5leHBlY3RhdGlvbl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9IH1cbiAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLXdyYXBwZXItdXAgLmV4cGVjdGF0aW9uX19zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuc2VjdGlvbi1leHBlY3RhdGlvbiAuZXhwZWN0YXRpb24tbGlzdC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgcm93LWdhcDogMjRweDtcbiAgICBjb2x1bW4tZ2FwOiA0MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5zZWN0aW9uLWV4cGVjdGF0aW9uIC5leHBlY3RhdGlvbi1saXN0LXdyYXBwZXIgLmV4cGVjdGF0aW9uLWxpc3RfX2l0ZW0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5zZWN0aW9uLWV4cGVjdGF0aW9uIC5leHBlY3RhdGlvbi1saXN0LXdyYXBwZXIgLmV4cGVjdGF0aW9uLWxpc3RfX2l0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5zZWN0aW9uLWV4cGVjdGF0aW9uIC5leHBlY3RhdGlvbi1saXN0LXdyYXBwZXIgLmV4cGVjdGF0aW9uLWxpc3RfX2l0ZW0gaW1nOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuMjUpIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjI1KSAxMDAlKTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLWxpc3Qtd3JhcHBlciAuZXhwZWN0YXRpb24tbGlzdF9faXRlbSBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDsgfSB9XG4gICAgICAuc2VjdGlvbi1leHBlY3RhdGlvbiAuZXhwZWN0YXRpb24tbGlzdC13cmFwcGVyIC5leHBlY3RhdGlvbi1saXN0X19pdGVtIHAge1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIC5zZWN0aW9uLWV4cGVjdGF0aW9uIC5leHBlY3RhdGlvbi1saXN0LXdyYXBwZXIgLmV4cGVjdGF0aW9uLWxpc3RfX2l0ZW0gcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuMTI1ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLWxpc3Qtd3JhcHBlciAuZXhwZWN0YXRpb24tbGlzdF9faXRlbSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLWxpc3Qtd3JhcHBlciAuZXhwZWN0YXRpb24tbGlzdF9faXRlbSB7XG4gICAgICAgICAgZ2FwOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xMjVlbSkge1xuICAgICAgLnNlY3Rpb24tZXhwZWN0YXRpb24gLmV4cGVjdGF0aW9uLWxpc3Qtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIHJvdy1nYXA6IDI0cHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cblxuLnBpbGxhcnMtc2VjdGlvbiB7XG4gIHBhZGRpbmctYmxvY2s6IDEyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLXdyYXBwZXItdXBfX3RpdGxlIHtcbiAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDsgfVxuICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi13cmFwcGVyLXVwX190aXRsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NSwgOTksIDIyNCwgMC41KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24td3JhcHBlci11cF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9IH1cbiAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLXdyYXBwZXItdXBfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciB7XG4gICAgei1pbmRleDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiA2NHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IDI0cHg7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0NSwgOTksIDIyNCwgMC41KTtcbiAgICAgIHRyYW5zaXRpb246IGZsZXggMC43cyBlYXNlLWluO1xuICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC5hY3RpdmUge1xuICAgICAgICAgIGZsZXg6IDY7IH1cbiAgICAgICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciAucGlsbGFycy1zZWN0aW9uX19ib3guYWN0aXZlIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAzMnB4OyB9XG4gICAgICAgICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciAucGlsbGFycy1zZWN0aW9uX19ib3guYWN0aXZlIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50ID4gZGl2IHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAgICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciAucGlsbGFycy1zZWN0aW9uX19ib3guYWN0aXZlIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvdHRvbTogNzUlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LmFjdGl2ZSAucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudC1pY29uIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC5hY3RpdmUgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtZGVzYyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC43NXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNzVzIGVhc2UtaW47IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LmFjdGl2ZSAucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciAhaW1wb3J0YW50O1xuICAgICAgICAgIHJvdy1nYXA6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAgICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC5hY3RpdmUgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQgPiBkaXY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LmFjdGl2ZSAucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudC1kZXNjIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC1iY2tnciB7XG4gICAgICAgIGdyaWQtcm93OiAxLy0xO1xuICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWJja2dyOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQ4ZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMpIDAlLCByZ2JhKDQyLCAzOCwgODksIDAuMykgNTIuNSUsIHJnYmEoMCwgMCwgMCwgMC4zKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMzUsIDExNSwgMjA2LCAwLjYpIDAlLCByZ2JhKDM1LCAxMTUsIDIwNiwgMC42KSAxMDAlKSwgIzI5NWFjNztcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbm9ybWFsO1xuICAgICAgICAgIG9wYWNpdHk6IDAuOTM7IH1cbiAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41NHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMTclO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDE2NHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoOTBkZWcpOyB9XG4gICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LWRlc2Mge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW47XG4gICAgICAgICAgdG9wOiA1OCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAgICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50IHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMzJweDtcbiAgICAgICAgICAgIHBhZGRpbmctaW5saW5lOiAyNHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0OyB9XG4gICAgICAgICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciAucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzJweCBhdXRvO1xuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMGZyO1xuICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAxNnB4O1xuICAgICAgICAgICAgICByb3ctZ2FwOiAwO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICAgICAucGlsbGFycy1zZWN0aW9uIC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlciAucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudCA+IGRpdjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQgPiBkaXY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtdGl0bGUge1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICAgICAgICBncmlkLXJvdzogMS8yO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH1cbiAgICAgICAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LWljb24ge1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICAgICAgICBncmlkLXJvdzogMS8yO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDsgfVxuICAgICAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtZGVzYyB7XG4gICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgICAgICAgICAgICBncmlkLXJvdzogMi8zO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB1bnNldDtcbiAgICAgICAgICAgICAgdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBsZWZ0OiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDU2cHg7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgLnBpbGxhcnMtc2VjdGlvbiAucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIgLnBpbGxhcnMtc2VjdGlvbl9fYm94IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgIC5waWxsYXJzLXNlY3Rpb24gLnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucGlsbGFycy1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IDgwcHg7IH0gfVxuXG4ubWVtYmVyLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZjBmNWZmO1xuICBwYWRkaW5nLWJsb2NrOiAxMjBweDsgfVxuICAubWVtYmVyLXNlY3Rpb24gLm1lbWJlci1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogNTUwcHg7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX192aWRlby13cmFwcGVyIHZpZGVvIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVtYmVyLXNlY3Rpb24gLm1lbWJlci1zZWN0aW9uLWNvbnRhaW5lciAubWVtYmVyLXNlY3Rpb25fX3ZpZGVvLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNDhkZWcsIHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLCByZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjUlLCByZ2JhKDAsIDAsIDAsIDAuMzMpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMC44NSkgMCUsIHJnYmEoNDUsIDk5LCAyMjQsIDAuODUpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMC4zMykgMCUsIHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG5vcm1hbCwgbm9ybWFsLCBjb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogNTUwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuODg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxNXB4O1xuICAgICAgcGFkZGluZy1ibG9jazogODBweDtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggLnRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4gICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAubWVtYmVyLXNlY3Rpb24gLm1lbWJlci1zZWN0aW9uLWNvbnRhaW5lciAubWVtYmVyLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IC50aXRsZTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggLnRpdGxlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4OyB9IH1cbiAgICAgICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCAuc3VidGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggLnN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICAgICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCAubWVtYmVyLWNvbnRlbnQge1xuICAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tYmxvY2s6IDY0cHggNDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZ2FwOiAxNHB4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgICAgLm1lbWJlci1zZWN0aW9uIC5tZW1iZXItc2VjdGlvbi1jb250YWluZXIgLm1lbWJlci1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIgLmdyaWQteCAubWVtYmVyLWNvbnRlbnQgbGkge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggLm1lbWJlci1jb250ZW50IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB3aWR0aDogMzUuMjVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMzUuMjUvODtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9pY29uLW1hcmtlci5zdmdcIik7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgICAubWVtYmVyLXNlY3Rpb24gLm1lbWJlci1zZWN0aW9uLWNvbnRhaW5lciAubWVtYmVyLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciAuZ3JpZC14IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDMycHg7XG4gICAgICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bzsgfVxuICAgICAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIC5tZW1iZXItc2VjdGlvbl9fY29udGVudC13cmFwcGVyIC5ncmlkLXggYTpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5tZW1iZXItc2VjdGlvbiAubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubWVtYmVyLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1ibG9jazogODBweDsgfSB9XG5cbi53aHktc2VjdGlvbiB7XG4gIHBhZGRpbmctYmxvY2s6IDEyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIC53aHktc2VjdGlvbiAud2h5LXNlY3Rpb24td3JhcHBlci11cCB7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC53aHktc2VjdGlvbiAud2h5LXNlY3Rpb24td3JhcHBlci11cCAudGl0bGUge1xuICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDhweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLndoeS1zZWN0aW9uIC53aHktc2VjdGlvbi13cmFwcGVyLXVwIC50aXRsZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAud2h5LXNlY3Rpb24gLndoeS1zZWN0aW9uLXdyYXBwZXItdXAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7IH0gfVxuICAgIC53aHktc2VjdGlvbiAud2h5LXNlY3Rpb24td3JhcHBlci11cCAuZGVzY3Ige1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bzsgfVxuICAud2h5LXNlY3Rpb24gLmJveGVzLXdyYXBwZXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG4gICAgLndoeS1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5ib3gge1xuICAgICAgbWluLWhlaWdodDogMjQwcHg7XG4gICAgICBwYWRkaW5nOiAyNHB4IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpO1xuICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBub3JtYWwsIG5vcm1hbCwgY29sb3IsIG5vcm1hbDsgfVxuICAgICAgLndoeS1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5ib3g6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI0OGRlZywgcmdiYSgwLCAxMTksIDI1NSwgMC4zKSAwJSwgcmdiYSg0MiwgMzgsIDg5LCAwLjMpIDUyLjUlLCByZ2JhKDAsIDAsIDAsIDAuMykgMTAwJSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDApIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjgpIDU2LjY3JSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMmQ2M2UwIDAlLCAjMmQ2M2UwIDEwMCUpLCB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL1N0cmVuZ3RoZW4lMjB0aGVpciUyMHByZXNlbmNlJTIwd2l0aGluJTIwYSUyMGNvbW11bml0eSUyMG9mJTIwaW5mbHVlbmNlLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyL2NvdmVyOyB9XG4gICAgICAud2h5LXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmJveDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQ4ZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMpIDAlLCByZ2JhKDQyLCAzOCwgODksIDAuMykgNTIuNSUsIHJnYmEoMCwgMCwgMCwgMC4zKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMCkgMCUsIHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgNTYuNjclKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICMyZDYzZTAgMCUsICMyZDYzZTAgMTAwJSksIHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvRW5nYWdlJTIwaW4lMjBjcm9zcy1zZWN0b3IlMjBleGNoYW5nZSUyMGF0JTIwdGhlJTIwaGlnaGVzdCUyMGxldmVsLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyL2NvdmVyOyB9XG4gICAgICAud2h5LXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmJveDpudGgtY2hpbGQoMykge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQ4ZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMpIDAlLCByZ2JhKDQyLCAzOCwgODksIDAuMykgNTIuNSUsIHJnYmEoMCwgMCwgMCwgMC4zKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMCkgMCUsIHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgNTYuNjclKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICMyZDYzZTAgMCUsICMyZDYzZTAgMTAwJSksIHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvRW5oYW5jZSUyMHRoZWlyJTIwY29ycG9yYXRlJTIwcHJvZmlsZSUyMHRocm91Z2glMjBjb25zaXN0ZW50JTIwaW5zdGl0dXRpb25hbCUyMGFzc29jaWF0aW9uLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyL2NvdmVyOyB9XG4gICAgICAud2h5LXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmJveCBwIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLndoeS1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICAgICAgZ2FwOiAyNHB4OyB9IH1cbiAgLndoeS1zZWN0aW9uIC53aHktc2VjdGlvbi13cmFwcGVyLWRvd24ge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAud2h5LXNlY3Rpb24gLndoeS1zZWN0aW9uLXdyYXBwZXItZG93biBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgYXNwZWN0LXJhdGlvOiA2NCAvIDQ0OyB9XG4gICAgLndoeS1zZWN0aW9uIC53aHktc2VjdGlvbi13cmFwcGVyLWRvd24gLm51bWJlciB7XG4gICAgICBjb2xvcjogIzJkNjNlMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogNTJweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNDBweCAwIDE2cHggMDsgfVxuICAgIC53aHktc2VjdGlvbiAud2h5LXNlY3Rpb24td3JhcHBlci1kb3duIC5kZXNjciB7XG4gICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC53aHktc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiA4MHB4OyB9IH1cblxuLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCgxMDB2dyAqIDEwOSAvIDQ4MCkgKyA2NHB4KTtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICBtYXJnaW4tdG9wOiBjYWxjKC0wLjkgKiAoMTA5IC8gNDgwKSAqIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQxZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMzKSAwJSwgcmdiYSgzOCwgNDYsIDg5LCAwLjMzKSA0Ny4yOCUsIHJnYmEoMCwgMCwgMCwgMC4zMykgOTAuMDYlKSwgbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSg0NSwgOTksIDIyNCwgMCkgNC43NSUsICMyZDYzZTAgMzguODclKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgMCUsIHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgMTAwJSksIGxpbmVhci1ncmFkaWVudCgxMjhkZWcsIHJnYmEoMCwgMTExLCAyNTUsIDAuMykgNy4xMiUsIHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA0NyUsIHJnYmEoMCwgMCwgMCwgMC4zKSA4My4wOSUpLCAjMmQ2M2UwO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG5vcm1hbCwgbm9ybWFsLCBjb2xvciwgbm9ybWFsLCBub3JtYWwsIG5vcm1hbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0czpiZWZvcmUge1xuICAgIGFzcGVjdC1yYXRpbzogNDgxIC8gMTA5O1xuICAgIHRvcDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvd2hpdGUtd2F2ZS1tYXNrLWludmVydGVkLnN2Z1wiKSA1MCUgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgY2VudGVyOyB9XG4gIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtd3JhcHBlci11cCAuYmVuZWZpdHNfX3RpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAuc2VjdGlvbi1tZW1iZXItYmVuZWZpdHMgLmJlbmVmaXRzLXdyYXBwZXItdXAgLmJlbmVmaXRzX190aXRsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0NSwgMjU1LCAwLjUpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtd3JhcHBlci11cCAuYmVuZWZpdHNfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDsgfSB9XG4gIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtd3JhcHBlci11cCAuYmVuZWZpdHNfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtbGlzdC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnZmlyc3QgZm91cnRoJyAnc2Vjb25kIGZvdXJ0aCcgJ3RoaXJkIGZvdXJ0aCc7XG4gICAgZ2FwOiA0MHB4OyB9XG4gICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICAgIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtbGlzdC13cmFwcGVyIC5iZW5lZml0cy1saXN0X19pdGVtIC5iZW5lZml0cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgICAgIC5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyAuYmVuZWZpdHMtbGlzdC13cmFwcGVyIC5iZW5lZml0cy1saXN0X19pdGVtIC5iZW5lZml0cy1saXN0X19pdGVtLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc2VjdGlvbi1tZW1iZXItYmVuZWZpdHMgLmJlbmVmaXRzLWxpc3Qtd3JhcHBlciAuYmVuZWZpdHMtbGlzdF9faXRlbTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAzNS4yNSAvIDg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvaWNvbi1tYXJrZXIuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW0gb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jazogMzJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA4cHg7IH1cbiAgICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW0gb2wgbGkge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIGdhcDogOHB4OyB9XG4gICAgICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW0gb2wgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE0IC8gMTA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3RpY2staWNvbi5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICAuc2VjdGlvbi1tZW1iZXItYmVuZWZpdHMgLmJlbmVmaXRzLWxpc3Qtd3JhcHBlciAuYmVuZWZpdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBncmlkLWFyZWE6IGZpcnN0OyB9XG4gICAgICAuc2VjdGlvbi1tZW1iZXItYmVuZWZpdHMgLmJlbmVmaXRzLWxpc3Qtd3JhcHBlciAuYmVuZWZpdHMtbGlzdF9faXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICBncmlkLWFyZWE6IHNlY29uZDsgfVxuICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0aGlyZDsgfVxuICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIgLmJlbmVmaXRzLWxpc3RfX2l0ZW06bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmb3VydGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My4xMjVlbSkge1xuICAgICAgLnNlY3Rpb24tbWVtYmVyLWJlbmVmaXRzIC5iZW5lZml0cy1saXN0LXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDI0cHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IHVuc2V0OyB9IH1cblxuLmZlZS1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2YwZjVmZjtcbiAgcGFkZGluZy1ibG9jazogMTIwcHg7IH1cbiAgLmZlZS1zZWN0aW9uIC5mZWUtdGl0bGUge1xuICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheSc7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDUsIDk5LCAyMjQsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNDhkZWcsIHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLCByZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjMxJSwgcmdiYSgwLCAwLCAwLCAwLjMzKSA5OS42MyUpLCAjMmQ2M2UwO1xuICAgIHBhZGRpbmc6IDgwcHggMTI4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWhlYWRlciB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIC5mZWUtaGVhZGVyIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIC5mZWUtaGVhZGVyIC5kZXNjciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWhlYWRlciB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBoZWFkZXI7IH0gfVxuICAgIC5mZWUtc2VjdGlvbiAuZmVlLXdyYXBwZXIgb2wge1xuICAgICAgZmxleDogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAxNnB4OyB9XG4gICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIG9sIGxpIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogOHB4OyB9XG4gICAgICAgIC5mZWUtc2VjdGlvbiAuZmVlLXdyYXBwZXIgb2wgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTQgLyAxMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3RpY2staWNvbi5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAgICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIG9sIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGxpc3Q7IH0gfVxuICAgIC5mZWUtc2VjdGlvbiAuZmVlLXdyYXBwZXIgLmZlZS1hbW91bnQtd3JhcHBlciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAgIC5mZWUtc2VjdGlvbiAuZmVlLXdyYXBwZXIgLmZlZS1hbW91bnQtd3JhcHBlciA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIC5mZWUtYW1vdW50LXdyYXBwZXIgPiBkaXYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWFtb3VudC13cmFwcGVyIC5mZWUtYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIC5mZWUtYW1vdW50LXdyYXBwZXIgLmZlZS1hbW91bnQgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNnB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWFtb3VudC13cmFwcGVyIC5mZWUtYW1vdW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG4gICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIC5mZWUtYW1vdW50LXdyYXBwZXIgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgICAgIHBhZGRpbmc6IDhweCAzMnB4O1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87IH1cbiAgICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWFtb3VudC13cmFwcGVyIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAgIC5mZWUtc2VjdGlvbiAuZmVlLXdyYXBwZXIgLmZlZS1hbW91bnQtd3JhcHBlciB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBidG47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAuZmVlLXNlY3Rpb24gLmZlZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogNjRweCAzMnB4O1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnaGVhZGVyIGJ0bicgJ2xpc3QgYnRuJztcbiAgICAgICAgZ2FwOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLmZlZS1zZWN0aW9uIC5mZWUtd3JhcHBlciAuZmVlLWFtb3VudC13cmFwcGVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG4gIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTJweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogOHB4IDhweCA0cHggMCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjA4KTtcbiAgICBwYWRkaW5nOiA4MHB4IDEyOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5kZXRhaWxzIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5kZXRhaWxzIHAge1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZGV0YWlscyBwIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5mb3JtLXdyYXBwZXIge1xuICAgICAgZmxleDogMTsgfVxuICAgICAgLmZlZS1zZWN0aW9uIC5jb250YWN0LXdyYXBwZXIgLmZvcm0td3JhcHBlciBmb3JtIGZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAxNnB4OyB9XG4gICAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5mb3JtLXdyYXBwZXIgZm9ybSBmaWVsZHNldCAuZmllbGQgZGl2LmlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmZpZWxkIGRpdi5pbnB1dCBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0NSwgOTksIDIyNCwgMC4yNSk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSg1LCA0NywgOTUsIDAuNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmZpZWxkIC5ocy1lcnJvci1tc2dzIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmZpZWxkIC5ocy1lcnJvci1tc2dzIC5ocy1lcnJvci1tc2cge1xuICAgICAgICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgLmZlZS1zZWN0aW9uIC5jb250YWN0LXdyYXBwZXIgLmZvcm0td3JhcHBlciBmb3JtIGZpZWxkc2V0IC5sZWdhbC1jb25zZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLWJsb2NrOiAyNHB4OyB9XG4gICAgICAgICAgLmZlZS1zZWN0aW9uIC5jb250YWN0LXdyYXBwZXIgLmZvcm0td3JhcHBlciBmb3JtIGZpZWxkc2V0IC5sZWdhbC1jb25zZW50LWNvbnRhaW5lciBkaXYuaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmxlZ2FsLWNvbnNlbnQtY29udGFpbmVyIGRpdi5pbnB1dCAuaW5wdXRzLWxpc3QgbGkge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgICAgLmZlZS1zZWN0aW9uIC5jb250YWN0LXdyYXBwZXIgLmZvcm0td3JhcHBlciBmb3JtIGZpZWxkc2V0IC5sZWdhbC1jb25zZW50LWNvbnRhaW5lciBkaXYuaW5wdXQgLmlucHV0cy1saXN0IGxpIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGFjY2VudC1jb2xvcjogIzJkNjNlMDsgfVxuICAgICAgICAgICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciAuZm9ybS13cmFwcGVyIGZvcm0gZmllbGRzZXQgLmxlZ2FsLWNvbnNlbnQtY29udGFpbmVyIGRpdi5pbnB1dCAuaW5wdXRzLWxpc3QgbGkgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTsgfVxuICAgICAgICAgICAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5mb3JtLXdyYXBwZXIgZm9ybSBmaWVsZHNldCAubGVnYWwtY29uc2VudC1jb250YWluZXIgZGl2LmlucHV0IC5pbnB1dHMtbGlzdCBsaSBzcGFuLmhzLWZvcm0tcmVxdWlyZWQge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7IH1cbiAgICAgICAgLmZlZS1zZWN0aW9uIC5jb250YWN0LXdyYXBwZXIgLmZvcm0td3JhcHBlciBmb3JtIGZpZWxkc2V0Om50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5mb3JtLXdyYXBwZXIgZm9ybSBmaWVsZHNldCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiAxMnB4OyB9IH1cbiAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIC5mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyZDYzZTA7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMzJweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAuZmVlLXNlY3Rpb24gLmNvbnRhY3Qtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHggMzJweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5mZWUtc2VjdGlvbiAuY29udGFjdC13cmFwcGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuZmVlLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZy1ibG9jazogODBweDsgfSB9XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxuXG4ucmVnaXN0cmF0aW9uLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjQ4ZGVnLCByZ2JhKDAsIDExOSwgMjU1LCAwLjMzKSAwJSwgcmdiYSgzOCwgNDYsIDg5LCAwLjMzKSA1Mi41JSwgcmdiYSgwLCAwLCAwLCAwLjMzKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuODUpIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjg1KSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDAlLCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjMzKSAxMDAlKSwgdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9yZWdpc3RyYXRpb24tYmNrZ3ItZGVmLXhpLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nLWJsb2NrOiA4MHB4IDEyMHB4OyB9XG4gIC5yZWdpc3RyYXRpb24tc2VjdGlvbl9fdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5JztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4OyB9IH1cbiAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMjhweDsgfVxuICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjZmciAyMHB4IDAuNmZyIDIwcHggMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAzMHB4IDQwcHggYXV0byA0MHB4IDMwcHg7IH1cbiAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogOHB4IDhweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0LmxpdmUge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA0IC8gNjtcbiAgICAgICAgICBncmlkLXJvdzogMSAvIDY7XG4gICAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgICBnYXA6IDE2cHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldC5saXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL3llbGxvdy1leWVicm93LnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQ4cHgpO1xuICAgICAgICAgICAgdG9wOiAtNDVweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0LmxpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdBdmFpbGFibGUgZnJvbSAwMS8wNC8yNSc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNmNWYyNGY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40OHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQubGl2ZSB7XG4gICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICAgIGdhcDogNDBweDsgfSB9XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0OmZpcnN0LWNoaWxkOm5vdCgubGl2ZSkge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgICAgICAgZ3JpZC1yb3c6IDMvNDtcbiAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBnYXA6IDhweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0OmZpcnN0LWNoaWxkOm5vdCgubGl2ZSkgLnRpY2tldC10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0OmZpcnN0LWNoaWxkOm5vdCgubGl2ZSkgLnRpY2tldC1wcmljZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldDpmaXJzdC1jaGlsZDpub3QoLmxpdmUpIC50aWNrZXQtY29udGVudCBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDlweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0OmZpcnN0LWNoaWxkOm5vdCgubGl2ZSkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxMnB4OyB9XG4gICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQ6Zmlyc3QtY2hpbGQ6bm90KC5saXZlKSAudGlja2V0LWV4dHJhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogN3B4OyB9XG4gICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQ6Zmlyc3QtY2hpbGQ6bm90KC5saXZlKTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YwZjVmZjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldDpmaXJzdC1jaGlsZDpub3QoLmxpdmUpOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnQXZhaWxhYmxlIHVudGlsIDE1LzAyLzI1JztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgICAgICBjb2xvcjogI2YwZjVmZjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ4cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldDpmaXJzdC1jaGlsZDpub3QoLmxpdmUpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0Om50aC1jaGlsZCgyKTpub3QoLmxpdmUpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIDU7XG4gICAgICAgICAgZ3JpZC1yb3c6IDIgLyA1O1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQ6bnRoLWNoaWxkKDIpOm5vdCgubGl2ZSkgLnRpY2tldC10eXBlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0Om50aC1jaGlsZCgyKTpub3QoLmxpdmUpIC50aWNrZXQtcHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4OyB9XG4gICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQ6bnRoLWNoaWxkKDIpOm5vdCgubGl2ZSkgLnRpY2tldC1jb250ZW50IGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0Om50aC1jaGlsZCgyKTpub3QoLmxpdmUpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMTdweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0Om50aC1jaGlsZCgyKTpub3QoLmxpdmUpIC50aWNrZXQtZXh0cmEge1xuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldDpudGgtY2hpbGQoMik6bm90KC5saXZlKTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YwZjVmZjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldDpudGgtY2hpbGQoMik6bm90KC5saXZlKTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ0F2YWlsYWJsZSB1bnRpbCAzMS8wMy8yNSc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNmMGY1ZmY7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40OHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQ6bnRoLWNoaWxkKDIpOm5vdCgubGl2ZSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQtdHlwZSB7XG4gICAgICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldC1wcmljZSB7XG4gICAgICAgICAgY29sb3I6ICMyOTVhYzc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldC1jb250ZW50IHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDhweDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0LWNvbnRlbnQgbGkge1xuICAgICAgICAgICAgY29sb3I6ICMwNTJmNWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGdhcDogOHB4OyB9XG4gICAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldC1jb250ZW50IGxpOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL2NoZWNrLWJsdWUuc3ZnXCIpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLnBhaWQtYm94ZXMgLnRpY2tldCBkaXYgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9wYWlkLXRpY2tldC1iY2tnci5zdmdcIik7XG4gICAgICAgICAgcGFkZGluZzogMTlweCA2N3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42M3B4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyAudGlja2V0IGRpdiBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5wYWlkLWJveGVzIC50aWNrZXQgZGl2IC50aWNrZXQtZXh0cmEge1xuICAgICAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjguOHB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyB7XG4gICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAucGFpZC1ib3hlcyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5kaXZpZGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmZyZWUtYm94ZXMge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmZyZWUtYm94ZXMgLnRpY2tldCB7XG4gICAgICAgIG1hcmdpbi1ibG9jazogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDExOWRlZywgcmdiYSgwLCAxMTEsIDI1NSwgMC4zKSA4LjExJSwgcmdiYSg0MiwgMzgsIDg5LCAwLjMpIDUzLjUxJSwgcmdiYSgwLCAwLCAwLCAwLjMpIDk0LjU4JSksICMyOTVhYzc7XG4gICAgICAgIGJveC1zaGFkb3c6IDhweCA4cHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogNDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAuZnJlZS1ib3hlcyAudGlja2V0LXR5cGUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5mcmVlLWJveGVzIC50aWNrZXQtcHJpY2Uge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5mcmVlLWJveGVzIC50aWNrZXQtY29udGVudCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZ2FwOiA4cHg7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmZyZWUtYm94ZXMgLnRpY2tldC1jb250ZW50IGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDhweDsgfVxuICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5mcmVlLWJveGVzIC50aWNrZXQtY29udGVudCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2NoZWNrLXllbGxvdy5zdmdcIik7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbiAuYm94ZXMtd3JhcHBlciAuZnJlZS1ib3hlcyAudGlja2V0IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteC1hc3NldHMvZnJlZS10aWNrZXQtYmNrZ3Iuc3ZnXCIpO1xuICAgICAgICAgIHBhZGRpbmc6IDIxcHggNDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNjNweDsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIgLmZyZWUtYm94ZXMgLnRpY2tldDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL3doaXRlLWV5ZWJyb3cuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQ4cHgpO1xuICAgICAgICAgIHRvcDogLTQ1cHg7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5mcmVlLWJveGVzIC50aWNrZXQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uIC5ib3hlcy13cmFwcGVyIC5mcmVlLWJveGVzIHtcbiAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24gLmJveGVzLXdyYXBwZXIge1xuICAgICAgICBnYXA6IDE3NnB4OyB9IH1cbiAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAxMjBweCAxNjBweDsgfVxuICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAucmVnaXN0cmF0aW9uLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX190aXRsZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQ1LCAyNTUsIDAuNSk7IH1cbiAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAucmVnaXN0cmF0aW9uLXNlY3Rpb25fX2xpc3Qge1xuICAgICAgcm93LWdhcDogMjRweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1ibG9jazogNjRweCA0MHB4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19saXN0IC5yZWdpc3RyYXRpb24tc2VjdGlvbl9faXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDhweDsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19saXN0IC5yZWdpc3RyYXRpb24tc2VjdGlvbl9faXRlbTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9jaGVjay15ZWxsb3cuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIC5yZWdpc3RyYXRpb24tc2VjdGlvbl9fbGlzdCB7XG4gICAgICAgICAgbWFyZ2luLWJsb2NrOiAzMnB4IDQwcHg7IH0gfVxuICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAucmVnaXN0cmF0aW9uLXNlY3Rpb25fX2J0bi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZ2FwOiAxMnB4OyB9XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19idG4td3JhcHBlciBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNWYyNGY7XG4gICAgICAgIHBhZGRpbmc6IDhweCAzMnB4O1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19idG4td3JhcHBlciBhOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnJlZ2lzdHJhdGlvbi1zZWN0aW9uX19idG4td3JhcHBlciBwIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIC50aWNrZXRzLW92ZXJ2aWV3IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogOHB4IDhweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDMycHggNDBweCA2NHB4IDQwcHg7IH1cbiAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnRpY2tldHMtb3ZlcnZpZXcgdWwgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDI0cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTM0LCAxMzQsIDEzNCwgMC41KTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjMzOyB9XG4gICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIC50aWNrZXRzLW92ZXJ2aWV3IHVsIGxpIC5wcmljZSB7XG4gICAgICAgICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCBsaSAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6ICMzMjMyMzI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xOHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCBsaSAuZGF0ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzg3ODc4NztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnRpY2tldHMtb3ZlcnZpZXcgdWwgbGkuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg0NSwgOTksIDIyNCwgMC41KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCBsaS5hY3RpdmUgLnByaWNlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyZDYzZTA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIC50aWNrZXRzLW92ZXJ2aWV3IHVsIGxpLmFjdGl2ZSAudGl0bGUge1xuICAgICAgICAgICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yMnB4OyB9XG4gICAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnRpY2tldHMtb3ZlcnZpZXcgdWwgbGkuYWN0aXZlIC5kYXRlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICMyZDYzZTA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDhweDsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAgICAgLnJlZ2lzdHJhdGlvbi1zZWN0aW9uLnJlZGVzaWduIC50aWNrZXRzLW92ZXJ2aWV3IHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgICAucmVnaXN0cmF0aW9uLXNlY3Rpb24ucmVkZXNpZ24gLnRpY2tldHMtb3ZlcnZpZXcgdWwgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiAudGlja2V0cy1vdmVydmlldyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNjRweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5yZWdpc3RyYXRpb24tc2VjdGlvbi5yZWRlc2lnbiB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IDgwcHggMTIwcHg7IH0gfVxuXG5mb290ZXIgLm1haW4tZm9vdGVyIHtcbiAgcGFkZGluZy1ibG9jazogMTIwcHg7IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLmxlZnQtd3JhcHBlciAubG9nby1saW5rIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5sZWZ0LXdyYXBwZXIgLmxvZ28tbGluayAuZm9vdGVyLWxvZ28ge1xuICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLmxlZnQtd3JhcHBlciAuYmFjay10by1tYWluLXNpdGUtbGluay1ibHVlIHtcbiAgICBjb2xvcjogIzJkNjNlMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTQuMTY3cHg7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5sZWZ0LXdyYXBwZXIgLmJhY2stdG8tbWFpbi1zaXRlLWxpbmstYmx1ZTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAubGVmdC13cmFwcGVyIC5iYWNrLXRvLW1haW4tc2l0ZS1saW5rLWJsdWU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteC1hc3NldHMvYmx1ZS1hcnJvdy5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAubGVmdC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgaDYge1xuICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYxMjVlbSkge1xuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgaDYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH0gfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAubWFpbi1mb290ZXItbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLm1haW4tZm9vdGVyLW5hdiB1bCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5tYWluLWZvb3Rlci1uYXYgdWwgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMmQ2M2UwOyB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5pbmZvLWRldGFpbHMge1xuICAgIGNvbG9yOiAjMDUyZjVmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5pbmZvLWRldGFpbHMgc3BhbiBhIHtcbiAgICAgIGNvbG9yOiAjMDUyZjVmOyB9XG4gICAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuaW5mby1kZXRhaWxzIHNwYW4gYTpob3ZlciwgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmluZm8tZGV0YWlscyBzcGFuIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzA1MmY1ZjsgfVxuICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuY29udGFjdC1kZXRhaWxzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5jb250YWN0LWRldGFpbHMgYSB7XG4gICAgICBjb2xvcjogIzA1MmY1ZjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7IH1cbiAgICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5jb250YWN0LWRldGFpbHMgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMmQ2M2UwOyB9XG4gICAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuY29udGFjdC1kZXRhaWxzIGE6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmNvbnRhY3QtZGV0YWlscyBhLnRlbDo6YmVmb3JlIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS90ZWwtaWNvbi5zdmdcIik7XG4gICAgICAgIGhlaWdodDogMThweDsgfVxuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmNvbnRhY3QtZGV0YWlscyBhLmVtYWlsOjpiZWZvcmUge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEzIC8gMTA7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvZW1haWwtaWNvbi5zdmdcIik7XG4gICAgICAgIGhlaWdodDogMTRweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsgfSB9XG4gIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5mb290ZXItc29jaWFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5mb290ZXItc29jaWFsIGxpIGEge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmZvb3Rlci1zb2NpYWwgbGkgYS5saW5rZWRpbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvbGlua2VkaW4taWNvbi5zdmdcIik7IH1cbiAgICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIC5mb290ZXItc29jaWFsIGxpIGEuaW5zdGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL2luc3RhLWljb24uc3ZnXCIpOyB9XG4gICAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuZm9vdGVyLXNvY2lhbCBsaSBhLmZhY2Vib29rIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9mYWNlYm9vay1pY29uLnN2Z1wiKTsgfVxuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmZvb3Rlci1zb2NpYWwgbGkgYS55b3V0dWJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS95b3V0dWJlLWljb24uc3ZnXCIpOyB9XG4gICAgICBmb290ZXIgLm1haW4tZm9vdGVyIC5tYWluLWZvb3Rlci1jb250ZW50cyAucmlnaHQtd3JhcHBlciAuZm9vdGVyLXNvY2lhbCBsaSBhLnRpa3RvayB7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvdGlrLXRvay1pY29uLnN2Z1wiKTsgfVxuICAgICAgZm9vdGVyIC5tYWluLWZvb3RlciAubWFpbi1mb290ZXItY29udGVudHMgLnJpZ2h0LXdyYXBwZXIgLmZvb3Rlci1zb2NpYWwgbGkgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIGZvb3RlciAubWFpbi1mb290ZXIgLm1haW4tZm9vdGVyLWNvbnRlbnRzIC5yaWdodC13cmFwcGVyIHtcbiAgICAgIGdhcDogMzJweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgZm9vdGVyIC5tYWluLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiA4MHB4OyB9IH1cblxuZm9vdGVyIC5taW5pLWZvb3RlciB7XG4gIHBhZGRpbmctYmxvY2s6IDI0cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTlkZWcsIHJnYmEoMCwgMTExLCAyNTUsIDAuMykgOC4xMSUsIHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA1My41MSUsIHJnYmEoMCwgMCwgMCwgMC4zKSA5NC41OCUpLCAjMmQ2M2UwOyB9XG4gIGZvb3RlciAubWluaS1mb290ZXIgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5zdGlja3ktbGV0dGVycy0tY29udGFpbmVyIHtcbiAgcGFkZGluZy1ibG9jazogMnJlbTsgfVxuICAuc3RpY2t5LWxldHRlcnMtLWNvbnRhaW5lciAuc3RpY2t5LWxldHRlcnMge1xuICAgIHRyYW5zaXRpb246IDAuMjVzIGJhY2tncm91bmQtY29sb3IgZWFzZTsgfVxuICAgIC5zdGlja3ktbGV0dGVycy0tY29udGFpbmVyIC5zdGlja3ktbGV0dGVycy5pcy1zdHVjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzMnB4IDAgcmdiYSgxMCwgMTAsIDEwLCAwLjQpOyB9XG5cbi5sZXR0ZXJUYWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDEwcHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMThweCAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODVlbSkge1xuICAgIC5sZXR0ZXJUYWJzIHtcbiAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IDFyZW07IH0gfVxuICAubGV0dGVyVGFiczpiZWZvcmUsIC5sZXR0ZXJUYWJzOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5sZXR0ZXJUYWJzIC50YWJzLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjVmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmQ2M2UwO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAubGV0dGVyVGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIGhlaWdodDogNTBweDsgfSB9XG4gICAgLmxldHRlclRhYnMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogIzJkNjNlMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLmxldHRlclRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyZDYzZTA7IH1cbiAgICAgIC5sZXR0ZXJUYWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cblxuLnNwZWFrZXJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zcGVha2VycyAudGFicy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuc3BlYWtlcnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNwZWFrZXJzIC50YWJzLWNvbnRlbnQgLnRhYi1sZXR0ZXItLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnNwZWFrZXJzIC50YWJzLWNvbnRlbnQgLm1vZGVyYXRvcnMge1xuICAgICAgbWFyZ2luLWJsb2NrOiAzcmVtIDA7IH1cblxuLmpzLXNlYXJjaGVkU3BlYWtlcnMsXG4uanMtcGFnaW5hdGVkU3BlYWtlcnMge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UsIHZpc2liaWxpdHkgMC4yNXMgZWFzZTsgfVxuICAuanMtc2VhcmNoZWRTcGVha2Vycy5oaWRkZW4sXG4gIC5qcy1wYWdpbmF0ZWRTcGVha2Vycy5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5hbGxTcGVha2VycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjU1cyBlYXNlOyB9XG4gIC5hbGxTcGVha2Vycy5oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41NXMgZWFzZSAwLjU1czsgfVxuXG4uc2VhcmNoLnNwZWFrZXJzIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzA1MmY1ZjtcbiAgd2lkdGg6IDMwMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgaGVpZ2h0PSc0OCcgd2lkdGg9JzQ4JyUzRSUzQ3BhdGggZD0nTTM5LjggNDEuOTUgMjYuNjUgMjguOHEtMS41IDEuMy0zLjUgMi4wMjUtMiAuNzI1LTQuMjUuNzI1LTUuNCAwLTkuMTUtMy43NVQ2IDE4Ljc1cTAtNS4zIDMuNzUtOS4wNSAzLjc1LTMuNzUgOS4xLTMuNzUgNS4zIDAgOS4wMjUgMy43NSAzLjcyNSAzLjc1IDMuNzI1IDkuMDUgMCAyLjE1LS43IDQuMTUtLjcgMi0yLjEgMy43NUw0MiAzOS43NVptLTIwLjk1LTEzLjRxNC4wNSAwIDYuOS0yLjg3NVEyOC42IDIyLjggMjguNiAxOC43NXQtMi44NS02LjkyNVEyMi45IDguOTUgMTguODUgOC45NXEtNC4xIDAtNi45NzUgMi44NzVUOSAxOC43NXEwIDQuMDUgMi44NzUgNi45MjV0Ni45NzUgMi44NzVaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSA1cHgpIGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtIDJyZW0gMC41cmVtIDAuNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAzMHB4OyB9XG4gIC5zZWFyY2guc3BlYWtlcnM6YWN0aXZlLCAuc2VhcmNoLnNwZWFrZXJzOmZvY3VzLXZpc2libGUsIC5zZWFyY2guc3BlYWtlcnM6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLnNwZWFrZXJzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4OyB9XG5cbi5pbnRyby1oZWFkaW5nIHtcbiAgY29sb3I6ICMwNTJmNWY7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZXJzb24tY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgZ2FwOiAyNHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBlcnNvbi1jYXJkcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5wZXJzb24tY2FyZHMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfSB9XG4gIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDAuOHMgZWFzZSwgbWFyZ2luLWJvdHRvbSAwLjhzIGVhc2U7IH1cbiAgICAucGVyc29uLWNhcmRzIC5wZXJzb24tY2FyZCAucGVyc29uLWltYWdlLS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAucGVyc29uLWNhcmRzIC5wZXJzb24tY2FyZCAucGVyc29uLWltYWdlLS13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ2MWUwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkIC5wZXJzb24taW1hZ2UtLXdyYXBwZXIgLnBlcnNvbi1pbWFnZSB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAxcyBlYXNlO1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpOyB9XG4gICAgLnBlcnNvbi1jYXJkcyAucGVyc29uLWNhcmQgLnBlcnNvbi1uYW1lIHtcbiAgICAgIGNvbG9yOiAjMmQ2M2UwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkIC5wZXJzb24tY29tcGFueS1jb3VudHJ5IHtcbiAgICAgIGNvbG9yOiAjNGE0YTRhO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7IH1cbiAgICAucGVyc29uLWNhcmRzIC5wZXJzb24tY2FyZCAucGVyc29uLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNGE0YTRhO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkOmhvdmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkOmhvdmVyIC5wZXJzb24taW1hZ2UtLXdyYXBwZXIgLnBlcnNvbi1pbWFnZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAucGVyc29uLWNhcmRzIC5wZXJzb24tY2FyZCAucGVyc29uLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5wZXJzb24tY2FyZHMgLnBlcnNvbi1jYXJkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucGFydG5lci1zZWN0aW9uLS10aXRsZSB7XG4gIHBhZGRpbmctYmxvY2s6IDQwcHg7XG4gIGNvbG9yOiAjMmUzYTQ2O1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87IH1cbiAgLnBhcnRuZXItc2VjdGlvbi0tdGl0bGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjk1YWM3OyB9XG5cbi5wYXJ0bmVyIHtcbiAgcGFkZGluZy1pbmxpbmU6IDE1cHg7IH1cbiAgLnBhcnRuZXIgLnBhcnRuZXItY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgZ2FwOiAyNHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnBhcnRuZXIgLnBhcnRuZXItY2FyZHMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpOyB9IH1cbiAgICAucGFydG5lciAucGFydG5lci1jYXJkcyAucGFydG5lci1jYXJkIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzIC5wYXJ0bmVyLWNhcmQgLnBhcnRuZXItaW1hZ2UtLXdyYXBwZXIge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1LCA0NywgOTUsIDAuMjUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiA0cHggNnB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7IH1cbiAgICAgICAgLnBhcnRuZXIgLnBhcnRuZXItY2FyZHMgLnBhcnRuZXItY2FyZCAucGFydG5lci1pbWFnZS0td3JhcHBlcjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ2MWUwO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlOyB9XG4gICAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzIC5wYXJ0bmVyLWNhcmQgLnBhcnRuZXItaW1hZ2UtLXdyYXBwZXIgLnBhcnRuZXItaW1hZ2Uge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAgICAgLnBhcnRuZXIgLnBhcnRuZXItY2FyZHMgLnBhcnRuZXItY2FyZCAucGFydG5lci1pbWFnZS0td3JhcHBlciAucGFydG5lci1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNTBweDsgfSB9XG4gICAgICAucGFydG5lciAucGFydG5lci1jYXJkcyAucGFydG5lci1jYXJkOmhvdmVyIC5wYXJ0bmVyLWltYWdlLS13cmFwcGVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4yNTsgfVxuICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzLmNlbnRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzLmNlbnRlcmVkIC5wYXJ0bmVyLWNhcmQge1xuICAgICAgICB3aWR0aDogY2FsYygoKDEgLyA2KSAqIDEwMCUpIC0gMjBweCk7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0LjA2MTI1ZW0pIHtcbiAgICAgICAgICAucGFydG5lciAucGFydG5lci1jYXJkcy5jZW50ZXJlZCAucGFydG5lci1jYXJkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjEyNWVtKSB7XG4gICAgICAgIC5wYXJ0bmVyIC5wYXJ0bmVyLWNhcmRzLmNlbnRlcmVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucGFydG5lciB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTBweDsgfSB9XG5cbi5iYWNrLXRvLXRvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA0MHB4O1xuICByaWdodDogMjBweDtcbiAgd2lkdGg6IDY1cHg7XG4gIGhlaWdodDogNjVweDtcbiAgYmFja2dyb3VuZDogI2Y1ZjI0ZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlOyB9XG4gIC5iYWNrLXRvLXRvcCBzdmcge1xuICAgIGZpbGw6ICNmZWZlZmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4yNXMgZWFzZTsgfVxuICAuYmFjay10by10b3A6aG92ZXIgc3ZnIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDsgfVxuXG5mb3JtIC5pbnB1dHMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIGZvcm0gLmlucHV0cy1saXN0IGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgZm9ybSAuaW5wdXRzLWxpc3QgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBmb3JtIC5pbnB1dHMtbGlzdCAuaHMtZm9ybS1ib29sZWFuY2hlY2tib3gtZGlzcGxheSA+IHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7IH1cblxuZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYmFja2dyb3VuZDogIzA1MmY1ZjtcbiAgYm9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBwYWRkaW5nOiA4cHggMzJweDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBQbGF5ZmFpckRpc3BsYXk7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0c3JjOiB1cmwoaHR0cHM6Ly9kZWYteC5kZWxwaGlmb3J1bS5nci9odWJmcy9hc3NldHMvZm9udHMvUGxheWZhaXJEaXNwbGF5LVJlZ3VsYXIudHRmKVxuXHRcdGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogQXZlcnRhO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdHNyYzogdXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1SZWd1bGFyLndvZmYyKVxuXHRcdFx0Zm9ybWF0KCd3b2ZmMicpLFxuXHRcdHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtUmVndWxhci53b2ZmKVxuXHRcdFx0Zm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IEF2ZXJ0YTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRzcmM6IHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtU2VtaWJvbGQud29mZjIpXG5cdFx0XHRmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1TZW1pYm9sZC53b2ZmKVxuXHRcdFx0Zm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IEF2ZXJ0YTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRzcmM6IHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtUmVndWxhci1JdGFsaWMud29mZjIpXG5cdFx0XHRmb3JtYXQoJ3dvZmYyJyksXG5cdFx0dXJsKGh0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ZvbnRzL0F2ZXJ0YS1SZWd1bGFyLUl0YWxpYy53b2ZmKVxuXHRcdFx0Zm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IEF2ZXJ0YTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRzcmM6IHVybChodHRwczovL2RlZi14LmRlbHBoaWZvcnVtLmdyL2h1YmZzL2Fzc2V0cy9mb250cy9BdmVydGEtQm9sZC53b2ZmMilcblx0XHRcdGZvcm1hdCgnd29mZjInKSxcblx0XHR1cmwoaHR0cHM6Ly9kZWYteC5kZWxwaGlmb3J1bS5nci9odWJmcy9hc3NldHMvZm9udHMvQXZlcnRhLUJvbGQud29mZilcblx0XHRcdGZvcm1hdCgnd29mZicpO1xufVxuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbXBvcnQgJ21vdGlvbi11aSc7XG5cbi8vIEdsb2JhbCBzdHlsZXNcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuLy8gQ29udGFpbmVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuLy8gSGVscGVyc1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3Nlcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7XG5cbi8vIE1vdGlvbiBVSVxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8vIFN3aXBlclxuQGltcG9ydCAnc3dpcGVyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY3Rhcyc7XG5AaW1wb3J0ICdoZWxwZXJzJztcbkBpbXBvcnQgJ29mZmNhbnZhcyc7XG5cbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICdoZXJvJztcbkBpbXBvcnQgJ292ZXJ2aWV3JztcbkBpbXBvcnQgJ2V4cGVjdGF0aW9ucyc7XG5AaW1wb3J0ICdwaWxsYXJzJztcbkBpbXBvcnQgJ21lbWJlcic7XG5AaW1wb3J0ICdyZWdpc3RyYXRpb24nO1xuQGltcG9ydCAnZm9vdGVyJztcbkBpbXBvcnQgJ3NwZWFrZXJzJztcbkBpbXBvcnQgJ3BlcnNvbmNhcmQnO1xuQGltcG9ydCAncGFydG5lcmNhcmQnO1xuQGltcG9ydCAnYmFjay10by10b3AnO1xuQGltcG9ydCAnZm9ybSc7XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcbi8vICA1Ny4gQ3VzdG9tIFZhcmlhYmxlc1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG5cdHByaW1hcnk6ICM2M2FmYzEsXG5cdHNlY29uZGFyeTogI2M2YmZhZixcblx0c3VjY2VzczogIzNhZGI3Nixcblx0d2FybmluZzogI2ZmYWUwMCxcblx0YWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdBdmVydGEnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuJHByaW50LWhyZWZzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcblx0c21hbGw6IDAsXG5cdG1lZGl1bTogNjQwcHgsXG5cdGxhcmdlOiAxMDI1cHgsXG5cdHhsYXJnZTogMTIwMHB4LFxuXHR4eGxhcmdlOiAxNDQwcHgsXG5cdGh1Z2U6IDE5MjBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcblx0aGlkcGktMTogMSxcblx0aGlkcGktMS01OiAxLjUsXG5cdGhpZHBpLTI6IDIsXG5cdHJldGluYTogMixcblx0aGlkcGktMzogMyxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG5cdHNtYWxsOiAyMHB4LFxuXHRtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiAjMDUyZjVmO1xuJGhlYWRlci1saW5laGVpZ2h0OiAxO1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuXHRzbWFsbDogKFxuXHRcdCdoMSc6IChcblx0XHRcdCdmb250LXNpemUnOiAyNCxcblx0XHQpLFxuXHRcdCdoMic6IChcblx0XHRcdCdmb250LXNpemUnOiAyMCxcblx0XHQpLFxuXHRcdCdoMyc6IChcblx0XHRcdCdmb250LXNpemUnOiAxOSxcblx0XHQpLFxuXHRcdCdoNCc6IChcblx0XHRcdCdmb250LXNpemUnOiAxOCxcblx0XHQpLFxuXHRcdCdoNSc6IChcblx0XHRcdCdmb250LXNpemUnOiAxNyxcblx0XHQpLFxuXHRcdCdoNic6IChcblx0XHRcdCdmb250LXNpemUnOiAxNixcblx0XHQpLFxuXHQpLFxuXHRtZWRpdW06IChcblx0XHQnaDEnOiAoXG5cdFx0XHQnZm9udC1zaXplJzogNDgsXG5cdFx0KSxcblx0XHQnaDInOiAoXG5cdFx0XHQnZm9udC1zaXplJzogNDAsXG5cdFx0KSxcblx0XHQnaDMnOiAoXG5cdFx0XHQnZm9udC1zaXplJzogMzEsXG5cdFx0KSxcblx0XHQnaDQnOiAoXG5cdFx0XHQnZm9udC1zaXplJzogMjUsXG5cdFx0KSxcblx0XHQnaDUnOiAoXG5cdFx0XHQnZm9udC1zaXplJzogMjAsXG5cdFx0KSxcblx0XHQnaDYnOiAoXG5cdFx0XHQnZm9udC1zaXplJzogMTYsXG5cdFx0KSxcblx0KSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJztcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMyc7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcblx0dGlueTogMC42cmVtLFxuXHRzbWFsbDogMC43NXJlbSxcblx0ZGVmYXVsdDogMC45cmVtLFxuXHRsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1zaXplczogKFxuXHRzbWFsbDogMC41cmVtLFxuXHRkZWZhdWx0OiAxcmVtLFxuXHRsYXJnZTogM3JlbSxcbik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuXHRzbWFsbDogMC42NnJlbSxcblx0bWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcblx0c21hbGw6IDAuMzNlbSxcblx0bWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcblx0c21hbGw6IDEuNWVtLFxuXHRtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcblx0dGlueTogMTAwcHgsXG5cdHNtYWxsOiAyMDBweCxcblx0bGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcblx0c21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcblx0c21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHdoaXRlO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoZG93biwgdXAsIHJpZ2h0LCBsZWZ0KTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtY2VsbCk7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChkaXNjLCBjaXJjbGUsIHNxdWFyZSk7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuXHRkZWNpbWFsLFxuXHRsb3dlci1hbHBoYSxcblx0bG93ZXItbGF0aW4sXG5cdGxvd2VyLXJvbWFuLFxuXHR1cHBlci1hbHBoYSxcblx0dXBwZXItbGF0aW4sXG5cdHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKHZpc2libGUsIGhpZGRlbiwgc2Nyb2xsKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQpO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksXG5cdDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6ICh3aWR0aCwgaGVpZ2h0KTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcblx0MjU6IDI1JSxcblx0NTA6IDUwJSxcblx0NzU6IDc1JSxcblx0MTAwOiAxMDAlLFxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKG92ZXJsaW5lLCB1bmRlcmxpbmUsIGxpbmUtdGhyb3VnaCk7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAobG93ZXJjYXNlLCB1cHBlcmNhc2UsIGNhcGl0YWxpemUpO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcblx0ZGVmYXVsdDogNCBieSAzLFxuXHR3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oXG5cdCR0YWJsZS1iYWNrZ3JvdW5kLFxuXHQkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGVcbik7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcblx0c21hbGw6IDIwcHgsXG5cdG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDU3LiBDdXN0b20gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIGhlaWdodDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1ha2UgYnV0dG9ucyBib25kZWQgd2l0aG91dCBnYXAgYmV0d2VlbiB0aGVtLiBCb3JkZXJzIGJldHdlZW4gYnV0dG9ucyBhcmUgbWVyZ2VkXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLW5vLWdhcHMoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiByZW0tY2FsYygtJGJvcmRlci13aWR0aCk7XG5cbiAgICArICN7JHNlbGVjdG9yfSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkYmFzZS1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRiYXNlLXNlbGVjdG9yfSB7XG4gICAgICAgIC8vIERvIG5vdCBnZW5lcmF0ZSBidXR0b24gYmFzZSBzdHlsZXMgZm9yIHRoZSBkZWZhdWx0IGZpbGxpbmdcbiAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICRpbmRpdmlkdWFsLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LiN7JG5hbWV9Jyk7XG5cbiAgICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSwgI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm5vLWdhcHMge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLW5vLWdhcHM7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciBmb3IgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgQ3Vyc29yXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8vIGluZGljYXRlIGEgZGlzYWJsZWQgc3dpdGNoXG4gIGlucHV0OmRpc2FibGVkIH4gJiB7XG4gICAgY3Vyc29yOiAkc3dpdGNoLWN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAkc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ7XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdCBbZmFsc2VdIC0gTmVlZGVkIGlmIHlvdSBvbmx5IHdhbnQgdG8gYXBwbHkgdGhpcyB0byBhIHNwZWNpZmljIHRhYmxlLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBDYWxsb3V0IHBhZGRpbmdzLlxuLy8vIEB0eXBlIE1hcFxuJGNhbGxvdXQtc2l6ZXM6IChcbiAgc21hbGw6IDAuNXJlbSxcbiAgZGVmYXVsdDogMXJlbSxcbiAgbGFyZ2U6IDNyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6IG1hcC1nZXQoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gbWFwLXJlbW92ZSgkY2FsbG91dC1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgkcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwcmV2aW91cyBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG5leHQgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1uZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLyoqXG4gKiBTd2lwZXIgOC40LjJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjIgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogU2VwdGVtYmVyIDE1LCAyMDIyXG4gKi9cblxuQGltcG9ydCAnc3dpcGVyLXZhcnMuc2Nzcyc7XG5AYXQtcm9vdCB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc3dpcGVyLWljb25zJztcbiAgICBzcmM6IHVybCgnZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEnKVxuICAgICAgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cbkBhdC1yb290IHtcbiAgOnJvb3Qge1xuICAgIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjeyR0aGVtZUNvbG9yfTtcbiAgfVxufVxuLnN3aXBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xufVxuLnN3aXBlci1wb2ludGVyLWV2ZW50cyB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICYuc3dpcGVyLXZlcnRpY2FsIHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi14O1xuICB9XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1hdXRvaGVpZ2h0IHtcbiAgJixcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgfVxufVxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci0zZCB7XG4gICYsXG4gICYuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlciB7XG4gICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgfVxuICAuc3dpcGVyLXdyYXBwZXIsXG4gIC5zd2lwZXItc2xpZGUsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4gIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3csXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIH1cbn1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAvKiBGb3IgRmlyZWZveCAqL1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogRm9yIEludGVybmV0IEV4cGxvcmVyIGFuZCBFZGdlICovXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7XG4gIH1cbn1cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIH1cbn1cbi5zd2lwZXItdmVydGljYWwuc3dpcGVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xuICB9XG59XG4uc3dpcGVyLWNlbnRlcmVkIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3JkZXI6IDk5OTk7XG4gIH1cbiAgJi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gICAgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgICB9XG4gICAgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogdmFyKC0tc3dpcGVyLWNlbnRlcmVkLW9mZnNldC1hZnRlcik7XG4gICAgfVxuICB9XG4gICYuc3dpcGVyLXZlcnRpY2FsIHtcbiAgICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWJlZm9yZSk7XG4gICAgfVxuICAgID4gLnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpO1xuICAgIH1cbiAgfVxuXG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IGNlbnRlciBjZW50ZXI7XG4gIH1cbn1cblxuXG5cbiIsIi53YXRjaGxpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDhweDtcbiAgZ2FwOiA0cHg7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAmLm9mZmNhbnZhcyB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgJi5vbmRlbWFuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuICAmLm9uZGVtYW5kIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ud2F0Y2hsaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL3dhdGNoLWxpdmVfY2lyY2xlLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGhlaWdodDogMTJweDtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi5ldmVudC1vdmVydmlldyB7XG5cdGJhY2tncm91bmQ6ICNmYWZhZmI7XG5cdHBhZGRpbmctYmxvY2s6IDY0cHg7XG59XG5cbi5yZWdpc3RhcnRpb24tbW9kdWxlIHtcblx0Ly8gd2lkdGg6IGZpdC1jb250ZW50O1xuXHRwYWRkaW5nOiA4MHB4IDQwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNSwgNDcsIDk1LCAwLjI1KTtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Ym94LXNoYWRvdzogNHB4IDZweCAyMHB4IDBweDtcblx0bWFyZ2luLXRvcDogNDhweDtcblx0W3R5cGU9J2NvbG9yJ10sXG5cdFt0eXBlPSdkYXRlJ10sXG5cdFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuXHRbdHlwZT0nZGF0ZXRpbWUnXSxcblx0W3R5cGU9J2VtYWlsJ10sXG5cdFt0eXBlPSdtb250aCddLFxuXHRbdHlwZT0nbnVtYmVyJ10sXG5cdFt0eXBlPSdwYXNzd29yZCddLFxuXHRbdHlwZT0nc2VhcmNoJ10sXG5cdFt0eXBlPSd0ZWwnXSxcblx0W3R5cGU9J3RleHQnXSxcblx0W3R5cGU9J3RpbWUnXSxcblx0W3R5cGU9J3VybCddLFxuXHRbdHlwZT0nd2VlayddLFxuXHR0ZXh0YXJlYSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZy1pbmxpbmU6IDA7XG5cdH1cbn1cblxuLndhdGNoLW9uLWRlbWFuZCB7XG5cdC53YXRjaC1vbi1kZW1hbmQtLWRheXMtY29udGFpbmVyIHtcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRtYXJnaW4tYmxvY2s6IDQ4cHggODBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSg1LCA0NywgOTUsIDAuMDgpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDQwcHg7XG5cdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRmb3JtIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdC8vIGJvcmRlcjogMXB4IHNvbGlkICMwNTJmNWY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDBweDtcblx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmVmZWZlO1xuXHRcdFx0XHRcdFx0Ji5wIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNmZWZlZmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nLWJsb2NrOiA2cHg7XG5cdFx0XHRcdHBhZGRpbmctaW5saW5lOiAxMnB4O1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG5cdFx0XHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzMCU7XG5cdFx0XHRcdFx0Ji5wIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Y29sdW1uLWdhcDogMDtcblx0XHRcdHJvdy1nYXA6IDJweDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0fVxuXHR9XG59XG5cbi5ibG9ncG9zdC1oZWFkZXIge1xuXHRtYXJnaW4tYmxvY2s6IDM2cHg7XG5cdGgxIHtcblx0XHQvLyBAZXh0ZW5kIC5pbnRyby1oZWFkaW5nO1xuXHR9XG59XG5cbi5ldmVudC1vdmVydmlldy5wYXNzd29yZC1wYWdlIHtcblx0bWFyZ2luLXRvcDogLTY1cHg7XG59XG5cbi5wYXNzd29yZC1wYWdlIHtcblx0LmV2ZW50LWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0Ly8gYmFja2dyb3VuZDogI2ZmZjtcblx0XHQvLyBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblx0XHQuaW50cm8taGVhZGluZyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHRcdH1cblx0XHQuc3VibWl0dGVkLW1lc3NhZ2Uge1xuXHRcdFx0bWFyZ2luLXRvcDogMzJweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQucmVnaXN0ZXItYXJlYSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDNyZW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5kaXZpZGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdGhlaWdodDogMjBweDtcbn1cblxuLmdyaWQtY29udGFpbmVyIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZy1pbmxpbmU6IDI0cHg7XG5cdH1cbn1cbiIsIi5vZmYtY2FudmFzIHtcblx0d2lkdGg6IDEwMHZ3O1xuXHQmLmlzLW9wZW4ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuXHR9XG5cdCYucG9zaXRpb24tcmlnaHQge1xuXHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG5cdFx0d2lkdGg6IDEwMHZ3O1xuXHR9XG5cdC5vZmZjYW52YXMtbWVudS1zZWN0aW9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHQyNDhkZWcsXG5cdFx0XHRcdHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLFxuXHRcdFx0XHRyZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjUlLFxuXHRcdFx0XHRyZ2JhKDAsIDAsIDAsIDAuMzMpIDEwMCVcblx0XHRcdCksXG5cdFx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdDBkZWcsXG5cdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgMCUsXG5cdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgMTAwJVxuXHRcdFx0KSxcblx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0MGRlZyxcblx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC4zMykgMCUsXG5cdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDEwMCVcblx0XHRcdCksXG5cdFx0XHQjMmQ2M2UwO1xuXG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLWJsb2NrOiAwIDMycHg7XG5cdFx0LmJhbm5lci1zZWN0aW9uIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdFx0fVxuXHRcdC5vZmZjYW52YXMtaGVhZGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiA3M3B4O1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdGFzcGVjdC1yYXRpbzogNzMvODA7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9kZWxwaGktZWNvbm9taWMtZm9ydW0taWNvbi5zdmcnKTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdCY6Zm9jdXMtdmlzaWJsZSB7XG5cdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Lm9mZmNhbnZhcy1ldmVudC1jbG9zZS1idG4ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHQuY2xvc2UtYnRuIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vZGVmLXguZGVscGhpZm9ydW0uZ3IvaHViZnMvZGVmLXgtYXNzZXRzL2Nsb3NlLWJ0bi5zdmcnKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI3cHggMjdweDtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyN3B4O1xuXHRcdFx0XHRcdHdpZHRoOiAyN3B4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEycHg7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lm9mZmNhbnZhcy1uYXYtd3JhcHBlciB7XG5cdFx0XHRtYXJnaW4tdG9wOiA2NHB4O1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0bmF2IHtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdHJvdy1nYXA6IDEycHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTRweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEycHg7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGhzbGEoMCwgMCUsIDEwMCUsIDAuNDcpO1xuXHRcdFx0XHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDE3cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA4cHggNDBweDtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogI2ZlZmVmZTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTIwJTtcblx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0Jjpmb2N1cy12aXNpYmxlIHtcblx0XHRcdFx0XHRcdFx0XHRvdXRsaW5lOiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEycHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDguMzMzcHg7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQvLyAmOmxhc3QtY2hpbGQsXG5cdFx0XHRcdFx0XHQvLyAmOm50aC1sYXN0LWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdC8vICAgYm9yZGVyOiB1bnNldDtcblx0XHRcdFx0XHRcdC8vICAgcGFkZGluZzogMDtcblx0XHRcdFx0XHRcdC8vIH1cblx0XHRcdFx0XHRcdC8vICY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHQvLyAgIG1hcmdpbi10b3A6IDI0cHg7XG5cdFx0XHRcdFx0XHQvLyB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucmVnaXN0ZXItY3RhIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDMycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDQycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmNWYyNGY7XG5cdFx0XHRcdHBhZGRpbmc6IDEycHggMzJweDtcblx0XHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTIwJTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCxcbi5wb3NpdGlvbi1yaWdodCB7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG59XG4iLCIuYmFubmVyLXNlY3Rpb24ge1xuXHRwYWRkaW5nLWJsb2NrOiAxMnB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuXHR6LWluZGV4OiAzO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC5iYWNrLXRvLW1haW4tc2l0ZS1saW5rIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHR9XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL3doaXRlLWFycm93LnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdH1cblx0XHQmOmZvY3VzLXZpc2libGUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5oZWFkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwO1xuXHRwYWRkaW5nLWJsb2NrOiAzMnB4O1xuXHQubG9nbyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiA3M3B4O1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRhc3BlY3QtcmF0aW86IDczLzgwO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9kZWxwaGktZWNvbm9taWMtZm9ydW0taWNvbi5zdmcnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdH1cblx0Lm1haW4tY29udGVudCB7XG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0Z2FwOiA4cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNHB4O1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMDYzcHgpIHtcblx0XHRcdFx0Z2FwOiAwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5yaWdodC13cmFwcGVyIHtcblx0XHQucmVnaXN0ZXIge1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjVmMjRmO1xuXHRcdFx0cGFkZGluZzogOHB4IDMycHg7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5vZmZjYW52YXMtbWVudS10cmlnZ2VyIHtcblx0XHQub2ZmY2FudmFzLW1lbnUtaWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vZGVscGhpZm9ydW0uZ3IvaHViZnMvYXNzZXRzL2ljb25zL2RlZi1tZW51LnN2ZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0d2lkdGg6IDQycHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuaGVyby1zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogLTE5MHB4O1xuXHRoZWlnaHQ6IDkwdmg7XG5cdG1pbi1oZWlnaHQ6IDU1MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0cGxhY2UtY29udGVudDogY2VudGVyO1xuXHQmX192aWRlby13cmFwcGVyIHtcblx0XHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRcdGdyaWQtcm93OiAxIC8gLTE7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR2aWRlbyB7XG5cdFx0XHRhc3BlY3QtcmF0aW86IDE5MjAgLyAxMDgwO1xuXHRcdFx0aGVpZ2h0OiA5MHZoO1xuXHRcdFx0bWluLWhlaWdodDogNTUwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OiA5NTVweDtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQvLyAgIGhlaWdodDogY2FsYygxMDB2aCArIDIxcHgpO1xuXHRcdFx0Ly8gICAvLyBtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRcdC8vIH1cblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0MjQ4ZGVnLFxuXHRcdFx0XHRcdHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLFxuXHRcdFx0XHRcdHJnYmEoMzgsIDQ2LCA4OSwgMC4zMykgNTIuNSUsXG5cdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMzKSAxMDAlXG5cdFx0XHRcdCksXG5cdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHQwZGVnLFxuXHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgMCUsXG5cdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlXG5cdFx0XHRcdCksXG5cdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHQwZGVnLFxuXHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDAlLFxuXHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDEwMCVcblx0XHRcdFx0KTtcblx0XHRcdGJhY2tncm91bmQtYmxlbmQtbW9kZTogbm9ybWFsLCBub3JtYWwsIGNvbG9yO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiA1NTBweDtcblx0XHRcdG9wYWNpdHk6IDAuODg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQvLyAgIGhlaWdodDogY2FsYygxMDB2aCArIDIxcHgpO1xuXHRcdFx0Ly8gICAvLyBtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRcdC8vIH1cblx0XHR9XG5cdH1cblx0Jl9fY29udGVudC13cmFwcGVyIHtcblx0XHRwYWRkaW5nLXRvcDogMTA2cHg7XG5cdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRncmlkLXJvdzogMSAvIC0xO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5ncmlkLXgge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdC5sb2dvIHtcblx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5kYXRlIHtcblx0XHRcdFx0Y29sb3I6ICNmN2Y1NzM7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNTNweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdFx0fVxuXHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdQbGF5ZmFpckRpc3BsYXknO1xuXHRcdFx0XHRmb250LXNpemU6IDQ2cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMjAlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDQycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjRweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGFzcGVjdC1yYXRpbzogNSAvIDE7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvd2hpdGUtd2F2ZS5zdmcnKTtcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRib3R0b206IC0ycHg7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdCYubWFpbiB7XG5cdFx0bWluLWhlaWdodDogNjcwcHg7XG5cdFx0Lmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlciB7XG5cdFx0XHR2aWRlbyB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDY3MHB4O1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDY3MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdFx0LmdyaWQtY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnJlZ2lzdGVyIHtcblx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDQxLjY2N3B4O1xuXHRcdFx0YmFja2dyb3VuZDogI2Y1ZjI0Zjtcblx0XHRcdHBhZGRpbmc6IDhweCAzMnB4O1xuXHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLnNpbXBsZSB7XG5cdFx0aGVpZ2h0OiA0MHZoO1xuXHRcdC5oZXJvLXNlY3Rpb25fX3ZpZGVvLXdyYXBwZXIgLnZpZGVvIHtcblx0XHRcdGhlaWdodDogNDB2aDtcblx0XHR9XG5cdFx0Lmhlcm8tc2VjdGlvbl9fdmlkZW8td3JhcHBlcjo6YWZ0ZXIge1xuXHRcdFx0aGVpZ2h0OiA0MHZoO1xuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQuaGVyby1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuXHRcdFx0LmdyaWQtY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTQwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5yZWdpc3RlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjVmMjRmO1xuXHRcdFx0cGFkZGluZzogOHB4IDMycHg7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYuYmVjb21lLWEtbWVtYmVyIHtcblx0XHRoZWlnaHQ6IHVuc2V0O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcblx0XHRtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC5oZXJvLXNlY3Rpb25fX3ZpZGVvLXdyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0dmlkZW8ge1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IHVuc2V0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyOjphZnRlciB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDEyMHB4O1xuXHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDBweDtcblx0XHRcdH1cblx0XHRcdC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWF4LXdpZHRoOiA4MjVweDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblx0XHRcdH1cblx0XHRcdC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE0MHB4O1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVnaXN0ZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0MS42NjdweDtcblx0XHRcdGJhY2tncm91bmQ6ICNmNWYyNGY7XG5cdFx0XHRwYWRkaW5nOiA4cHggMzJweDtcblx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji5yZWdpc3RlciB7XG5cdFx0aGVpZ2h0OiB1bnNldDtcblx0XHQuaGVyby1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9yZWdpc3RyYXRpb24tYmNrZ3ItZGVmLXhpLmpwZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0fVxuXHRcdC5oZXJvLXNlY3Rpb25fX2NvbnRlbnQtd3JhcHBlciB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMjBweDtcblx0XHRcdC5zdWJ0aXRsZSB7XG5cdFx0XHRcdGNvbG9yOiAjZjdmNTczO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxLjEycHg7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIHtcblx0XHRcdC5ncmlkLWNvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHQmLnBhZ2UtNDA0IHtcblx0XHRoZWlnaHQ6IHVuc2V0O1xuXHRcdC5oZXJvLXNlY3Rpb25fX3ZpZGVvLXdyYXBwZXIge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzLzQwNC1wYWdlLmpwZycpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdDI0OGRlZyxcblx0XHRcdFx0XHRcdHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSgzOCwgNDYsIDg5LCAwLjMzKSA1Mi41JSxcblx0XHRcdFx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zMykgMTAwJVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0MTM4ZGVnLFxuXHRcdFx0XHRcdFx0cmdiYSgyOCwgNzQsIDE2NSwgMC44NSkgMTcuNiUsXG5cdFx0XHRcdFx0XHRyZ2JhKDAsIDYxLCAxMDcsIDAuODUpIDgyLjQlXG5cdFx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Lmhlcm8tc2VjdGlvbl9fY29udGVudC13cmFwcGVyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEyMHB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdC5ncmlkLXgge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRjb250ZW50OiAnNDA0Jztcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiA1MjBweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMTAuNHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiA0MDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE5NXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRpdGxlLTQwNCB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjNweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogNzJweDtcblx0XHRcdH1cblx0XHRcdC5kZXNjci00MDQge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0XHR9XG5cdFx0XHQuYmFjay10by1vdmVydmlldyB7XG5cdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmNWYyNGY7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAzMnB4O1xuXHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cbiIsIi5vdmVydmlldy1zZWN0aW9uIHtcblx0cGFkZGluZy10b3A6IDQwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAxMjBweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Lm92ZXJ2aWV3LXNlY3Rpb24td3JhcHBlciB7XG5cdFx0ei1pbmRleDogMjtcblx0XHRoMyB7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5Jztcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogNThweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAycHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHAuZGVzY3Ige1xuXHRcdFx0Y29sb3I6ICMyZTNhNDY7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2NHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0XHRwLmljb25lZCB7XG5cdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGdhcDogMTJweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHAud2hlbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRcdH1cblx0XHRwLnBsYWNlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQ4cHg7XG5cdFx0fVxuXHRcdGJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0MnB4O1xuXHRcdFx0YmFja2dyb3VuZDogIzJkNjNlMDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdC5hZGQtdG8tY2FsX19wYW5lbCB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMjhweDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRnYXA6IDRweDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0bGkgYSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0ZmlsbDogI2ZmZjtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDUsIDk5LCAyMjQsIDAuNSk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzJkNjNlMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6YWZ0ZXIsXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxOXB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE5cHg7XG5cdFx0XHRcdFx0XHRcdGFzcGVjdC1yYXRpbzogMSAvIDE7XG5cdFx0XHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Jjpob3ZlcjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmOmhvdmVyOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmdvb2dsZTphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9nb29nbGUtaWNvbi5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuZ29vZ2xlOmhvdmVyOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9nb29nbGUtaWNvbi1pbnZlcnRlZC5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuYXBwbGU6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvYXBwbGUtaWNvbi5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuYXBwbGU6aG92ZXI6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL2FwcGxlLWljb24taW52ZXJ0ZWQuc3ZnJyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLm91dGxvb2s6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvb3V0bG9vay1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5vdXRsb29rOmhvdmVyOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9vdXRsb29rLWljb24taW52ZXJ0ZWQuc3ZnJyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLnlhaG9vOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3lhaG9vLWljb24uc3ZnJyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLnlhaG9vOmhvdmVyOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS95YWhvby1pY29uLWludmVydGVkLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5vZmZpY2U6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvbWljcm9zb2Z0LW9mZmljZS1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5vZmZpY2U6aG92ZXI6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL21pY3Jvc29mdC1vZmZpY2UtaWNvbi1pbnZlcnRlZC5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5pcy1leHBhbmRlZCB7XG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDkwJSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHR9XG59XG4iLCIuc2VjdGlvbi1leHBlY3RhdGlvbiB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLXRvcDogY2FsYygoMTAwdncgKiAxMDkgLyA0ODApICsgMjBweCk7XG5cdHBhZGRpbmctYm90dG9tOiAxMjBweDtcblx0bWFyZ2luLXRvcDogY2FsYygtMC44ICogKDEwOSAvIDQ4MCkgKiAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MjQxZGVnLFxuXHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zMykgMCUsXG5cdFx0XHRyZ2JhKDM4LCA0NiwgODksIDAuMzMpIDQ3LjI4JSxcblx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zMykgOTAuMDYlXG5cdFx0KSxcblx0XHRsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDQ1LCA5OSwgMjI0LCAwKSA0Ljc1JSwgIzJkNjNlMCAzOC44NyUpLFxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDBkZWcsXG5cdFx0XHRyZ2JhKDQ1LCA5OSwgMjI0LCAwLjgpIDAlLFxuXHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlXG5cdFx0KSxcblx0XHR1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvZXhwZWN0YXRpb24tYmNrZ3ItaW1nLmpwZycpXG5cdFx0XHRjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQsXG5cdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MTI4ZGVnLFxuXHRcdFx0cmdiYSgwLCAxMTEsIDI1NSwgMC4zKSA3LjEyJSxcblx0XHRcdHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA0NyUsXG5cdFx0XHRyZ2JhKDAsIDAsIDAsIDAuMykgODMuMDklXG5cdFx0KSxcblx0XHQjMmQ2M2UwO1xuXHRiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG5vcm1hbCwgbm9ybWFsLCBjb2xvciwgbm9ybWFsLCBub3JtYWwsIG5vcm1hbDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQmOmJlZm9yZSB7XG5cdFx0YXNwZWN0LXJhdGlvOiA0ODEgLyAxMDk7XG5cdFx0dG9wOiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRsZWZ0OiAwcHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL3doaXRlLXdhdmUtbWFzay1pbnZlcnRlZC5zdmcnKVxuXHRcdFx0NTAlIGNlbnRlciAvIGNvdmVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgY2VudGVyO1xuXHR9XG5cdC5leHBlY3RhdGlvbi13cmFwcGVyLXVwIHtcblx0XHQuZXhwZWN0YXRpb25fX3RpdGxlIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdQbGF5ZmFpckRpc3BsYXknO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA1OHB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDJweDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogOHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQ1LCAyNTUsIDAuNSk7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNDJweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmV4cGVjdGF0aW9uX19zdWJ0aXRsZSB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cdC5leHBlY3RhdGlvbi1saXN0LXdyYXBwZXIge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHRyb3ctZ2FwOiAyNHB4O1xuXHRcdGNvbHVtbi1nYXA6IDQwcHg7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdG1hcmdpbi10b3A6IDY0cHg7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdC5leHBlY3RhdGlvbi1saXN0X19pdGVtIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxODBweDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0MGRlZyxcblx0XHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuMjUpIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC4yNSkgMTAwJVxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAyNHB4IDMycHg7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNnB4IDI0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoODUwcHggZG93bikge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Z2FwOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDg1MHB4IGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0XHRyb3ctZ2FwOiAyNHB4O1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0fVxuXHR9XG59XG4iLCIucGlsbGFycy1zZWN0aW9uIHtcblx0cGFkZGluZy1ibG9jazogMTIwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0LnBpbGxhcnMtc2VjdGlvbi13cmFwcGVyLXVwIHtcblx0XHQmX190aXRsZSB7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5Jztcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogNThweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAycHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogOHB4O1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCZfX3N1YnRpdGxlIHtcblx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdH1cblx0fVxuXHQucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXIge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luLXRvcDogNjRweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Z2FwOiAyNHB4O1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHQucGlsbGFycy1zZWN0aW9uX19ib3gge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpO1xuXHRcdFx0dHJhbnNpdGlvbjogZmxleCAwLjdzIGVhc2UtaW47XG5cdFx0XHRtaW4taGVpZ2h0OiAzNTBweDtcblx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRmbGV4OiA2O1xuXHRcdFx0XHRcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50IHtcblx0XHRcdFx0XHRcdHBhZGRpbmctaW5saW5lOiAzMnB4O1xuXHRcdFx0XHRcdFx0PiBkaXYge1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtdGl0bGUge1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiA3NSU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LWljb24ge1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0dG9wOiA0MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDBkZWcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudC1kZXNjIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwLjc1cztcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC43NXMgZWFzZS1pbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50IHtcblx0XHRcdFx0XHRcdD4gZGl2IHtcblx0XHRcdFx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHRyb3ctZ2FwOiA0MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdFx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtZGVzYyB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYtYmNrZ3Ige1xuXHRcdFx0XHRncmlkLXJvdzogMS8tMTtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IDEvLTE7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHRcdDI0OGRlZyxcblx0XHRcdFx0XHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zKSAwJSxcblx0XHRcdFx0XHRcdFx0cmdiYSg0MiwgMzgsIDg5LCAwLjMpIDUyLjUlLFxuXHRcdFx0XHRcdFx0XHRyZ2JhKDAsIDAsIDAsIDAuMykgMTAwJVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdFx0MGRlZyxcblx0XHRcdFx0XHRcdFx0cmdiYSgzNSwgMTE1LCAyMDYsIDAuNikgMCUsXG5cdFx0XHRcdFx0XHRcdHJnYmEoMzUsIDExNSwgMjA2LCAwLjYpIDEwMCVcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHQjMjk1YWM3O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1ibGVuZC1tb2RlOiBub3JtYWw7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC45Mztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji1jb250ZW50IHtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0cGFkZGluZy1ibG9jazogMjRweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdD4gZGl2IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYtdGl0bGUge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC41NHB4O1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAyMzBweDtcblx0XHRcdFx0XHRib3R0b206IDUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogMTclO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji1pY29uIHtcblx0XHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bGVmdDogMTY0cHg7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpIHJvdGF0ZSg5MGRlZyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji1kZXNjIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluO1xuXHRcdFx0XHRcdHRvcDogNTglO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHRcdHdpZHRoOiA3NSU7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdGdyaWQtcm93OiAxIC8gLTE7XG5cdFx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRcdFx0XHRwYWRkaW5nLWJsb2NrOiAzMnB4O1xuXHRcdFx0XHRcdHBhZGRpbmctaW5saW5lOiAyNHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR0b3A6IHVuc2V0O1xuXHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuXHRcdFx0XHRcdD4gZGl2IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMycHggYXV0bztcblx0XHRcdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwZnI7XG5cdFx0XHRcdFx0XHRjb2x1bW4tZ2FwOiAxNnB4O1xuXHRcdFx0XHRcdFx0cm93LWdhcDogMDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdW5zZXQ7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogMTVweDtcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKC01MCUsIDAlKTtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHR0b3A6IDE1cHg7XG5cdFx0XHRcdFx0XHRcdHJpZ2h0OiAxMXB4O1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji10aXRsZSB7XG5cdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMi8zO1xuXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDEvMjtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiB1bnNldDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB1bnNldDtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IHVuc2V0O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDU2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYtaWNvbiB7XG5cdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMS8yO1xuXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDEvMjtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogdW5zZXQ7XG5cdFx0XHRcdFx0XHR0b3A6IHVuc2V0O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB1bnNldDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji1kZXNjIHtcblx0XHRcdFx0XHRcdGdyaWQtY29sdW1uOiAxLy0xO1xuXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDIvMztcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB1bnNldDtcblx0XHRcdFx0XHRcdHRvcDogdW5zZXQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRsZWZ0OiB1bnNldDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdW5zZXQ7XG5cdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1NnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRcdFx0ZmxleDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogMjRweDtcblx0XHRcdG1hcmdpbi10b3A6IDQ4cHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmctYmxvY2s6IDgwcHg7XG5cdH1cbn1cblxuLy8gLnBpbGxhcnMtc2VjdGlvbi1yZWRlc2lnbiB7XG4vLyBcdHBhZGRpbmctYmxvY2s6IDEyMHB4O1xuLy8gXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBcdC5waWxsYXJzLXNlY3Rpb24td3JhcHBlci11cCB7XG4vLyBcdFx0Jl9fdGl0bGUge1xuLy8gXHRcdFx0Y29sb3I6ICMwNTJmNWY7XG4vLyBcdFx0XHRmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG4vLyBcdFx0XHRmb250LXNpemU6IDM2cHg7XG4vLyBcdFx0XHRmb250LXdlaWdodDogNDAwO1xuLy8gXHRcdFx0bGluZS1oZWlnaHQ6IDU4cHg7XG4vLyBcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuLy8gXHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4vLyBcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG4vLyBcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG4vLyBcdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuLy8gXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy8gXHRcdFx0ZGlzcGxheTogZmxleDtcbi8vIFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyBcdFx0XHRnYXA6IDhweDtcbi8vIFx0XHRcdCY6OmFmdGVyIHtcbi8vIFx0XHRcdFx0Y29udGVudDogJyc7XG4vLyBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdFx0XHRoZWlnaHQ6IDFweDtcbi8vIFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NSwgOTksIDIyNCwgMC41KTtcbi8vIFx0XHRcdH1cbi8vIFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuLy8gXHRcdFx0XHRmb250LXNpemU6IDMycHg7XG4vLyBcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MnB4O1xuLy8gXHRcdFx0fVxuLy8gXHRcdH1cbi8vIFx0XHQmX19zdWJ0aXRsZSB7XG4vLyBcdFx0XHRjb2xvcjogIzA1MmY1Zjtcbi8vIFx0XHRcdGZvbnQtc2l6ZTogMThweDtcbi8vIFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4vLyBcdFx0XHRsaW5lLWhlaWdodDogMzBweDtcbi8vIFx0XHR9XG4vLyBcdH1cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyIHtcbi8vIFx0XHR6LWluZGV4OiAxO1xuLy8gXHRcdG1hcmdpbjogMDtcbi8vIFx0XHRwYWRkaW5nOiAwO1xuLy8gXHRcdG1hcmdpbi10b3A6IDY0cHg7XG4vLyBcdFx0ZGlzcGxheTogZmxleDtcbi8vIFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuLy8gXHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdGdhcDogMjRweDtcbi8vIFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4vLyBcdFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94IHtcbi8vIFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdGZsZXg6IDE7XG4vLyBcdFx0XHRkaXNwbGF5OiBncmlkO1xuLy8gXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuLy8gXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4vLyBcdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4vLyBcdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuLy8gXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSg0NSwgOTksIDIyNCwgMC41KTtcbi8vIFx0XHRcdHRyYW5zaXRpb246IGZsZXggMC43cyBlYXNlLWluO1xuLy8gXHRcdFx0bWluLWhlaWdodDogMzUwcHg7XG4vLyBcdFx0XHR3aWR0aDogMTAwcHg7XG4vLyBcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuLy8gXHRcdFx0Ji5hY3RpdmUge1xuLy8gXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4vLyBcdFx0XHRcdFx0ZmxleDogNjtcbi8vIFx0XHRcdFx0XHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudCB7XG4vLyBcdFx0XHRcdFx0XHRwYWRkaW5nLWlubGluZTogMzJweDtcbi8vIFx0XHRcdFx0XHRcdD4gZGl2IHtcbi8vIFx0XHRcdFx0XHRcdFx0Ly8gXHRsZWZ0OiAwO1xuLy8gXHRcdFx0XHRcdFx0XHQvLyBcdHRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSxcbi8vIFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG4vLyBcdFx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcbi8vIFx0XHRcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdH1cbi8vIFx0XHRcdFx0XHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudC10aXRsZSB7XG4vLyBcdFx0XHRcdFx0XHQvLyBsZWZ0OiA1MCU7XG4vLyBcdFx0XHRcdFx0XHQvLyBib3R0b206IDc1JTtcbi8vIFx0XHRcdFx0XHRcdC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LWljb24ge1xuLy8gXHRcdFx0XHRcdFx0Ly8gbGVmdDogNTAlO1xuLy8gXHRcdFx0XHRcdFx0Ly8gdG9wOiA0MCU7XG4vLyBcdFx0XHRcdFx0XHQvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSkgcm90YXRlKDBkZWcpO1xuLy8gXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcbi8vIFx0XHRcdFx0XHR9XG4vLyBcdFx0XHRcdFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnQtZGVzYyB7XG4vLyBcdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuLy8gXHRcdFx0XHRcdFx0Ly8gdHJhbnNpdGlvbi1kZWxheTogMC43NXM7XG4vLyBcdFx0XHRcdFx0XHQvLyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNzVzIGVhc2UtaW47XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbi8vIFx0XHRcdFx0XHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudCB7XG4vLyBcdFx0XHRcdFx0XHQ+IGRpdiB7XG4vLyBcdFx0XHRcdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgIWltcG9ydGFudDtcbi8vIFx0XHRcdFx0XHRcdFx0cm93LWdhcDogNDBweCAhaW1wb3J0YW50O1xuLy8gXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcbi8vIFx0XHRcdFx0XHRcdFx0Jjo6YmVmb3JlIHtcbi8vIFx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuLy8gXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuLy8gXHRcdFx0XHRcdFx0XHR9XG4vLyBcdFx0XHRcdFx0XHR9XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50LWRlc2Mge1xuLy8gXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcbi8vIFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuLy8gXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHR9XG4vLyBcdFx0XHQmLWJja2dyIHtcbi8vIFx0XHRcdFx0Z3JpZC1yb3c6IDEvLTE7XG4vLyBcdFx0XHRcdGdyaWQtY29sdW1uOiAxLy0xO1xuLy8gXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbi8vIFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbi8vIFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbi8vIFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcbi8vIFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcbi8vIFx0XHRcdFx0Jjo6YWZ0ZXIge1xuLy8gXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuLy8gXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcbi8vIFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdFx0XHRcdFx0dG9wOiAwO1xuLy8gXHRcdFx0XHRcdGxlZnQ6IDA7XG4vLyBcdFx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuLy8gXHRcdFx0XHRcdFx0XHQyNDhkZWcsXG4vLyBcdFx0XHRcdFx0XHRcdHJnYmEoMCwgMTE5LCAyNTUsIDAuMykgMCUsXG4vLyBcdFx0XHRcdFx0XHRcdHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA1Mi41JSxcbi8vIFx0XHRcdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMpIDEwMCVcbi8vIFx0XHRcdFx0XHRcdCksXG4vLyBcdFx0XHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoXG4vLyBcdFx0XHRcdFx0XHRcdDBkZWcsXG4vLyBcdFx0XHRcdFx0XHRcdHJnYmEoMzUsIDExNSwgMjA2LCAwLjYpIDAlLFxuLy8gXHRcdFx0XHRcdFx0XHRyZ2JhKDM1LCAxMTUsIDIwNiwgMC42KSAxMDAlXG4vLyBcdFx0XHRcdFx0XHQpLFxuLy8gXHRcdFx0XHRcdFx0IzI5NWFjNztcbi8vIFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4vLyBcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbi8vIFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gXHRcdFx0XHRcdGJhY2tncm91bmQtYmxlbmQtbW9kZTogbm9ybWFsO1xuLy8gXHRcdFx0XHRcdG9wYWNpdHk6IDAuOTM7XG4vLyBcdFx0XHRcdH1cbi8vIFx0XHRcdH1cbi8vIFx0XHRcdCYtY29udGVudCB7XG4vLyBcdFx0XHRcdHotaW5kZXg6IDE7XG4vLyBcdFx0XHRcdHBhZGRpbmctYmxvY2s6IDI0cHg7XG4vLyBcdFx0XHRcdGhlaWdodDogMTAwJTtcbi8vIFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0XHR0b3A6IDA7XG4vLyBcdFx0XHRcdGxlZnQ6IDA7XG4vLyBcdFx0XHRcdHdpZHRoOiAxMDAlO1xuLy8gXHRcdFx0XHQ+IGRpdiB7XG4vLyBcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG4vLyBcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuLy8gXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdFx0fVxuLy8gXHRcdFx0XHQmLXRpdGxlIHtcbi8vIFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcbi8vIFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyBcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuLy8gXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyBcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG4vLyBcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNTRweDtcbi8vIFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gXHRcdFx0XHRcdG1hcmdpbjogMDtcbi8vIFx0XHRcdFx0XHR3aWR0aDogMjMwcHg7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuLy8gXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcbi8vIFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuLy8gXHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDEuNzVzO1xuLy8gXHRcdFx0XHR9XG4vLyBcdFx0XHRcdCYtaWNvbiB7XG4vLyBcdFx0XHRcdFx0d2lkdGg6IDMycHg7XG4vLyBcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuLy8gXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG4vLyBcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuLy8gXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMS43NXM7XG4vLyBcdFx0XHRcdH1cbi8vIFx0XHRcdFx0Ji1kZXNjIHtcbi8vIFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcbi8vIFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyBcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuLy8gXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4vLyBcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG4vLyBcdFx0XHRcdFx0bWFyZ2luOiAwO1xuLy8gXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG4vLyBcdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluO1xuLy8gXHRcdFx0XHRcdHdpZHRoOiA3NSU7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMHM7XG4vLyBcdFx0XHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMS43NXM7XG4vLyBcdFx0XHRcdH1cbi8vIFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuLy8gXHRcdFx0XHRcdGdyaWQtcm93OiAxIC8gLTE7XG4vLyBcdFx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcbi8vIFx0XHRcdFx0XHRwYWRkaW5nLWJsb2NrOiAzMnB4O1xuLy8gXHRcdFx0XHRcdHBhZGRpbmctaW5saW5lOiAyNHB4O1xuLy8gXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdFx0XHR0b3A6IHVuc2V0O1xuLy8gXHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuLy8gXHRcdFx0XHRcdD4gZGl2IHtcbi8vIFx0XHRcdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG4vLyBcdFx0XHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMycHggYXV0bztcbi8vIFx0XHRcdFx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwZnI7XG4vLyBcdFx0XHRcdFx0XHRjb2x1bW4tZ2FwOiAxNnB4O1xuLy8gXHRcdFx0XHRcdFx0cm93LWdhcDogMDtcbi8vIFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdW5zZXQ7XG4vLyBcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbi8vIFx0XHRcdFx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuLy8gXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy8gXHRcdFx0XHRcdFx0JjphZnRlciB7XG4vLyBcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuLy8gXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdFx0XHRcdFx0XHRcdHRvcDogMTVweDtcbi8vIFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG4vLyBcdFx0XHRcdFx0XHRcdHdpZHRoOiAyMHB4O1xuLy8gXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcbi8vIFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbi8vIFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlKC01MCUsIDAlKTtcbi8vIFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4vLyBcdFx0XHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuLy8gXHRcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuLy8gXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcbi8vIFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy8gXHRcdFx0XHRcdFx0XHR0b3A6IDE1cHg7XG4vLyBcdFx0XHRcdFx0XHRcdHJpZ2h0OiAxMXB4O1xuLy8gXHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcbi8vIFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG4vLyBcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4vLyBcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoMCwgLTUwJSk7XG4vLyBcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuLy8gXHRcdFx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcbi8vIFx0XHRcdFx0XHRcdH1cbi8vIFx0XHRcdFx0XHR9XG4vLyBcdFx0XHRcdFx0Ji10aXRsZSB7XG4vLyBcdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMi8zO1xuLy8gXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDEvMjtcbi8vIFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuLy8gXHRcdFx0XHRcdFx0Ym90dG9tOiB1bnNldDtcbi8vIFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuLy8gXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB1bnNldDtcbi8vIFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IHVuc2V0O1xuLy8gXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcbi8vIFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDU2cHg7XG4vLyBcdFx0XHRcdFx0fVxuLy8gXHRcdFx0XHRcdCYtaWNvbiB7XG4vLyBcdFx0XHRcdFx0XHRncmlkLWNvbHVtbjogMS8yO1xuLy8gXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDEvMjtcbi8vIFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vIFx0XHRcdFx0XHRcdGxlZnQ6IHVuc2V0O1xuLy8gXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogdW5zZXQ7XG4vLyBcdFx0XHRcdFx0XHR0b3A6IHVuc2V0O1xuLy8gXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB1bnNldDtcbi8vIFx0XHRcdFx0XHR9XG4vLyBcdFx0XHRcdFx0Ji1kZXNjIHtcbi8vIFx0XHRcdFx0XHRcdGdyaWQtY29sdW1uOiAxLy0xO1xuLy8gXHRcdFx0XHRcdFx0Z3JpZC1yb3c6IDIvMztcbi8vIFx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG4vLyBcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB1bnNldDtcbi8vIFx0XHRcdFx0XHRcdHRvcDogdW5zZXQ7XG4vLyBcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyBcdFx0XHRcdFx0XHRsZWZ0OiB1bnNldDtcbi8vIFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdW5zZXQ7XG4vLyBcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcbi8vIFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG4vLyBcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XG4vLyBcdFx0XHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcbi8vIFx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG4vLyBcdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1NnB4O1xuLy8gXHRcdFx0XHRcdH1cbi8vIFx0XHRcdFx0fVxuLy8gXHRcdFx0fVxuLy8gXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuLy8gXHRcdFx0XHRtaW4taGVpZ2h0OiB1bnNldDtcbi8vIFx0XHRcdFx0ZmxleDogbm9uZTtcbi8vIFx0XHRcdFx0d2lkdGg6IDEwMCU7XG4vLyBcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbi8vIFx0XHRcdH1cbi8vIFx0XHR9XG4vLyBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuLy8gXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vIFx0XHRcdGdhcDogMjRweDtcbi8vIFx0XHRcdG1hcmdpbi10b3A6IDQ4cHg7XG4vLyBcdFx0fVxuLy8gXHR9XG4vLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuLy8gXHRcdHBhZGRpbmctYmxvY2s6IDgwcHg7XG4vLyBcdH1cbi8vIH1cblxuLy8gLnBpbGxhcnMtc2VjdGlvbi1yZWRlc2lnblxuLy8gXHQucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXJcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94XG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50XG4vLyBcdD4gZGl2OmJlZm9yZSB7XG4vLyBcdGNvbnRlbnQ6ICcnO1xuLy8gXHRwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyBcdHRvcDogMDtcbi8vIFx0bGVmdDogNTAlO1xuLy8gXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbi8vIFx0d2lkdGg6IDMycHg7XG4vLyBcdGhlaWdodDogMzJweDtcbi8vIFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuLy8gXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4vLyBcdG9wYWNpdHk6IDE7XG4vLyBcdHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0O1xuLy8gfVxuXG4vLyAucGlsbGFycy1zZWN0aW9uLXJlZGVzaWduXG4vLyBcdC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlclxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3hcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YWZ0ZXIge1xuLy8gXHRjb2xvcjogI2ZmZjtcbi8vIFx0dGV4dC1hbGlnbjogbGVmdDtcbi8vIFx0Zm9udC1zaXplOiAxOHB4O1xuLy8gXHRmb250LXdlaWdodDogNzAwO1xuLy8gXHRsaW5lLWhlaWdodDogMzBweDtcbi8vIFx0bGV0dGVyLXNwYWNpbmc6IDAuNTRweDtcbi8vIFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vIFx0bWFyZ2luOiAwO1xuLy8gXHR3aWR0aDogMjMwcHg7XG4vLyBcdGJvdHRvbTogMCU7XG4vLyBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vIFx0bGVmdDogNTAlO1xuLy8gXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSg5MGRlZyk7XG4vLyBcdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbi8vIFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbi8vIFx0dGV4dC1hbGlnbjogbGVmdDtcbi8vIFx0b3BhY2l0eTogMTtcbi8vIFx0dHJhbnNpdGlvbjogYWxsIDAuN3MgZWFzZS1pbi1vdXQ7XG4vLyB9XG5cbi8vIC5waWxsYXJzLXNlY3Rpb24tcmVkZXNpZ25cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveDpudGgtY2hpbGQoMSlcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YmVmb3JlIHtcbi8vIFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL2dlb3BvbGl0aWNzLWljb24uc3ZnJyk7XG4vLyB9XG5cbi8vIC5waWxsYXJzLXNlY3Rpb24tcmVkZXNpZ25cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveDpudGgtY2hpbGQoMSlcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YWZ0ZXIge1xuLy8gXHRjb250ZW50OiAnR0VPUE9MSVRJQ1MnO1xuLy8gfVxuXG4vLyAucGlsbGFycy1zZWN0aW9uLXJlZGVzaWduXG4vLyBcdC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlclxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3g6bnRoLWNoaWxkKDIpXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50XG4vLyBcdD4gZGl2OmJlZm9yZSB7XG4vLyBcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9wbGFuZXQtaWNvbi5zdmcnKTtcbi8vIH1cblxuLy8gLnBpbGxhcnMtc2VjdGlvbi1yZWRlc2lnblxuLy8gXHQucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXJcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94Om50aC1jaGlsZCgyKVxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudFxuLy8gXHQ+IGRpdjphZnRlciB7XG4vLyBcdGNvbnRlbnQ6ICdQTEFORVQnO1xuLy8gfVxuXG4vLyAucGlsbGFycy1zZWN0aW9uLXJlZGVzaWduXG4vLyBcdC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlclxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3g6bnRoLWNoaWxkKDMpXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50XG4vLyBcdD4gZGl2OmJlZm9yZSB7XG4vLyBcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9maW5hbmNlLWljb24uc3ZnJyk7XG4vLyB9XG5cbi8vIC5waWxsYXJzLXNlY3Rpb24tcmVkZXNpZ25cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveDpudGgtY2hpbGQoMylcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YWZ0ZXIge1xuLy8gXHRjb250ZW50OiAnU3VzdGFpbmFibGUgRWNvbm9teSAmIEZpbmFuY2UnO1xuLy8gfVxuXG4vLyAucGlsbGFycy1zZWN0aW9uLXJlZGVzaWduXG4vLyBcdC5waWxsYXJzLXNlY3Rpb24tYm94ZXMtd3JhcHBlclxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3g6bnRoLWNoaWxkKDQpXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveC1jb250ZW50XG4vLyBcdD4gZGl2OmJlZm9yZSB7XG4vLyBcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9mdXR1cmUtaWNvbi5zdmcnKTtcbi8vIH1cbi8vIC5waWxsYXJzLXNlY3Rpb24tcmVkZXNpZ25cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveDpudGgtY2hpbGQoNClcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YWZ0ZXIge1xuLy8gXHRjb250ZW50OiAnRlVUVVJFJztcbi8vIH1cblxuLy8gLnBpbGxhcnMtc2VjdGlvbi1yZWRlc2lnblxuLy8gXHQucGlsbGFycy1zZWN0aW9uLWJveGVzLXdyYXBwZXJcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94Om50aC1jaGlsZCg1KVxuLy8gXHQucGlsbGFycy1zZWN0aW9uX19ib3gtY29udGVudFxuLy8gXHQ+IGRpdjpiZWZvcmUge1xuLy8gXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteC1hc3NldHMvZnV0dXJlLWljb24uc3ZnJyk7XG4vLyB9XG5cbi8vIC5waWxsYXJzLXNlY3Rpb24tcmVkZXNpZ25cbi8vIFx0LnBpbGxhcnMtc2VjdGlvbi1ib3hlcy13cmFwcGVyXG4vLyBcdC5waWxsYXJzLXNlY3Rpb25fX2JveDpudGgtY2hpbGQoNSlcbi8vIFx0LnBpbGxhcnMtc2VjdGlvbl9fYm94LWNvbnRlbnRcbi8vIFx0PiBkaXY6YWZ0ZXIge1xuLy8gXHRjb250ZW50OiAnUEVPUExFJztcbi8vIH1cbiIsIi5tZW1iZXItc2VjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICNmMGY1ZmY7XG5cdHBhZGRpbmctYmxvY2s6IDEyMHB4O1xuXHQubWVtYmVyLXNlY3Rpb24tY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTVweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8vIG1pbi1oZWlnaHQ6IDQyMHB4O1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiA1NTBweDtcblx0XHRwbGFjZS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Lm1lbWJlci1zZWN0aW9uX192aWRlby13cmFwcGVyIHtcblx0XHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0XHRncmlkLXJvdzogMSAvIC0xO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHZpZGVvIHtcblx0XHRcdFx0Ly8gYXNwZWN0LXJhdGlvOiAxOTIwIC8gMTA4MDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHQvLyBtaW4taGVpZ2h0OiA0MjBweDtcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHQvLyBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0Ly8gICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAyMXB4KTtcblx0XHRcdFx0Ly8gICAvLyBtaW4taGVpZ2h0OiB1bnNldDtcblx0XHRcdFx0Ly8gfVxuXHRcdFx0fVxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0MjQ4ZGVnLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zMykgMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKDM4LCA0NiwgODksIDAuMzMpIDUyLjUlLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMzKSAxMDAlXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHQwZGVnLFxuXHRcdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44NSkgMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKDQ1LCA5OSwgMjI0LCAwLjg1KSAxMDAlXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHQwZGVnLFxuXHRcdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC4zMykgMCUsXG5cdFx0XHRcdFx0XHRyZ2JhKDQ1LCA5OSwgMjI0LCAwLjMzKSAxMDAlXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0YmFja2dyb3VuZC1ibGVuZC1tb2RlOiBub3JtYWwsIG5vcm1hbCwgY29sb3I7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDU1MHB4O1xuXHRcdFx0XHRvcGFjaXR5OiAwLjg4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdC8vICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMjFweCk7XG5cdFx0XHRcdC8vICAgLy8gbWluLWhlaWdodDogdW5zZXQ7XG5cdFx0XHRcdC8vIH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1lbWJlci1zZWN0aW9uX19jb250ZW50LXdyYXBwZXIge1xuXHRcdFx0cGFkZGluZy1pbmxpbmU6IDE1cHg7XG5cdFx0XHRwYWRkaW5nLWJsb2NrOiA4MHB4O1xuXHRcdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRcdGdyaWQtcm93OiAxIC8gLTE7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0LmdyaWQteCB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHQudGl0bGUge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5Jztcblx0XHRcdFx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQ1LCAyNTUsIDAuNSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuc3VidGl0bGUge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTMwJTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQubWVtYmVyLWNvbnRlbnQge1xuXHRcdFx0XHRcdG1heC13aWR0aDogNDgwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW4tYmxvY2s6IDY0cHggNDBweDtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0Z2FwOiAxNHB4O1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDM1LjI1cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDM1LjI1Lzg7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9pY29uLW1hcmtlci5zdmcnKTtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDJweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmMjRmO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDhweCAzMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXHRcdFx0XHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHR9XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZy1ibG9jazogODBweDtcblx0fVxufVxuXG4vLyBNZW1iZXIgUGFnZVxuLndoeS1zZWN0aW9uIHtcblx0cGFkZGluZy1ibG9jazogMTIwcHg7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdC53aHktc2VjdGlvbi13cmFwcGVyLXVwIHtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC50aXRsZSB7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5Jztcblx0XHRcdGZvbnQtc2l6ZTogMzZweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogNThweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjAycHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogOHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kZXNjciB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdG1heC13aWR0aDogODUwcHg7XG5cdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdH1cblx0fVxuXHQuYm94ZXMtd3JhcHBlciB7XG5cdFx0ei1pbmRleDogMTtcblx0XHRtYXJnaW4tdG9wOiA2NHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XG5cdFx0LmJveCB7XG5cdFx0XHQvLyBoZWlnaHQ6IDEwMCU7XG5cdFx0XHRtaW4taGVpZ2h0OiAyNDBweDtcblx0XHRcdHBhZGRpbmc6IDI0cHggMjBweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDUsIDk5LCAyMjQsIDAuNSk7XG5cdFx0XHRiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG5vcm1hbCwgbm9ybWFsLCBjb2xvciwgbm9ybWFsO1xuXHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHQyNDhkZWcsXG5cdFx0XHRcdFx0XHRyZ2JhKDAsIDExOSwgMjU1LCAwLjMpIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSg0MiwgMzgsIDg5LCAwLjMpIDUyLjUlLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMpIDEwMCVcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdDE4MGRlZyxcblx0XHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDApIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44KSA1Ni42NyVcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMmQ2M2UwIDAlLCAjMmQ2M2UwIDEwMCUpLFxuXHRcdFx0XHRcdHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9TdHJlbmd0aGVuJTIwdGhlaXIlMjBwcmVzZW5jZSUyMHdpdGhpbiUyMGElMjBjb21tdW5pdHklMjBvZiUyMGluZmx1ZW5jZS5qcGcnKVxuXHRcdFx0XHRcdFx0bm8tcmVwZWF0IGNlbnRlci9jb3Zlcjtcblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHRcdFx0MjQ4ZGVnLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zKSAwJSxcblx0XHRcdFx0XHRcdHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA1Mi41JSxcblx0XHRcdFx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zKSAxMDAlXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHQxODBkZWcsXG5cdFx0XHRcdFx0XHRyZ2JhKDQ1LCA5OSwgMjI0LCAwKSAwJSxcblx0XHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuOCkgNTYuNjclXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRsaW5lYXItZ3JhZGllbnQoMGRlZywgIzJkNjNlMCAwJSwgIzJkNjNlMCAxMDAlKSxcblx0XHRcdFx0XHR1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvRW5nYWdlJTIwaW4lMjBjcm9zcy1zZWN0b3IlMjBleGNoYW5nZSUyMGF0JTIwdGhlJTIwaGlnaGVzdCUyMGxldmVsLmpwZycpXG5cdFx0XHRcdFx0XHRuby1yZXBlYXQgY2VudGVyL2NvdmVyO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdFx0XHQyNDhkZWcsXG5cdFx0XHRcdFx0XHRyZ2JhKDAsIDExOSwgMjU1LCAwLjMpIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSg0MiwgMzgsIDg5LCAwLjMpIDUyLjUlLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMpIDEwMCVcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdDE4MGRlZyxcblx0XHRcdFx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDApIDAlLFxuXHRcdFx0XHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44KSA1Ni42NyVcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMmQ2M2UwIDAlLCAjMmQ2M2UwIDEwMCUpLFxuXHRcdFx0XHRcdHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9FbmhhbmNlJTIwdGhlaXIlMjBjb3Jwb3JhdGUlMjBwcm9maWxlJTIwdGhyb3VnaCUyMGNvbnNpc3RlbnQlMjBpbnN0aXR1dGlvbmFsJTIwYXNzb2NpYXRpb24uanBnJylcblx0XHRcdFx0XHRcdG5vLXJlcGVhdCBjZW50ZXIvY292ZXI7XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDY0cHg7XG5cdFx0XHRnYXA6IDI0cHg7XG5cdFx0fVxuXHR9XG5cdC53aHktc2VjdGlvbi13cmFwcGVyLWRvd24ge1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0c3ZnIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHR3aWR0aDogNjRweDtcblx0XHRcdGhlaWdodDogNDRweDtcblx0XHRcdGFzcGVjdC1yYXRpbzogNjQgLyA0NDtcblx0XHR9XG5cdFx0Lm51bWJlciB7XG5cdFx0XHRjb2xvcjogIzJkNjNlMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogNTJweDtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbjogNDBweCAwIDE2cHggMDtcblx0XHR9XG5cdFx0LmRlc2NyIHtcblx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMDAlO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IDM2MHB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRwYWRkaW5nLWJsb2NrOiA4MHB4O1xuXHR9XG59XG5cbi5zZWN0aW9uLW1lbWJlci1iZW5lZml0cyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLXRvcDogY2FsYygoMTAwdncgKiAxMDkgLyA0ODApICsgNjRweCk7XG5cdHBhZGRpbmctYm90dG9tOiAxMjBweDtcblx0bWFyZ2luLXRvcDogY2FsYygtMC45ICogKDEwOSAvIDQ4MCkgKiAxMDAlKTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MjQxZGVnLFxuXHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zMykgMCUsXG5cdFx0XHRyZ2JhKDM4LCA0NiwgODksIDAuMzMpIDQ3LjI4JSxcblx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zMykgOTAuMDYlXG5cdFx0KSxcblx0XHRsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDQ1LCA5OSwgMjI0LCAwKSA0Ljc1JSwgIzJkNjNlMCAzOC44NyUpLFxuXHRcdGxpbmVhci1ncmFkaWVudChcblx0XHRcdDBkZWcsXG5cdFx0XHRyZ2JhKDQ1LCA5OSwgMjI0LCAwLjgpIDAlLFxuXHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44KSAxMDAlXG5cdFx0KSxcblx0XHRsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHQxMjhkZWcsXG5cdFx0XHRyZ2JhKDAsIDExMSwgMjU1LCAwLjMpIDcuMTIlLFxuXHRcdFx0cmdiYSg0MiwgMzgsIDg5LCAwLjMpIDQ3JSxcblx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zKSA4My4wOSVcblx0XHQpLFxuXHRcdCMyZDYzZTA7XG5cdGJhY2tncm91bmQtYmxlbmQtbW9kZTogbm9ybWFsLCBub3JtYWwsIGNvbG9yLCBub3JtYWwsIG5vcm1hbCwgbm9ybWFsO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCY6YmVmb3JlIHtcblx0XHRhc3BlY3QtcmF0aW86IDQ4MSAvIDEwOTtcblx0XHR0b3A6IDA7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IDBweDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvd2hpdGUtd2F2ZS1tYXNrLWludmVydGVkLnN2ZycpXG5cdFx0XHQ1MCUgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSBjZW50ZXI7XG5cdH1cblx0LmJlbmVmaXRzLXdyYXBwZXItdXAge1xuXHRcdC5iZW5lZml0c19fdGl0bGUge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LWZhbWlseTogJ1BsYXlmYWlyRGlzcGxheSc7XG5cdFx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU4cHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDhweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0NSwgMjU1LCAwLjUpO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5iZW5lZml0c19fc3VidGl0bGUge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXHQuYmVuZWZpdHMtbGlzdC13cmFwcGVyIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLXRvcDogNjRweDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0J2ZpcnN0IGZvdXJ0aCdcblx0XHRcdCdzZWNvbmQgZm91cnRoJ1xuXHRcdFx0J3RoaXJkIGZvdXJ0aCc7XG5cdFx0Z2FwOiA0MHB4O1xuXHRcdC5iZW5lZml0cy1saXN0X19pdGVtIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xuXHRcdFx0LmJlbmVmaXRzLWxpc3RfX2l0ZW0tdGl0bGUge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdH1cblx0XHRcdC5iZW5lZml0cy1saXN0X19pdGVtLXN1YnRpdGxlIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAxMHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdFx0YXNwZWN0LXJhdGlvOiAzNS4yNSAvIDg7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9pY29uLW1hcmtlci5zdmcnKTtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHRvbCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0bWFyZ2luLWJsb2NrOiAzMnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRnYXA6IDhweDtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDE0IC8gMTA7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvdGljay1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0Z3JpZC1hcmVhOiBmaXJzdDtcblx0XHRcdH1cblx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0Z3JpZC1hcmVhOiBzZWNvbmQ7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdGdyaWQtYXJlYTogdGhpcmQ7XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1jaGlsZCg0KSB7XG5cdFx0XHRcdGdyaWQtYXJlYTogZm91cnRoO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KDg1MHB4IGRvd24pIHtcblx0XHRcdG1hcmdpbi10b3A6IDQwcHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogMjRweDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtYXJlYXM6IHVuc2V0O1xuXHRcdH1cblx0fVxufVxuXG4uZmVlLXNlY3Rpb24ge1xuXHQvLyBzY3JvbGwtcGFkZGluZy10b3A6IDEyMHB4O1xuXHRiYWNrZ3JvdW5kOiAjZjBmNWZmO1xuXHRwYWRkaW5nLWJsb2NrOiAxMjBweDtcblx0LmZlZS10aXRsZSB7XG5cdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0Zm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jztcblx0XHRmb250LXNpemU6IDM2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wMnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHR9XG5cdC5mZWUtd3JhcHBlciB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTJweCAxMnB4IDAgMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjI1KTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdDI0OGRlZyxcblx0XHRcdFx0cmdiYSgwLCAxMTksIDI1NSwgMC4zMykgMCUsXG5cdFx0XHRcdHJnYmEoMzgsIDQ2LCA4OSwgMC4zMykgNTIuMzElLFxuXHRcdFx0XHRyZ2JhKDAsIDAsIDAsIDAuMzMpIDk5LjYzJVxuXHRcdFx0KSxcblx0XHRcdCMyZDYzZTA7XG5cdFx0cGFkZGluZzogODBweCAxMjhweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0LmZlZS1oZWFkZXIge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdC50aXRsZSB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjJweDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdFx0fVxuXHRcdFx0LmRlc2NyIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRncmlkLWFyZWE6IGhlYWRlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0b2wge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Z2FwOiAxNnB4O1xuXHRcdFx0bGkge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0Z2FwOiA4cHg7XG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdGFzcGVjdC1yYXRpbzogMTQgLyAxMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvdGljay1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRncmlkLWFyZWE6IGxpc3Q7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mZWUtYW1vdW50LXdyYXBwZXIge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LmZlZS1hbW91bnQge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiA0MnB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2Y1ZjI0Zjtcblx0XHRcdFx0cGFkZGluZzogOHB4IDMycHg7XG5cdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHRcdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRncmlkLWFyZWE6IGJ0bjtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0cGFkZGluZzogNjRweCAzMnB4O1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtYXJlYXM6XG5cdFx0XHRcdCdoZWFkZXIgYnRuJ1xuXHRcdFx0XHQnbGlzdCBidG4nO1xuXHRcdFx0Z2FwOiAzMnB4O1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Z2FwOiA0MHB4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHQuZmVlLWFtb3VudC13cmFwcGVyIHtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jb250YWN0LXdyYXBwZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCAxMnB4IDEycHg7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3gtc2hhZG93OiA4cHggOHB4IDRweCAwIHJnYmEoNDUsIDk5LCAyMjQsIDAuMDgpO1xuXHRcdHBhZGRpbmc6IDgwcHggMTI4cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdC5kZXRhaWxzIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRwIHtcblx0XHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDQyMHB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb3JtLXdyYXBwZXIge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGZvcm0ge1xuXHRcdFx0XHRmaWVsZHNldCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGdhcDogMTZweDtcblx0XHRcdFx0XHQuZmllbGQge1xuXHRcdFx0XHRcdFx0ZGl2LmlucHV0IHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCA5OSwgMjI0LCAwLjI1KTtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogcmdiYSg1LCA0NywgOTUsIDAuNSk7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5ocy1lcnJvci1tc2dzIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHQuaHMtZXJyb3ItbXNnIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmxlZ2FsLWNvbnNlbnQtY29udGFpbmVyIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ibG9jazogMjRweDtcblx0XHRcdFx0XHRcdGRpdi5pbnB1dCB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRcdFx0LmlucHV0cy1saXN0IHtcblx0XHRcdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0b3A6IDhweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0XHRcdFx0YXNwZWN0LXJhdGlvOiAxO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGFjY2VudC1jb2xvcjogIzJkNjNlMDtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDIycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzMCU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCYuaHMtZm9ybS1yZXF1aXJlZCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0Z2FwOiAxMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogIzJkNjNlMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4IDMycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMjhweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdHBhZGRpbmc6IDY0cHggMzJweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Z2FwOiA0MHB4O1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRwYWRkaW5nLWJsb2NrOiA4MHB4O1xuXHR9XG59XG5cbmh0bWwge1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cbiIsIi5yZWdpc3RyYXRpb24tc2VjdGlvbiB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdDI0OGRlZyxcblx0XHRcdHJnYmEoMCwgMTE5LCAyNTUsIDAuMzMpIDAlLFxuXHRcdFx0cmdiYSgzOCwgNDYsIDg5LCAwLjMzKSA1Mi41JSxcblx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zMykgMTAwJVxuXHRcdCksXG5cdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MGRlZyxcblx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuODUpIDAlLFxuXHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC44NSkgMTAwJVxuXHRcdCksXG5cdFx0bGluZWFyLWdyYWRpZW50KFxuXHRcdFx0MGRlZyxcblx0XHRcdHJnYmEoNDUsIDk5LCAyMjQsIDAuMzMpIDAlLFxuXHRcdFx0cmdiYSg0NSwgOTksIDIyNCwgMC4zMykgMTAwJVxuXHRcdCksXG5cdFx0dXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3JlZ2lzdHJhdGlvbi1iY2tnci1kZWYteGkuanBnJyk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0cGFkZGluZy1ibG9jazogODBweCAxMjBweDtcblx0Jl9fdGl0bGUge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtZmFtaWx5OiAnUGxheWZhaXJEaXNwbGF5Jztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQycHg7XG5cdFx0fVxuXHR9XG5cdC5ib3hlcy13cmFwcGVyIHtcblx0XHRtYXJnaW4tdG9wOiAxMjhweDtcblx0XHQucGFpZC1ib3hlcyB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjZmciAyMHB4IDAuNmZyIDIwcHggMWZyO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAzMHB4IDQwcHggYXV0byA0MHB4IDMwcHg7XG5cdFx0XHQudGlja2V0IHtcblx0XHRcdFx0Ly8gd2lkdGg6IDMzJTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZweDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0Ym94LXNoYWRvdzogOHB4IDhweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRcdHBhZGRpbmc6IDMycHg7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdC8vIGdhcDogNDBweDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdCYubGl2ZSB7XG5cdFx0XHRcdFx0Z3JpZC1jb2x1bW46IDQgLyA2O1xuXHRcdFx0XHRcdGdyaWQtcm93OiAxIC8gNjtcblx0XHRcdFx0XHR6LWluZGV4OiA0O1xuXHRcdFx0XHRcdGdhcDogMTZweDtcblx0XHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteC1hc3NldHMveWVsbG93LWV5ZWJyb3cuc3ZnJyk7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyM3B4O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0bGVmdDogY2FsYyg1MCUgLSA0OHB4KTtcblx0XHRcdFx0XHRcdHRvcDogLTQ1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdBdmFpbGFibGUgZnJvbSAwMS8wNC8yNSc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRib3R0b206IC0zMHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmNWYyNGY7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzMCU7XG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC40OHB4O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRcdFx0XHRcdGdhcDogNDBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0JjpmaXJzdC1jaGlsZDpub3QoLmxpdmUpIHtcblx0XHRcdFx0XHRncmlkLWNvbHVtbjogMS8zO1xuXHRcdFx0XHRcdGdyaWQtcm93OiAzLzQ7XG5cdFx0XHRcdFx0Ly8gZ2FwOiAzN3B4O1xuXHRcdFx0XHRcdC8vIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVYKC02NHB4KTtcblx0XHRcdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRnYXA6IDhweDtcblx0XHRcdFx0XHQudGlja2V0LXR5cGUge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudGlja2V0LXByaWNlIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnRpY2tldC1jb250ZW50IHtcblx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ibG9jazogMTJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnRpY2tldC1leHRyYSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDdweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI2YwZjVmZjtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdBdmFpbGFibGUgdW50aWwgMTUvMDIvMjUnO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0Ym90dG9tOiAtMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZjBmNWZmO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNDhweDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC42O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bnRoLWNoaWxkKDIpOm5vdCgubGl2ZSkge1xuXHRcdFx0XHRcdGdyaWQtY29sdW1uOiAyIC8gNTtcblx0XHRcdFx0XHRncmlkLXJvdzogMiAvIDU7XG5cdFx0XHRcdFx0Ly8gZ2FwOiAzN3B4O1xuXHRcdFx0XHRcdC8vIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVYKC02NHB4KTtcblx0XHRcdFx0XHR6LWluZGV4OiAzO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHQudGlja2V0LXR5cGUge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudGlja2V0LXByaWNlIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnRpY2tldC1jb250ZW50IHtcblx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYmxvY2s6IDE3cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC50aWNrZXQtZXh0cmEge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiA5cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNmMGY1ZmY7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnQXZhaWxhYmxlIHVudGlsIDMxLzAzLzI1Jztcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdGJvdHRvbTogLTMwcHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2YwZjVmZjtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTMwJTtcblx0XHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjQ4cHg7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQmLXR5cGUge1xuXHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTMwJTtcblx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4ycHg7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji1wcmljZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICMyOTVhYzc7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNDJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLWNvbnRlbnQge1xuXHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHRnYXA6IDhweDtcblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9jaGVjay1ibHVlLnN2ZycpO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDEvMTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGl2IHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9wYWlkLXRpY2tldC1iY2tnci5zdmcnKTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE5cHggNjdweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC42M3B4O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQudGlja2V0LWV4dHJhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOC44cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiA4cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5kaXZpZGVyIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHdpZHRoOiAxcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG5cdFx0fVxuXHRcdC5mcmVlLWJveGVzIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdC50aWNrZXQge1xuXHRcdFx0XHRtYXJnaW4tYmxvY2s6IGF1dG87XG5cdFx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDE2cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHRcdFx0XHRcdDExOWRlZyxcblx0XHRcdFx0XHRcdHJnYmEoMCwgMTExLCAyNTUsIDAuMykgOC4xMSUsXG5cdFx0XHRcdFx0XHRyZ2JhKDQyLCAzOCwgODksIDAuMykgNTMuNTElLFxuXHRcdFx0XHRcdFx0cmdiYSgwLCAwLCAwLCAwLjMpIDk0LjU4JVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0IzI5NWFjNztcblx0XHRcdFx0Ym94LXNoYWRvdzogOHB4IDhweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRcdHBhZGRpbmc6IDMycHggMjRweDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0Z2FwOiA0MHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdCYtdHlwZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjJweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLXByaWNlIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYtY29udGVudCB7XG5cdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0Z2FwOiA4cHg7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEzMCU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvY2hlY2steWVsbG93LnN2ZycpO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDEvMTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1uYTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXgtYXNzZXRzL2ZyZWUtdGlja2V0LWJja2dyLnN2ZycpO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDIxcHggNDRweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0bWFyZ2luLWlubGluZTogYXV0bztcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMXB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNjNweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy93aGl0ZS1leWVicm93LnN2ZycpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyM3B4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtIDQ4cHgpO1xuXHRcdFx0XHRcdHRvcDogLTQ1cHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXHRcdFx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRnYXA6IDE3NnB4O1xuXHRcdH1cblx0fVxuXHQmLnJlZGVzaWduIHtcblx0XHRwYWRkaW5nLWJsb2NrOiAxMjBweCAxNjBweDtcblx0XHQucmVnaXN0cmF0aW9uLXNlY3Rpb25fX3RpdGxlIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogOHB4O1xuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMXB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwgMjQ1LCAyNTUsIDAuNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5yZWdpc3RyYXRpb24tc2VjdGlvbl9fc3VidGl0bGUge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdC5yZWdpc3RyYXRpb24tc2VjdGlvbl9fbGlzdCB7XG5cdFx0XHRyb3ctZ2FwOiAyNHB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0bWFyZ2luLWJsb2NrOiA2NHB4IDQwcHg7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHQucmVnaXN0cmF0aW9uLXNlY3Rpb25fX2l0ZW0ge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0Z2FwOiA4cHg7XG5cdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0d2lkdGg6IDI0cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LW5hMS5uZXQvaHViZnMvOTI5Mzk1My9jaGVjay15ZWxsb3cuc3ZnJyk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdG1hcmdpbi1ibG9jazogMzJweCA0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVnaXN0cmF0aW9uLXNlY3Rpb25fX2J0bi13cmFwcGVyIHtcblx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0Z2FwOiAxMnB4O1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDQxLjY2N3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjVmMjRmO1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggMzJweDtcblx0XHRcdFx0Y29sb3I6ICMwNTJmNWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHAge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50aWNrZXRzLW92ZXJ2aWV3IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE1cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Ym94LXNoYWRvdzogOHB4IDhweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdHBhZGRpbmc6IDMycHggNDBweCA2NHB4IDQwcHg7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmctYmxvY2s6IDI0cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTM0LCAxMzQsIDEzNCwgMC41KTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjMzO1xuXHRcdFx0XHRcdC5wcmljZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzg3ODc4Nztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnRpdGxlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzIzMjMyO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMThweDtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5kYXRlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjODc4Nzg3O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxMzAlO1xuXHRcdFx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNDJweDtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDQ1LCA5OSwgMjI0LCAwLjUpO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdC5wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjMmQ2M2UwO1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDQwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQudGl0bGUge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC4yMnB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmRhdGUge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzJkNjNlMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC40OHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNjRweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nLWJsb2NrOiA4MHB4IDEyMHB4O1xuXHRcdH1cblx0fVxufVxuIiwiZm9vdGVyIHtcblx0Lm1haW4tZm9vdGVyIHtcblx0XHRwYWRkaW5nLWJsb2NrOiAxMjBweDtcblx0XHQubWFpbi1mb290ZXItY29udGVudHMge1xuXHRcdFx0LmxlZnQtd3JhcHBlciB7XG5cdFx0XHRcdC5sb2dvLWxpbmsge1xuXHRcdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdFx0XHRoZWlnaHQ6IGZpdC1jb250ZW50O1xuXHRcdFx0XHRcdC5mb290ZXItbG9nbyB7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE2MHB4O1xuXHRcdFx0XHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmJhY2stdG8tbWFpbi1zaXRlLWxpbmstYmx1ZSB7XG5cdFx0XHRcdFx0Y29sb3I6ICMyZDYzZTA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE0LjE2N3B4O1xuXHRcdFx0XHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtbmExLm5ldC9odWJmcy85MjkzOTUzL2RlZi14LWFzc2V0cy9ibHVlLWFycm93LnN2ZycpO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNDhweDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucmlnaHQtd3JhcHBlciB7XG5cdFx0XHRcdGg2IHtcblx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm1haW4tZm9vdGVyLW5hdiB7XG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIG9wYWNpdHk6IDAuNztcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMmQ2M2UwO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuaW5mby1kZXRhaWxzIHtcblx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0c3BhbiBhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDUyZjVmO1xuXHRcdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmNvbnRhY3QtZGV0YWlscyB7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDY0cHg7XG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzA1MmY1Zjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTUwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGdhcDogOHB4O1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0Ly8gb3BhY2l0eTogMC43O1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzJkNjNlMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHRcdFx0Ly8gICB3aWR0aDogMTRweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYudGVsOjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRhc3BlY3QtcmF0aW86IDEgLyAxO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vOTI5Mzk1My5mczEuaHVic3BvdHVzZXJjb250ZW50LWV1MS5uZXQvaHViZnMvOTI5Mzk1My9kZWYteGkvdGVsLWljb24uc3ZnJyk7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYuZW1haWw6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdGFzcGVjdC1yYXRpbzogMTMgLyAxMDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL2VtYWlsLWljb24uc3ZnJyk7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMTRweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuZm9vdGVyLXNvY2lhbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0Z2FwOiAxMnB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRcdFx0bGkgYSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyMnB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Ji5saW5rZWRpbiB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9saW5rZWRpbi1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5pbnN0YSB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9pbnN0YS1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji5mYWNlYm9vayB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cHM6Ly85MjkzOTUzLmZzMS5odWJzcG90dXNlcmNvbnRlbnQtZXUxLm5ldC9odWJmcy85MjkzOTUzL2RlZi14aS9mYWNlYm9vay1pY29uLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Ji55b3V0dWJlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3lvdXR1YmUtaWNvbi5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCYudGlrdG9rIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDI2cHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMjZweDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwczovLzkyOTM5NTMuZnMxLmh1YnNwb3R1c2VyY29udGVudC1ldTEubmV0L2h1YmZzLzkyOTM5NTMvZGVmLXhpL3Rpay10b2staWNvbi5zdmcnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdGdhcDogMzJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRwYWRkaW5nLWJsb2NrOiA4MHB4O1xuXHRcdH1cblx0fVxuXHQubWluaS1mb290ZXIge1xuXHRcdHBhZGRpbmctYmxvY2s6IDI0cHg7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHQxMTlkZWcsXG5cdFx0XHRcdHJnYmEoMCwgMTExLCAyNTUsIDAuMykgOC4xMSUsXG5cdFx0XHRcdHJnYmEoNDIsIDM4LCA4OSwgMC4zKSA1My41MSUsXG5cdFx0XHRcdHJnYmEoMCwgMCwgMCwgMC4zKSA5NC41OCVcblx0XHRcdCksXG5cdFx0XHQjMmQ2M2UwO1xuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE1MCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIuc3RpY2t5LWxldHRlcnMtLWNvbnRhaW5lciB7XG5cdC8vIG1hcmdpbi1ib3R0b206IDU1cHg7XG5cdHBhZGRpbmctYmxvY2s6IDJyZW07XG5cdC5zdGlja3ktbGV0dGVycyB7XG5cdFx0dHJhbnNpdGlvbjogMC4yNXMgYmFja2dyb3VuZC1jb2xvciBlYXNlO1xuXHRcdCYuaXMtc3R1Y2sge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMzJweCAwIHJnYmEoJGNvbG9yOiAjMGEwYTBhLCAkYWxwaGE6IDAuNCk7XG5cdFx0fVxuXHR9XG59XG4ubGV0dGVyVGFicyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2x1bW4tZ2FwOiAxMHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDE4cHggMHB4O1xuXHRAaW5jbHVkZSBicmVha3BvaW50KDEzNjBweCBkb3duKSB7XG5cdFx0b3ZlcmZsb3cteDogc2Nyb2xsO1xuXHRcdC8vIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRwYWRkaW5nLWJsb2NrOiAxcmVtO1xuXHR9XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC50YWJzLXRpdGxlIHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0YmFja2dyb3VuZDogI2YwZjVmZjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjMmQ2M2UwO1xuXHRcdGhlaWdodDogMzBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YXNwZWN0LXJhdGlvOiAxLzE7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGhlaWdodDogNTBweDtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRjb2xvcjogIzJkNjNlMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0cGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG5cdFx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHRcdH1cblx0XHQmLmlzLWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMmQ2M2UwO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3BlYWtlcnMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC50YWJzLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHQudGFicy1wYW5lbCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0XHQudGFiLWxldHRlci0tY29udGFpbmVyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0fVxuXHRcdC5tb2RlcmF0b3JzIHtcblx0XHRcdG1hcmdpbi1ibG9jazogM3JlbSAwO1xuXHRcdH1cblx0fVxufVxuXG4uanMtc2VhcmNoZWRTcGVha2Vycyxcbi5qcy1wYWdpbmF0ZWRTcGVha2VycyB7XG5cdG9wYWNpdHk6IDE7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjI1cyBlYXNlO1xuXHQmLmhpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdH1cbn1cblxuLmFsbFNwZWFrZXJzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvcGFjaXR5OiAxO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNTVzIGVhc2U7XG5cdCYuaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNTVzIGVhc2UgMC41NXM7XG5cdH1cbn1cblxuLnNlYXJjaCB7XG5cdCYuc3BlYWtlcnMge1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwNTJmNWY7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjJweCk7XG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cy12aXNpYmxlLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHR9XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYjtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgaGVpZ2h0PSc0OCcgd2lkdGg9JzQ4JyUzRSUzQ3BhdGggZD0nTTM5LjggNDEuOTUgMjYuNjUgMjguOHEtMS41IDEuMy0zLjUgMi4wMjUtMiAuNzI1LTQuMjUuNzI1LTUuNCAwLTkuMTUtMy43NVQ2IDE4Ljc1cTAtNS4zIDMuNzUtOS4wNSAzLjc1LTMuNzUgOS4xLTMuNzUgNS4zIDAgOS4wMjUgMy43NSAzLjcyNSAzLjc1IDMuNzI1IDkuMDUgMCAyLjE1LS43IDQuMTUtLjcgMi0yLjEgMy43NUw0MiAzOS43NVptLTIwLjk1LTEzLjRxNC4wNSAwIDYuOS0yLjg3NVEyOC42IDIyLjggMjguNiAxOC43NXQtMi44NS02LjkyNVEyMi45IDguOTUgMTguODUgOC45NXEtNC4xIDAtNi45NzUgMi44NzVUOSAxOC43NXEwIDQuMDUgMi44NzUgNi45MjV0Ni45NzUgMi44NzVaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDVweCkgY2VudGVyO1xuXHRcdHBhZGRpbmc6IDAuNXJlbSAycmVtIDAuNXJlbSAwLjVyZW07XG5cdFx0YmFja2dyb3VuZC1zaXplOiAzMHB4O1xuXHR9XG59XG5cbi5zcGVha2Vycy1oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogMTZweDtcbn1cblxuLmludHJvLWhlYWRpbmcge1xuXHRjb2xvcjogIzA1MmY1Zjtcblx0Zm9udC1zaXplOiAzNnB4O1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAxMjAlO1xuXHRtYXJnaW46IDA7XG59XG4iLCIucGVyc29uLWNhcmRzIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdGdhcDogMjRweDtcblx0bWFyZ2luLXRvcDogMjRweDtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuXHR9XG5cdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcblx0LnBlcnNvbi1jYXJkIHtcblx0XHQvLyBvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBlYXNlO1xuXHRcdC5wZXJzb24taW1hZ2UtLXdyYXBwZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTJweCk7XG5cdFx0XHRhc3BlY3QtcmF0aW86IDE7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzJkNjFlMDtcblx0XHRcdFx0ei1pbmRleDogMTtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0fVxuXHRcdFx0LnBlcnNvbi1pbWFnZSB7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiAxcyBlYXNlO1xuXHRcdFx0XHRmaWx0ZXI6IGdyYXlzY2FsZSg1MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucGVyc29uLW5hbWUge1xuXHRcdFx0Y29sb3I6ICMyZDYzZTA7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNnB4KTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdC5wZXJzb24tY29tcGFueS1jb3VudHJ5IHtcblx0XHRcdGNvbG9yOiAjNGE0YTRhO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEyMCU7XG5cdFx0fVxuXHRcdC5wZXJzb24tdGl0bGUge1xuXHRcdFx0Y29sb3I6ICM0YTRhNGE7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRsaW5lLWhlaWdodDogMTIwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDZweCk7XG5cdFx0fVxuXHRcdHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC44cyBlYXNlLCBtYXJnaW4tYm90dG9tIDAuOHMgZWFzZTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdG1hcmdpbi10b3A6IC01cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHQucGVyc29uLWltYWdlLS13cmFwcGVyIHtcblx0XHRcdFx0LnBlcnNvbi1pbWFnZSB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQucGVyc29uLWltYWdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuIiwiLnBhcnRuZXItc2VjdGlvbi0tdGl0bGUge1xuXHRwYWRkaW5nLWJsb2NrOiA0MHB4O1xuXHRjb2xvcjogIzJlM2E0Njtcblx0Zm9udC1zaXplOiAyMnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRsaW5lLWhlaWdodDogMTUwJTtcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdHRleHQtYWxpZ246IHN0YXJ0O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDhweDtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzI5NWFjNztcblx0fVxufVxuLnBhcnRuZXIge1xuXHRwYWRkaW5nLWlubGluZTogMTVweDtcblx0LnBhcnRuZXItY2FyZHMge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0Z2FwOiAyNHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG5cdFx0fVxuXHRcdEBleHRlbmQgLmFsaWduLWNlbnRlcjtcblx0XHQucGFydG5lci1jYXJkIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHQucGFydG5lci1pbWFnZS0td3JhcHBlciB7XG5cdFx0XHRcdGFzcGVjdC1yYXRpbzogMTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDUsIDQ3LCA5NSwgMC4yNSk7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDRweCA2cHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA5KTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ2MWUwO1xuXHRcdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiAwLjI1cyBlYXNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5wYXJ0bmVyLWltYWdlIHtcblx0XHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcblx0XHRcdFx0LnBhcnRuZXItaW1hZ2UtLXdyYXBwZXIge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC4yNTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5jZW50ZXJlZCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LnBhcnRuZXItY2FyZCB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKCgoMSAvIDYpICogMTAwJSkgLSAyMHB4KTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdHBhZGRpbmctaW5saW5lOiAxMHB4O1xuXHR9XG59XG4iLCIuYmFjay10by10b3Age1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGJvdHRvbTogNDBweDtcblx0cmlnaHQ6IDIwcHg7XG5cdHdpZHRoOiA2NXB4O1xuXHRoZWlnaHQ6IDY1cHg7XG5cdGJhY2tncm91bmQ6ICNmNWYyNGY7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRvcGFjaXR5OiAwO1xuXHR6LWluZGV4OiA5OTk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcblx0c3ZnIHtcblx0XHRmaWxsOiAkd2hpdGU7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuXHRcdHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC4yNXMgZWFzZTtcblx0fVxuXHQmOmhvdmVyIHtcblx0XHRzdmcge1xuXHRcdFx0bWFyZ2luLXRvcDogLTE1cHg7XG5cdFx0fVxuXHR9XG59XG4iLCJmb3JtIHtcbiAgICAuaW5wdXRzLWxpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5ocy1mb3JtLWJvb2xlYW5jaGVja2JveC1kaXNwbGF5PnNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzA1MmY1ZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDEuNjY3cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgICAgICBwYWRkaW5nOiA4cHggMzJweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlO1xuICAgICAgICB3aWR0aDogLXdlYmtpdC1maXQtY29udGVudDtcbiAgICAgICAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufSJdfQ== */