@charset "UTF-8";
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?phc3md");
  src: url("../fonts/icomoon.eot?phc3md#iefix") format("embedded-opentype"), url("../fonts/icomoon.woff2?phc3md") format("woff2"), url("../fonts/icomoon.ttf?phc3md") format("truetype"), url("../fonts/icomoon.woff?phc3md") format("woff"), url("../fonts/icomoon.svg?phc3md#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

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

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

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

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

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

/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@media print, screen and (min-width: 40em) {
  .reveal.large, .reveal.small, .reveal.tiny, .reveal {
    right: auto;
    left: auto;
    margin: 0 auto;
  }
}
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

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

a {
  background-color: transparent;
}

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

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

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

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

html {
  box-sizing: border-box;
  font-size: 0.8125rem;
}

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "noto-sans", sans-serif;
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

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

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

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

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

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

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

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

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

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

::placeholder {
  color: #cacaca;
}

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

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

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

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

label {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000;
}
label.middle {
  margin: 0 0 1.2307692308rem;
  line-height: 1.6;
  padding: 0.6923076923rem 0;
}

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

.input-group {
  display: flex;
  width: 100%;
  margin-bottom: 1.2307692308rem;
  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-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label, .input-group-button, .input-group-field, .input-group-label {
  margin: 0;
  white-space: nowrap;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex: 0 0 auto;
  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;
  flex: 1 1 0px;
  min-width: 0;
}

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

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

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

.fieldset {
  margin: 1.3846153846rem 0;
  padding: 1.5384615385rem;
  border: 1px solid #cacaca;
}
.fieldset legend {
  margin: 0;
  margin-left: -0.2307692308rem;
  padding: 0 0.2307692308rem;
}

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

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

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

.form-error {
  display: none;
  margin-top: -0.6153846154rem;
  margin-bottom: 1.2307692308rem;
  font-size: 0.9230769231rem;
  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: 1.9230769231rem;
  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: "noto-serif", serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
}
h1 small, .h1 small,
h2 small, .h2 small,
h3 small, .h3 small,
h4 small, .h4 small,
h5 small, .h5 small,
h6 small, .h6 small {
  line-height: 0;
  color: inherit;
}

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

h2, .h2 {
  font-size: 1.8461538462rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5384615385rem;
}

h3, .h3 {
  font-size: 1.5384615385rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5384615385rem;
}

h4, .h4 {
  font-size: 1.3846153846rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5384615385rem;
}

h5, .h5 {
  font-size: 1.3076923077rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5384615385rem;
}

h6, .h6 {
  font-size: 1.2307692308rem;
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 1.5384615385rem;
}

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.0769230769rem;
  }
  h2, .h2 {
    font-size: 2.1538461538rem;
  }
  h3, .h3 {
    font-size: 1.5384615385rem;
  }
  h4, .h4 {
    font-size: 1.6923076923rem;
  }
  h5, .h5 {
    font-size: 1.5384615385rem;
  }
  h6, .h6 {
    font-size: 1.2307692308rem;
  }
}
@media print, screen and (min-width: 64em) {
  h1, .h1 {
    font-size: 3.2307692308rem;
  }
  h2, .h2 {
    font-size: 2.3076923077rem;
  }
  h3, .h3 {
    font-size: 1.6923076923rem;
  }
  h4, .h4 {
    font-size: 1.8461538462rem;
  }
  h5, .h5 {
    font-size: 1.5384615385rem;
  }
  h6, .h6 {
    font-size: 1.3846153846rem;
  }
}
a {
  line-height: inherit;
  color: #0A6099;
  text-decoration: underline;
  cursor: pointer;
}
a:hover, a:focus {
  color: #095384;
}
a img {
  border: 0;
}

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

ul,
ol,
dl {
  margin-bottom: 1.9230769231rem;
  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, ul ol, ol ul, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
}

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

blockquote {
  margin: 0 0 1.9230769231rem;
  padding: 0.6923076923rem 1.5384615385rem 0 1.4615384615rem;
  border-left: 1px solid #cacaca;
}
blockquote, blockquote p {
  line-height: 1.6;
  color: #8a8a8a;
}

abbr, abbr[title] {
  border-bottom: none;
  cursor: help;
  text-decoration: none;
}

figure {
  margin: 0;
}

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

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

.lead {
  font-size: 1.015625rem;
  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: 1rem;
}
.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: #000000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.1538461538rem 0.3846153846rem 0.0769230769rem;
}

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left;
  }
  .medium-text-right {
    text-align: right;
  }
  .medium-text-center {
    text-align: center;
  }
  .medium-text-justify {
    text-align: justify;
  }
}
@media print, screen and (min-width: 64em) {
  .large-text-left {
    text-align: left;
  }
  .large-text-right {
    text-align: right;
  }
  .large-text-center {
    text-align: center;
  }
  .large-text-justify {
    text-align: justify;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left;
  }
  .xlarge-text-right {
    text-align: right;
  }
  .xlarge-text-center {
    text-align: center;
  }
  .xlarge-text-justify {
    text-align: justify;
  }
}
.show-for-print {
  display: none !important;
}

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    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.9615384615rem;
  padding-left: 0.9615384615rem;
  max-width: 92.3076923077rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container {
    padding-right: 1.3461538462rem;
    padding-left: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container {
    padding-right: 1.5384615385rem;
    padding-left: 1.5384615385rem;
  }
}
.grid-container.fluid {
  padding-right: 0.9615384615rem;
  padding-left: 0.9615384615rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 40em) {
  .grid-container.fluid {
    padding-right: 1.3461538462rem;
    padding-left: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-container.fluid {
    padding-right: 1.5384615385rem;
    padding-left: 1.5384615385rem;
  }
}
.grid-container.full {
  padding-right: 0;
  padding-left: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

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

.cell {
  flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
}
.cell.auto {
  flex: 1 1 0;
}
.cell.shrink {
  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 {
  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 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 75em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    flex-basis: auto;
  }
}
.grid-x > .small-12, .grid-x > .small-11, .grid-x > .small-10, .grid-x > .small-9, .grid-x > .small-8, .grid-x > .small-7, .grid-x > .small-6, .grid-x > .small-5, .grid-x > .small-4, .grid-x > .small-3, .grid-x > .small-2, .grid-x > .small-1 {
  flex: 0 0 auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .medium-12, .grid-x > .medium-11, .grid-x > .medium-10, .grid-x > .medium-9, .grid-x > .medium-8, .grid-x > .medium-7, .grid-x > .medium-6, .grid-x > .medium-5, .grid-x > .medium-4, .grid-x > .medium-3, .grid-x > .medium-2, .grid-x > .medium-1, .grid-x > .medium-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .medium-shrink {
    width: auto;
  }
  .grid-x > .medium-1 {
    width: 8.3333333333%;
  }
  .grid-x > .medium-2 {
    width: 16.6666666667%;
  }
  .grid-x > .medium-3 {
    width: 25%;
  }
  .grid-x > .medium-4 {
    width: 33.3333333333%;
  }
  .grid-x > .medium-5 {
    width: 41.6666666667%;
  }
  .grid-x > .medium-6 {
    width: 50%;
  }
  .grid-x > .medium-7 {
    width: 58.3333333333%;
  }
  .grid-x > .medium-8 {
    width: 66.6666666667%;
  }
  .grid-x > .medium-9 {
    width: 75%;
  }
  .grid-x > .medium-10 {
    width: 83.3333333333%;
  }
  .grid-x > .medium-11 {
    width: 91.6666666667%;
  }
  .grid-x > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .large-12, .grid-x > .large-11, .grid-x > .large-10, .grid-x > .large-9, .grid-x > .large-8, .grid-x > .large-7, .grid-x > .large-6, .grid-x > .large-5, .grid-x > .large-4, .grid-x > .large-3, .grid-x > .large-2, .grid-x > .large-1, .grid-x > .large-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .large-shrink {
    width: auto;
  }
  .grid-x > .large-1 {
    width: 8.3333333333%;
  }
  .grid-x > .large-2 {
    width: 16.6666666667%;
  }
  .grid-x > .large-3 {
    width: 25%;
  }
  .grid-x > .large-4 {
    width: 33.3333333333%;
  }
  .grid-x > .large-5 {
    width: 41.6666666667%;
  }
  .grid-x > .large-6 {
    width: 50%;
  }
  .grid-x > .large-7 {
    width: 58.3333333333%;
  }
  .grid-x > .large-8 {
    width: 66.6666666667%;
  }
  .grid-x > .large-9 {
    width: 75%;
  }
  .grid-x > .large-10 {
    width: 83.3333333333%;
  }
  .grid-x > .large-11 {
    width: 91.6666666667%;
  }
  .grid-x > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .grid-x > .xlarge-auto {
    flex: 1 1 0;
    width: auto;
  }
  .grid-x > .xlarge-12, .grid-x > .xlarge-11, .grid-x > .xlarge-10, .grid-x > .xlarge-9, .grid-x > .xlarge-8, .grid-x > .xlarge-7, .grid-x > .xlarge-6, .grid-x > .xlarge-5, .grid-x > .xlarge-4, .grid-x > .xlarge-3, .grid-x > .xlarge-2, .grid-x > .xlarge-1, .grid-x > .xlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-x > .xlarge-shrink {
    width: auto;
  }
  .grid-x > .xlarge-1 {
    width: 8.3333333333%;
  }
  .grid-x > .xlarge-2 {
    width: 16.6666666667%;
  }
  .grid-x > .xlarge-3 {
    width: 25%;
  }
  .grid-x > .xlarge-4 {
    width: 33.3333333333%;
  }
  .grid-x > .xlarge-5 {
    width: 41.6666666667%;
  }
  .grid-x > .xlarge-6 {
    width: 50%;
  }
  .grid-x > .xlarge-7 {
    width: 58.3333333333%;
  }
  .grid-x > .xlarge-8 {
    width: 66.6666666667%;
  }
  .grid-x > .xlarge-9 {
    width: 75%;
  }
  .grid-x > .xlarge-10 {
    width: 83.3333333333%;
  }
  .grid-x > .xlarge-11 {
    width: 91.6666666667%;
  }
  .grid-x > .xlarge-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.9615384615rem;
  margin-right: -0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x {
    margin-left: -1.3461538462rem;
    margin-right: -1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x {
    margin-left: -1.5384615385rem;
    margin-right: -1.5384615385rem;
  }
}
.grid-margin-x > .cell {
  width: calc(100% - 1.9230769231rem);
  margin-left: 0.9615384615rem;
  margin-right: 0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-x > .cell {
    width: calc(100% - 2.6923076923rem);
    margin-left: 1.3461538462rem;
    margin-right: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .cell {
    width: calc(100% - 3.0769230769rem);
    margin-left: 1.5384615385rem;
    margin-right: 1.5384615385rem;
  }
}
.grid-margin-x > .auto {
  width: auto;
}
.grid-margin-x > .shrink {
  width: auto;
}
.grid-margin-x > .small-1 {
  width: calc(8.3333333333% - 1.9230769231rem);
}
.grid-margin-x > .small-2 {
  width: calc(16.6666666667% - 1.9230769231rem);
}
.grid-margin-x > .small-3 {
  width: calc(25% - 1.9230769231rem);
}
.grid-margin-x > .small-4 {
  width: calc(33.3333333333% - 1.9230769231rem);
}
.grid-margin-x > .small-5 {
  width: calc(41.6666666667% - 1.9230769231rem);
}
.grid-margin-x > .small-6 {
  width: calc(50% - 1.9230769231rem);
}
.grid-margin-x > .small-7 {
  width: calc(58.3333333333% - 1.9230769231rem);
}
.grid-margin-x > .small-8 {
  width: calc(66.6666666667% - 1.9230769231rem);
}
.grid-margin-x > .small-9 {
  width: calc(75% - 1.9230769231rem);
}
.grid-margin-x > .small-10 {
  width: calc(83.3333333333% - 1.9230769231rem);
}
.grid-margin-x > .small-11 {
  width: calc(91.6666666667% - 1.9230769231rem);
}
.grid-margin-x > .small-12 {
  width: calc(100% - 1.9230769231rem);
}
@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.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 2.6923076923rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 2.6923076923rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 2.6923076923rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 2.6923076923rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x > .auto {
    width: auto;
  }
  .grid-margin-x > .shrink {
    width: auto;
  }
  .grid-margin-x > .small-1 {
    width: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .small-2 {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x > .small-4 {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .small-5 {
    width: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x > .small-7 {
    width: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .small-8 {
    width: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3.0769230769rem);
  }
  .grid-margin-x > .small-10 {
    width: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .small-11 {
    width: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-auto {
    width: auto;
  }
  .grid-margin-x > .medium-shrink {
    width: auto;
  }
  .grid-margin-x > .medium-1 {
    width: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-2 {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-3 {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-4 {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-5 {
    width: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-6 {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-7 {
    width: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-8 {
    width: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-9 {
    width: calc(75% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-10 {
    width: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-11 {
    width: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .medium-12 {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-auto {
    width: auto;
  }
  .grid-margin-x > .med-lg-shrink {
    width: auto;
  }
  .grid-margin-x > .med-lg-1 {
    width: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-2 {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-3 {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-4 {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-5 {
    width: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-6 {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-7 {
    width: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-8 {
    width: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-9 {
    width: calc(75% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-10 {
    width: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-11 {
    width: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .med-lg-12 {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x > .large-auto {
    width: auto;
  }
  .grid-margin-x > .large-shrink {
    width: auto;
  }
  .grid-margin-x > .large-1 {
    width: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .large-2 {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .large-3 {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x > .large-4 {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .large-5 {
    width: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .large-6 {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x > .large-7 {
    width: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .large-8 {
    width: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .large-9 {
    width: calc(75% - 3.0769230769rem);
  }
  .grid-margin-x > .large-10 {
    width: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .large-11 {
    width: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .large-12 {
    width: calc(100% - 3.0769230769rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-x > .xlarge-auto {
    width: auto;
  }
  .grid-margin-x > .xlarge-shrink {
    width: auto;
  }
  .grid-margin-x > .xlarge-1 {
    width: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-2 {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-3 {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-4 {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-5 {
    width: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-6 {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-7 {
    width: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-8 {
    width: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-9 {
    width: calc(75% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-10 {
    width: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-11 {
    width: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x > .xlarge-12 {
    width: calc(100% - 3.0769230769rem);
  }
}

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

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

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

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

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

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

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

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

.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.3333333333%;
  }
  .medium-up-4 > .cell {
    width: 25%;
  }
  .medium-up-5 > .cell {
    width: 20%;
  }
  .medium-up-6 > .cell {
    width: 16.6666666667%;
  }
  .medium-up-7 > .cell {
    width: 14.2857142857%;
  }
  .medium-up-8 > .cell {
    width: 12.5%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%;
  }
  .large-up-2 > .cell {
    width: 50%;
  }
  .large-up-3 > .cell {
    width: 33.3333333333%;
  }
  .large-up-4 > .cell {
    width: 25%;
  }
  .large-up-5 > .cell {
    width: 20%;
  }
  .large-up-6 > .cell {
    width: 16.6666666667%;
  }
  .large-up-7 > .cell {
    width: 14.2857142857%;
  }
  .large-up-8 > .cell {
    width: 12.5%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-up-1 > .cell {
    width: 100%;
  }
  .xlarge-up-2 > .cell {
    width: 50%;
  }
  .xlarge-up-3 > .cell {
    width: 33.3333333333%;
  }
  .xlarge-up-4 > .cell {
    width: 25%;
  }
  .xlarge-up-5 > .cell {
    width: 20%;
  }
  .xlarge-up-6 > .cell {
    width: 16.6666666667%;
  }
  .xlarge-up-7 > .cell {
    width: 14.2857142857%;
  }
  .xlarge-up-8 > .cell {
    width: 12.5%;
  }
}
.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.9230769231rem);
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 2.6923076923rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 2.6923076923rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 2.6923076923rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.2857142857% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.2857142857% - 3.0769230769rem);
  }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 3.0769230769rem);
  }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.2857142857% - 3.0769230769rem);
  }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3.0769230769rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.2857142857% - 3.0769230769rem);
  }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 3.0769230769rem);
  }
}
.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.3333333333%;
}
.small-margin-collapse > .small-2 {
  width: 16.6666666667%;
}
.small-margin-collapse > .small-3 {
  width: 25%;
}
.small-margin-collapse > .small-4 {
  width: 33.3333333333%;
}
.small-margin-collapse > .small-5 {
  width: 41.6666666667%;
}
.small-margin-collapse > .small-6 {
  width: 50%;
}
.small-margin-collapse > .small-7 {
  width: 58.3333333333%;
}
.small-margin-collapse > .small-8 {
  width: 66.6666666667%;
}
.small-margin-collapse > .small-9 {
  width: 75%;
}
.small-margin-collapse > .small-10 {
  width: 83.3333333333%;
}
.small-margin-collapse > .small-11 {
  width: 91.6666666667%;
}
.small-margin-collapse > .small-12 {
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .small-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .medium-3 {
    width: 25%;
  }
  .small-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .medium-6 {
    width: 50%;
  }
  .small-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .medium-9 {
    width: 75%;
  }
  .small-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .small-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .large-3 {
    width: 25%;
  }
  .small-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .large-6 {
    width: 50%;
  }
  .small-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .large-9 {
    width: 75%;
  }
  .small-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .small-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .small-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .small-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .small-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .small-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .small-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .small-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .small-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .small-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .small-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .small-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .small-margin-collapse > .xlarge-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.3333333333%;
  }
  .medium-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .small-3 {
    width: 25%;
  }
  .medium-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .small-6 {
    width: 50%;
  }
  .medium-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .small-9 {
    width: 75%;
  }
  .medium-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .medium-3 {
    width: 25%;
  }
  .medium-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .medium-6 {
    width: 50%;
  }
  .medium-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .medium-9 {
    width: 75%;
  }
  .medium-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .large-3 {
    width: 25%;
  }
  .medium-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .large-6 {
    width: 50%;
  }
  .medium-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .large-9 {
    width: 75%;
  }
  .medium-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

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

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .large-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .small-3 {
    width: 25%;
  }
  .large-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .small-6 {
    width: 50%;
  }
  .large-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .small-9 {
    width: 75%;
  }
  .large-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .medium-3 {
    width: 25%;
  }
  .large-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .medium-6 {
    width: 50%;
  }
  .large-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .medium-9 {
    width: 75%;
  }
  .large-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .large-3 {
    width: 25%;
  }
  .large-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .large-6 {
    width: 50%;
  }
  .large-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .large-9 {
    width: 75%;
  }
  .large-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .large-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .large-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .large-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .large-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .large-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .large-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .large-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .large-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .large-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .large-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .large-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

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

@media screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0;
  }
  .xlarge-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .small-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .small-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .small-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .small-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .small-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .small-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .small-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .small-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .small-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .small-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .small-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .large-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .large-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .large-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .large-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .large-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .large-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .large-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .large-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .large-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .large-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .large-12 {
    width: 100%;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%;
  }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%;
  }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%;
  }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.3333333333%;
  }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.6666666667%;
  }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%;
  }
}

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

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

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

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.3333333333% + 1.9230769231rem / 2);
}

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

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

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

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

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.3333333333% + 1.9230769231rem / 2);
}

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.6666666667% + 1.9230769231rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.3333333333% + 1.9230769231rem / 2);
}

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.6666666667% + 1.9230769231rem / 2);
}

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

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

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.3333333333% + 1.9230769231rem / 2);
}

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.6666666667% + 1.9230769231rem / 2);
}

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 2.6923076923rem / 2);
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.3333333333% + 2.6923076923rem / 2);
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.6666666667% + 2.6923076923rem / 2);
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 2.6923076923rem / 2);
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.3333333333% + 2.6923076923rem / 2);
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.6666666667% + 2.6923076923rem / 2);
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 2.6923076923rem / 2);
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.3333333333% + 2.6923076923rem / 2);
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.6666666667% + 2.6923076923rem / 2);
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 2.6923076923rem / 2);
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.3333333333% + 2.6923076923rem / 2);
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.6666666667% + 2.6923076923rem / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 3.0769230769rem / 2);
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.3333333333% + 3.0769230769rem / 2);
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.6666666667% + 3.0769230769rem / 2);
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 3.0769230769rem / 2);
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.3333333333% + 3.0769230769rem / 2);
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.6666666667% + 3.0769230769rem / 2);
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 3.0769230769rem / 2);
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.3333333333% + 3.0769230769rem / 2);
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.6666666667% + 3.0769230769rem / 2);
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 3.0769230769rem / 2);
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.3333333333% + 3.0769230769rem / 2);
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.6666666667% + 3.0769230769rem / 2);
  }
}
@media screen and (min-width: 75em) {
  .xlarge-offset-0 {
    margin-left: 0%;
  }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 3.0769230769rem / 2);
  }
  .xlarge-offset-1 {
    margin-left: 8.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.3333333333% + 3.0769230769rem / 2);
  }
  .xlarge-offset-2 {
    margin-left: 16.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.6666666667% + 3.0769230769rem / 2);
  }
  .xlarge-offset-3 {
    margin-left: 25%;
  }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 3.0769230769rem / 2);
  }
  .xlarge-offset-4 {
    margin-left: 33.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.3333333333% + 3.0769230769rem / 2);
  }
  .xlarge-offset-5 {
    margin-left: 41.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.6666666667% + 3.0769230769rem / 2);
  }
  .xlarge-offset-6 {
    margin-left: 50%;
  }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 3.0769230769rem / 2);
  }
  .xlarge-offset-7 {
    margin-left: 58.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.3333333333% + 3.0769230769rem / 2);
  }
  .xlarge-offset-8 {
    margin-left: 66.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.6666666667% + 3.0769230769rem / 2);
  }
  .xlarge-offset-9 {
    margin-left: 75%;
  }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 3.0769230769rem / 2);
  }
  .xlarge-offset-10 {
    margin-left: 83.3333333333%;
  }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.3333333333% + 3.0769230769rem / 2);
  }
  .xlarge-offset-11 {
    margin-left: 91.6666666667%;
  }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.6666666667% + 3.0769230769rem / 2);
  }
}
.grid-y {
  display: flex;
  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 {
  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 {
    flex-basis: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
    flex-basis: auto;
  }
}
@media screen and (min-width: 75em) {
  .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
    flex-basis: auto;
  }
}
.grid-y > .small-12, .grid-y > .small-11, .grid-y > .small-10, .grid-y > .small-9, .grid-y > .small-8, .grid-y > .small-7, .grid-y > .small-6, .grid-y > .small-5, .grid-y > .small-4, .grid-y > .small-3, .grid-y > .small-2, .grid-y > .small-1 {
  flex: 0 0 auto;
}
.grid-y > .small-1 {
  height: 8.3333333333%;
}
.grid-y > .small-2 {
  height: 16.6666666667%;
}
.grid-y > .small-3 {
  height: 25%;
}
.grid-y > .small-4 {
  height: 33.3333333333%;
}
.grid-y > .small-5 {
  height: 41.6666666667%;
}
.grid-y > .small-6 {
  height: 50%;
}
.grid-y > .small-7 {
  height: 58.3333333333%;
}
.grid-y > .small-8 {
  height: 66.6666666667%;
}
.grid-y > .small-9 {
  height: 75%;
}
.grid-y > .small-10 {
  height: 83.3333333333%;
}
.grid-y > .small-11 {
  height: 91.6666666667%;
}
.grid-y > .small-12 {
  height: 100%;
}
@media print, screen and (min-width: 40em) {
  .grid-y > .medium-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .medium-12, .grid-y > .medium-11, .grid-y > .medium-10, .grid-y > .medium-9, .grid-y > .medium-8, .grid-y > .medium-7, .grid-y > .medium-6, .grid-y > .medium-5, .grid-y > .medium-4, .grid-y > .medium-3, .grid-y > .medium-2, .grid-y > .medium-1, .grid-y > .medium-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .medium-shrink {
    height: auto;
  }
  .grid-y > .medium-1 {
    height: 8.3333333333%;
  }
  .grid-y > .medium-2 {
    height: 16.6666666667%;
  }
  .grid-y > .medium-3 {
    height: 25%;
  }
  .grid-y > .medium-4 {
    height: 33.3333333333%;
  }
  .grid-y > .medium-5 {
    height: 41.6666666667%;
  }
  .grid-y > .medium-6 {
    height: 50%;
  }
  .grid-y > .medium-7 {
    height: 58.3333333333%;
  }
  .grid-y > .medium-8 {
    height: 66.6666666667%;
  }
  .grid-y > .medium-9 {
    height: 75%;
  }
  .grid-y > .medium-10 {
    height: 83.3333333333%;
  }
  .grid-y > .medium-11 {
    height: 91.6666666667%;
  }
  .grid-y > .medium-12 {
    height: 100%;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-y > .large-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .large-12, .grid-y > .large-11, .grid-y > .large-10, .grid-y > .large-9, .grid-y > .large-8, .grid-y > .large-7, .grid-y > .large-6, .grid-y > .large-5, .grid-y > .large-4, .grid-y > .large-3, .grid-y > .large-2, .grid-y > .large-1, .grid-y > .large-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .large-shrink {
    height: auto;
  }
  .grid-y > .large-1 {
    height: 8.3333333333%;
  }
  .grid-y > .large-2 {
    height: 16.6666666667%;
  }
  .grid-y > .large-3 {
    height: 25%;
  }
  .grid-y > .large-4 {
    height: 33.3333333333%;
  }
  .grid-y > .large-5 {
    height: 41.6666666667%;
  }
  .grid-y > .large-6 {
    height: 50%;
  }
  .grid-y > .large-7 {
    height: 58.3333333333%;
  }
  .grid-y > .large-8 {
    height: 66.6666666667%;
  }
  .grid-y > .large-9 {
    height: 75%;
  }
  .grid-y > .large-10 {
    height: 83.3333333333%;
  }
  .grid-y > .large-11 {
    height: 91.6666666667%;
  }
  .grid-y > .large-12 {
    height: 100%;
  }
}
@media screen and (min-width: 75em) {
  .grid-y > .xlarge-auto {
    flex: 1 1 0;
    height: auto;
  }
  .grid-y > .xlarge-12, .grid-y > .xlarge-11, .grid-y > .xlarge-10, .grid-y > .xlarge-9, .grid-y > .xlarge-8, .grid-y > .xlarge-7, .grid-y > .xlarge-6, .grid-y > .xlarge-5, .grid-y > .xlarge-4, .grid-y > .xlarge-3, .grid-y > .xlarge-2, .grid-y > .xlarge-1, .grid-y > .xlarge-shrink {
    flex: 0 0 auto;
  }
  .grid-y > .xlarge-shrink {
    height: auto;
  }
  .grid-y > .xlarge-1 {
    height: 8.3333333333%;
  }
  .grid-y > .xlarge-2 {
    height: 16.6666666667%;
  }
  .grid-y > .xlarge-3 {
    height: 25%;
  }
  .grid-y > .xlarge-4 {
    height: 33.3333333333%;
  }
  .grid-y > .xlarge-5 {
    height: 41.6666666667%;
  }
  .grid-y > .xlarge-6 {
    height: 50%;
  }
  .grid-y > .xlarge-7 {
    height: 58.3333333333%;
  }
  .grid-y > .xlarge-8 {
    height: 66.6666666667%;
  }
  .grid-y > .xlarge-9 {
    height: 75%;
  }
  .grid-y > .xlarge-10 {
    height: 83.3333333333%;
  }
  .grid-y > .xlarge-11 {
    height: 91.6666666667%;
  }
  .grid-y > .xlarge-12 {
    height: 100%;
  }
}

.grid-padding-y .grid-padding-y {
  margin-top: -0.9615384615rem;
  margin-bottom: -0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -1.3461538462rem;
    margin-bottom: -1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-y .grid-padding-y {
    margin-top: -1.5384615385rem;
    margin-bottom: -1.5384615385rem;
  }
}
.grid-padding-y > .cell {
  padding-top: 0.9615384615rem;
  padding-bottom: 0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-padding-y > .cell {
    padding-top: 1.3461538462rem;
    padding-bottom: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-padding-y > .cell {
    padding-top: 1.5384615385rem;
    padding-bottom: 1.5384615385rem;
  }
}

.grid-margin-y {
  margin-top: -0.9615384615rem;
  margin-bottom: -0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -1.3461538462rem;
    margin-bottom: -1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1.5384615385rem;
    margin-bottom: -1.5384615385rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.9230769231rem);
  margin-top: 0.9615384615rem;
  margin-bottom: 0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.6923076923rem);
    margin-top: 1.3461538462rem;
    margin-bottom: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.0769230769rem);
    margin-top: 1.5384615385rem;
    margin-bottom: 1.5384615385rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.9230769231rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.9230769231rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.9230769231rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.9230769231rem);
}
@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.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.6923076923rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.6923076923rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.6923076923rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.6923076923rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-auto {
    height: auto;
  }
  .grid-margin-y > .med-lg-shrink {
    height: auto;
  }
  .grid-margin-y > .med-lg-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.0769230769rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 3.0769230769rem);
  }
}

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  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: flex;
  flex-direction: column;
  max-height: 100%;
}
.cell-block-container > .grid-x {
  max-height: 100%;
  flex-wrap: nowrap;
}

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

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

.grid-margin-y {
  margin-top: -0.9615384615rem;
  margin-bottom: -0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y {
    margin-top: -1.3461538462rem;
    margin-bottom: -1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y {
    margin-top: -1.5384615385rem;
    margin-bottom: -1.5384615385rem;
  }
}
.grid-margin-y > .cell {
  height: calc(100% - 1.9230769231rem);
  margin-top: 0.9615384615rem;
  margin-bottom: 0.9615384615rem;
}
@media print, screen and (min-width: 40em) {
  .grid-margin-y > .cell {
    height: calc(100% - 2.6923076923rem);
    margin-top: 1.3461538462rem;
    margin-bottom: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .cell {
    height: calc(100% - 3.0769230769rem);
    margin-top: 1.5384615385rem;
    margin-bottom: 1.5384615385rem;
  }
}
.grid-margin-y > .auto {
  height: auto;
}
.grid-margin-y > .shrink {
  height: auto;
}
.grid-margin-y > .small-1 {
  height: calc(8.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-2 {
  height: calc(16.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-3 {
  height: calc(25% - 1.9230769231rem);
}
.grid-margin-y > .small-4 {
  height: calc(33.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-5 {
  height: calc(41.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-6 {
  height: calc(50% - 1.9230769231rem);
}
.grid-margin-y > .small-7 {
  height: calc(58.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-8 {
  height: calc(66.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-9 {
  height: calc(75% - 1.9230769231rem);
}
.grid-margin-y > .small-10 {
  height: calc(83.3333333333% - 1.9230769231rem);
}
.grid-margin-y > .small-11 {
  height: calc(91.6666666667% - 1.9230769231rem);
}
.grid-margin-y > .small-12 {
  height: calc(100% - 1.9230769231rem);
}
@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.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 2.6923076923rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 2.6923076923rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 2.6923076923rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 2.6923076923rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 2.6923076923rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y > .auto {
    height: auto;
  }
  .grid-margin-y > .shrink {
    height: auto;
  }
  .grid-margin-y > .small-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .small-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .small-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .small-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .small-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-auto {
    height: auto;
  }
  .grid-margin-y > .medium-shrink {
    height: auto;
  }
  .grid-margin-y > .medium-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .medium-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-auto {
    height: auto;
  }
  .grid-margin-y > .med-lg-shrink {
    height: auto;
  }
  .grid-margin-y > .med-lg-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .med-lg-12 {
    height: calc(100% - 3.0769230769rem);
  }
  .grid-margin-y > .large-auto {
    height: auto;
  }
  .grid-margin-y > .large-shrink {
    height: auto;
  }
  .grid-margin-y > .large-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .large-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .large-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .large-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .large-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .large-12 {
    height: calc(100% - 3.0769230769rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y > .xlarge-auto {
    height: auto;
  }
  .grid-margin-y > .xlarge-shrink {
    height: auto;
  }
  .grid-margin-y > .xlarge-1 {
    height: calc(8.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-2 {
    height: calc(16.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-3 {
    height: calc(25% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-4 {
    height: calc(33.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-5 {
    height: calc(41.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-6 {
    height: calc(50% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-7 {
    height: calc(58.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-8 {
    height: calc(66.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-9 {
    height: calc(75% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-10 {
    height: calc(83.3333333333% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-11 {
    height: calc(91.6666666667% - 3.0769230769rem);
  }
  .grid-margin-y > .xlarge-12 {
    height: calc(100% - 3.0769230769rem);
  }
}

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

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 2.6923076923rem);
  }
}
@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3.0769230769rem);
  }
}
@media screen and (min-width: 75em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 3.0769230769rem);
  }
}
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.9230769231rem 3.4615384615rem;
  border: 2px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  -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: #000000;
  color: #ffffff;
}
.button:hover, .button:focus {
  background-color: black;
  color: #ffffff;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #000000;
  color: #ffffff;
}
.button.primary:hover, .button.primary:focus {
  background-color: black;
  color: #ffffff;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #767676;
  color: #000000;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: #5e5e5e;
  color: #000000;
}
.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: #000000;
}
.button.success:hover, .button.success:focus {
  background-color: #22bb5b;
  color: #000000;
}
.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: #000000;
}
.button.warning:hover, .button.warning:focus {
  background-color: #cc8b00;
  color: #000000;
}
.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: #000000;
}
.button.alert:hover, .button.alert:focus {
  background-color: #a53b2a;
  color: #000000;
}
.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: 2px solid #000000;
  color: #000000;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: black;
  color: black;
}
.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: 2px solid #000000;
  color: #000000;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: black;
  color: black;
}
.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: 2px solid #767676;
  color: #767676;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: #3b3b3b;
  color: #3b3b3b;
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 2px 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: 2px 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: 2px 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: #000000;
}
.button.clear:hover, .button.clear:focus {
  color: black;
}
.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: #000000;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: black;
}
.button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {
  color: #767676;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: #3b3b3b;
}
.button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {
  color: #3adb76;
}
.button.clear.success:hover, .button.clear.success:focus {
  color: #157539;
}
.button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {
  color: #ffae00;
}
.button.clear.warning:hover, .button.clear.warning:focus {
  color: #805700;
}
.button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {
  color: #cc4b37;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: #67251a;
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-bottom-width: 0;
  border-color: #ffffff transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 3.4615384615rem;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #000000;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #000000;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #767676;
}
.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {
  border-top-color: #3adb76;
}
.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {
  border-top-color: #ffae00;
}
.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {
  border-top-color: #cc4b37;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.accordion {
  margin-left: 0;
  background: inherit;
  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: 0;
  border: none;
  border-bottom: 0;
  font-size: inherit;
  line-height: 1;
  color: inherit;
}
:last-child:not(.is-active) > .accordion-title {
  border-bottom: none;
  border-radius: 0 0 0 0;
}
.accordion-title:hover, .accordion-title:focus {
  background-color: inherit;
}
.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: 0;
  border: none;
  border-bottom: 0;
  background-color: inherit;
  color: inherit;
}
:last-child > .accordion-content:last-child {
  border-bottom: none;
}

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  list-style-type: none;
}
.tabs::before, .tabs::after {
  display: table;
  content: " ";
  flex-basis: 0;
  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: #000000;
}
.tabs.primary > li > a {
  color: #ffffff;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: #0d0d0d;
}

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

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

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

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

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

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

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

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

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

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left {
  transform: translateX(-250px);
}
.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
  transform: translateX(250px);
}

.position-left.is-transition-push {
  box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25);
}

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right {
  transform: translateX(250px);
}
.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
  transform: translateX(-250px);
}

.position-right.is-transition-push {
  box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25);
}

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top {
  transform: translateY(-250px);
}
.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
  transform: translateY(250px);
}

.position-top.is-transition-push {
  box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25);
}

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom {
  transform: translateY(250px);
}
.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
  transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
  transform: translateY(-250px);
}

.position-bottom.is-transition-push {
  box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25);
}

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

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-medium {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-medium {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-medium {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-medium .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-medium {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-medium ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-large {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-large {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-large {
    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 {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-large .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-large {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-large ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-left.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-left.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-left {
    margin-left: 250px;
  }
  .position-left.reveal-for-xlarge ~ .off-canvas-content {
    margin-left: 250px;
  }
  .position-right.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-right.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-right.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-right {
    margin-right: 250px;
  }
  .position-right.reveal-for-xlarge ~ .off-canvas-content {
    margin-right: 250px;
  }
  .position-top.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-top.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-top.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-top {
    margin-top: 250px;
  }
  .position-top.reveal-for-xlarge ~ .off-canvas-content {
    margin-top: 250px;
  }
  .position-bottom.reveal-for-xlarge {
    transform: none;
    z-index: 12;
    transition: none;
    visibility: visible;
  }
  .position-bottom.reveal-for-xlarge .close-button {
    display: none;
  }
  .off-canvas-content .position-bottom.reveal-for-xlarge {
    transform: none;
  }
  .off-canvas-content.has-reveal-bottom {
    margin-bottom: 250px;
  }
  .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
    margin-bottom: 250px;
  }
}
@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none;
  }
  .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
    box-shadow: none;
    transform: none;
  }
  .off-canvas.in-canvas-for-medium .close-button {
    display: none;
  }
}
@media print, screen and (min-width: 64em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none;
  }
  .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
    box-shadow: none;
    transform: none;
  }
  .off-canvas.in-canvas-for-large .close-button {
    display: none;
  }
}
@media screen and (min-width: 75em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    transition: none;
  }
  .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
    box-shadow: none;
    transform: none;
  }
  .off-canvas.in-canvas-for-xlarge .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;
  -webkit-overflow-scrolling: touch;
}
html.is-reveal-open body {
  overflow-y: hidden;
}

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

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
[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: 92.3076923077rem;
  }
}
.reveal.collapse {
  padding: 0;
}
@media print, screen and (min-width: 40em) {
  .reveal.tiny {
    width: 30%;
    max-width: 92.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .reveal.small {
    width: 50%;
    max-width: 92.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .reveal.large {
    width: 90%;
    max-width: 92.3076923077rem;
  }
}
.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;
  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;
}

.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: " ";
  flex-basis: 0;
  order: 1;
}
.clearfix::after {
  clear: both;
}

.align-left {
  justify-content: flex-start;
}

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

.align-center {
  justify-content: center;
}

.align-justify {
  justify-content: space-between;
}

.align-spaced {
  justify-content: space-around;
}

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

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

.align-center.vertical.menu > li > a {
  justify-content: center;
}

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

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

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

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

.align-middle {
  align-items: center;
}

.align-self-middle {
  align-self: center;
}

.align-stretch {
  align-items: stretch;
}

.align-self-stretch {
  align-self: stretch;
}

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center;
}

.small-order-1 {
  order: 1;
}

.small-order-2 {
  order: 2;
}

.small-order-3 {
  order: 3;
}

.small-order-4 {
  order: 4;
}

.small-order-5 {
  order: 5;
}

.small-order-6 {
  order: 6;
}

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1;
  }
  .medium-order-2 {
    order: 2;
  }
  .medium-order-3 {
    order: 3;
  }
  .medium-order-4 {
    order: 4;
  }
  .medium-order-5 {
    order: 5;
  }
  .medium-order-6 {
    order: 6;
  }
}
@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1;
  }
  .large-order-2 {
    order: 2;
  }
  .large-order-3 {
    order: 3;
  }
  .large-order-4 {
    order: 4;
  }
  .large-order-5 {
    order: 5;
  }
  .large-order-6 {
    order: 6;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    order: 1;
  }
  .xlarge-order-2 {
    order: 2;
  }
  .xlarge-order-3 {
    order: 3;
  }
  .xlarge-order-4 {
    order: 4;
  }
  .xlarge-order-5 {
    order: 5;
  }
  .xlarge-order-6 {
    order: 6;
  }
}
.flex-container {
  display: flex;
}

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex;
  }
  .medium-flex-child-auto {
    flex: 1 1 auto;
  }
  .medium-flex-child-grow {
    flex: 1 0 auto;
  }
  .medium-flex-child-shrink {
    flex: 0 1 auto;
  }
  .medium-flex-dir-row {
    flex-direction: row;
  }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .medium-flex-dir-column {
    flex-direction: column;
  }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex;
  }
  .large-flex-child-auto {
    flex: 1 1 auto;
  }
  .large-flex-child-grow {
    flex: 1 0 auto;
  }
  .large-flex-child-shrink {
    flex: 0 1 auto;
  }
  .large-flex-dir-row {
    flex-direction: row;
  }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .large-flex-dir-column {
    flex-direction: column;
  }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 75em) {
  .xlarge-flex-container {
    display: flex;
  }
  .xlarge-flex-child-auto {
    flex: 1 1 auto;
  }
  .xlarge-flex-child-grow {
    flex: 1 0 auto;
  }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto;
  }
  .xlarge-flex-dir-row {
    flex-direction: row;
  }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse;
  }
  .xlarge-flex-dir-column {
    flex-direction: column;
  }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse;
  }
}
.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.visible {
  visibility: visible;
}

@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: 52.49875em) {
  .hide-for-medium-only {
    display: none !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("../fonts/slick.eot");
  src: url("../fonts/slick.eot?#iefix") format("embedded-opentype"), url("../fonts/slick.woff") format("woff"), url("../fonts/slick.ttf") format("truetype"), url("../fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

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

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* WordPress Gallery 
------------------------------------------ */
.gallery {
  margin-left: -0.5em;
  margin-right: -0.5em;
}

.gallery:after {
  display: table;
  content: "";
  clear: both;
}

.gallery-item {
  margin: 0;
  float: left;
  padding: 0.5em;
}

.gallery-item img {
  width: 100%;
}

.gallery-columns-1 .gallery-item {
  width: 100%;
  float: none;
}

.gallery-columns-2 .gallery-item {
  width: 50%;
}

.gallery-columns-3 .gallery-item {
  width: 33.3333%;
}

.gallery-columns-4 .gallery-item {
  width: 25%;
}

.gallery-columns-5 .gallery-item {
  width: 20%;
}

.gallery-columns-6 .gallery-item {
  width: 16.6667%;
}

.gallery-columns-7 .gallery-item {
  width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
  width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
  clear: left;
}

@media print, screen and (min-width: 40em) {
  body {
    font-size: 1.0769230769rem;
  }
}
@media print, screen and (min-width: 64em) {
  body {
    font-size: 1.1538461538rem;
  }
}

p.smaller.blue {
  color: #47B7D1;
  font-weight: 600;
  margin-bottom: 10px;
}

p.smaller.purple {
  color: #2A2343;
  font-weight: 600;
  margin-bottom: 10px;
}

p.large {
  font-size: 1.2307692308rem;
}
@media print, screen and (min-width: 40em) {
  p.large {
    font-size: 1.4615384615rem;
  }
}
@media print, screen and (min-width: 64em) {
  p.large {
    font-size: 1.5384615385rem;
  }
}

h1.yellow {
  color: #FBE54D;
  font-family: "noto-sans-condensed", sans-serif;
}
h1.serif {
  font-family: "noto-serif", serif;
}

h2 {
  font-weight: 500;
}
h2.serif.blue {
  color: #1f7ead;
  font-family: "noto-serif", serif;
  margin-bottom: 10px;
}

h3.sans-serif {
  font-family: "noto-sans", sans-serif;
  font-size: 18px;
  font-weight: 600;
}
@media print, screen and (min-width: 40em) {
  h3.sans-serif {
    font-size: 22px;
  }
}
h3.sans-serif.blue {
  color: #0A6099 !important;
}

a {
  font-weight: 600;
}

.vertical-center {
  align-items: center;
}

.visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.reverse-mobile > .cell:first-child {
  order: 2;
}
.reverse-mobile > .cell:last-child {
  order: 1;
}
@media print, screen and (min-width: 40em) {
  .reverse-mobile > .cell:first-child {
    order: 1;
  }
  .reverse-mobile > .cell:last-child {
    order: 2;
  }
}

.text-button {
  text-transform: uppercase;
  color: #0A6099;
  font-weight: bold;
  text-decoration: underline;
}

.button {
  text-decoration: none;
  text-transform: uppercase;
}

.accessibility-nav .skip-to-main {
  position: absolute;
  top: -1000px;
  left: 10px;
  line-height: 35px;
  z-index: 9999;
  color: #ffffff;
}
.accessibility-nav .skip-to-main:focus {
  top: 0;
  color: #000000;
  background-color: #ffffff;
  padding: 2px 10px;
  border: 2px solid #000000;
  border-top: 0;
}
.accessibility-nav .skip-to-main:hover {
  color: #000000;
}

.alert-bar {
  color: #ffffff;
  background-color: #000000;
  padding: 10px 0;
  position: relative;
  z-index: 5;
}
.alert-bar h1, .alert-bar h2, .alert-bar h3, .alert-bar h4, .alert-bar h5, .alert-bar h6,
.alert-bar .h1, .alert-bar .h2, .alert-bar .h3, .alert-bar .h4, .alert-bar .h5, .alert-bar .h6 {
  color: #ffffff;
}
.alert-bar a {
  color: #ffffff;
}
.alert-bar a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.alert-bar a.button.hollow {
  border: 2px solid #ffffff;
}
.alert-bar a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.alert-bar > *:last-child {
  margin-bottom: 0;
}
.alert-bar p {
  margin-bottom: 0;
  font-size: 1.0769230769rem;
}
.alert-bar a {
  color: #ffffff;
}
.alert-bar .close-button {
  color: #ffffff;
  top: 0.3rem;
}

header.header .navigation-container {
  width: 100%;
  padding: 15px 0;
  background-color: rgba(255, 255, 255, 0);
  transition: 200ms height;
}
@media print, screen and (min-width: 40em) {
  header.header .navigation-container {
    padding-top: 1.9230769231rem;
    padding-bottom: 1.9230769231rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  header.header .navigation-container {
    padding-top: 2.5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  header.header .navigation-container {
    padding-top: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  header.header .navigation-container {
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  header.header .navigation-container {
    padding-bottom: 3.0769230769rem;
  }
}
header.header .navigation-container .logo {
  transition: 200ms all;
  max-width: 100%;
  width: 165px;
}
header.header .navigation-container.is-stuck {
  background-color: white;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
}
header.header .navigation-container.is-stuck .logo {
  width: 150px;
}
@media print, screen and (min-width: 40em) {
  header.header .navigation-container.is-stuck .logo {
    width: 150px;
  }
}
@media print, screen and (min-width: 64em) {
  header.header .navigation-container.is-stuck .logo {
    width: 175px;
  }
}

.page-header {
  background-size: cover !important;
  background-position: center center;
  background-repeat: no-repeat !important;
  position: relative;
  color: #ffffff;
  background: #000000;
}
.page-header h1, .page-header h2, .page-header h3, .page-header h4, .page-header h5, .page-header h6,
.page-header .h1, .page-header .h2, .page-header .h3, .page-header .h4, .page-header .h5, .page-header .h6 {
  color: #ffffff;
}
.page-header a {
  color: #ffffff;
}
.page-header a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.page-header a.button.hollow {
  border: 2px solid #ffffff;
}
.page-header a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.page-header.has-image .overlay, .page-header.page-header-image .overlay {
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
}
.page-header .header-content {
  position: relative;
  z-index: 2;
}
.page-header .header-content p {
  max-width: 800px;
  margin: 0 auto;
}
.page-header .header-content p.smaller {
  margin-bottom: 0;
  text-transform: uppercase;
}
.page-header .header-content p.smaller.blue, .page-header .header-content p.smaller.purple {
  text-transform: none;
}
.page-header .header-content p img.header-logo {
  margin-bottom: 0;
}
.page-header .header-content h1 {
  margin-bottom: 0;
  line-height: 1.3;
}
.page-header .header-content h1.yellow {
  color: #FBE54D;
}

.home .page-header {
  padding-top: 7.6923076923rem;
  padding-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .home .page-header {
    padding-top: 10rem;
  }
}
@media print, screen and (min-width: 64em) {
  .home .page-header {
    padding-top: 12.3076923077rem;
  }
}
.home .page-header .page-header-content {
  position: relative;
  z-index: 2;
  padding-bottom: 3.8461538462rem;
}
.home .page-header .page-header-content p.smaller {
  margin-bottom: 0;
  text-transform: uppercase;
}
.home .page-header .page-header-content h1 {
  margin-bottom: 0;
  line-height: 1.3;
}
.home .page-header .page-header-content h1.yellow {
  color: #FBE54D;
  font-size: 4.6153846154rem;
}
@media print, screen and (min-width: 40em) {
  .home .page-header .page-header-content {
    padding-bottom: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .home .page-header .page-header-content {
    padding-bottom: 6.1538461538rem;
  }
}
.home .page-header .film-logos {
  position: relative;
  padding-bottom: 1.9230769231rem;
  z-index: 2;
}
@media print, screen and (min-width: 40em) {
  .home .page-header .film-logos {
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .home .page-header .film-logos {
    padding-bottom: 3.0769230769rem;
  }
}
.home .page-header .film-logos .film-logo {
  text-align: center;
}
.home .page-header .film-logos .film-logo img {
  max-width: 80%;
}
.home .page-header.page-header-image {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.home .page-header.page-header-video {
  position: relative;
}
.home .page-header.page-header-video video.background-video {
  display: none;
}
@media print, screen and (min-width: 40em) {
  .home .page-header.page-header-video video.background-video {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.home .page-header .pop-up-button {
  text-align: center;
  margin: 0 auto;
}
.home .page-header .pop-up-container {
  padding: 30px;
  background: #000;
  color: #000;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  left: 0;
  top: 0;
  transition: all 0.5s ease;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
}
.home .page-header .pop-up-container.open {
  opacity: 1;
  visibility: visible;
}
.home .page-header .pop-up-container .video-box {
  max-width: 90%;
  max-height: 90%;
  width: 70%;
  height: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 1rem 3rem 2rem;
}

nav.main-nav {
  display: none;
}
@media print, screen and (min-width: 40em) {
  nav.main-nav {
    display: block;
  }
}
nav.main-nav > ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
nav.main-nav > ul > li {
  display: inline-block;
  position: relative;
}
nav.main-nav > ul > li > a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #000000;
  font-weight: 600;
}
nav.main-nav > ul > li:first-child > a {
  padding-left: 0;
}
nav.main-nav > ul > li:last-child > a {
  padding-right: 0;
}
nav.main-nav > ul > li.nav-button > a {
  background-color: #000000;
  color: #ffffff;
  padding: 10px 20px;
}
nav.main-nav > ul > li.menu-item-has-children > a::after {
  content: "";
  display: block;
  float: right;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #000000;
  margin-left: 8px;
  margin-top: 10px;
}
nav.main-nav > ul > li.menu-item-has-children.nav-open > a::after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 0;
  border-bottom: 5px solid #000000;
}
nav.main-nav > ul > li > ul.sub-menu {
  display: none;
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: absolute;
  border: 2px solid #000000;
  background-color: #ffffff;
  padding-left: 0.3846153846rem;
  padding-right: 0.3846153846rem;
  transform: translateX(-50%);
  left: 50%;
  z-index: 3;
}
@media print, screen and (min-width: 40em) {
  nav.main-nav > ul > li > ul.sub-menu {
    padding-left: 0.5384615385rem;
  }
}
@media print, screen and (min-width: 64em) {
  nav.main-nav > ul > li > ul.sub-menu {
    padding-left: 0.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  nav.main-nav > ul > li > ul.sub-menu {
    padding-right: 0.5384615385rem;
  }
}
@media print, screen and (min-width: 64em) {
  nav.main-nav > ul > li > ul.sub-menu {
    padding-right: 0.6153846154rem;
  }
}
nav.main-nav > ul > li > ul.sub-menu:before {
  content: "";
  position: absolute;
  top: -6px;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 0;
  border-bottom: 6px solid #000000;
  left: 50%;
  transform: translateX(-50%);
}
nav.main-nav > ul > li > ul.sub-menu > li {
  display: block;
}
nav.main-nav > ul > li > ul.sub-menu > li:first-of-type {
  padding-top: 5px;
}
nav.main-nav > ul > li > ul.sub-menu > li:last-of-type {
  padding-bottom: 5px;
}
nav.main-nav > ul > li > ul.sub-menu > li > a {
  display: block;
  background-color: #ffffff;
  color: #000000;
  text-decoration: none;
  padding: 5px 10px;
  white-space: nowrap;
  font-weight: 600;
}

@media print, screen and (min-width: 40em) {
  .mobile-nav-toggle {
    display: none;
  }
}
.mobile-nav-toggle a {
  display: block;
  height: 44px;
  width: 44px;
  padding-top: 10px;
}
.mobile-nav-toggle a div {
  height: 4px;
  width: 35px;
  margin-left: 9px;
  margin-bottom: 6px;
  background-color: #000000;
}
.mobile-nav-toggle a div:last-child {
  margin-bottom: 0;
}

.off-canvas {
  background: #000000;
  color: #ffffff;
}
.off-canvas h1, .off-canvas h2, .off-canvas h3, .off-canvas h4, .off-canvas h5, .off-canvas h6,
.off-canvas .h1, .off-canvas .h2, .off-canvas .h3, .off-canvas .h4, .off-canvas .h5, .off-canvas .h6 {
  color: #ffffff;
}
.off-canvas a {
  color: #ffffff;
}
.off-canvas a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.off-canvas a.button.hollow {
  border: 2px solid #ffffff;
}
.off-canvas a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.off-canvas ul.off-canvas-navigation {
  margin: 0;
  padding: 0;
  list-style-type: none;
  padding-top: 10px;
}
.off-canvas ul.off-canvas-navigation > li > a {
  display: block;
  text-decoration: none;
  padding: 10px 25px;
  font-weight: 600;
}
.off-canvas ul.off-canvas-navigation > li.menu-item-has-children > a::after {
  content: "";
  display: block;
  float: right;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #ffffff;
  margin-top: 10px;
}
.off-canvas ul.off-canvas-navigation > li.menu-item-has-children.nav-open > a::after {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 0;
  border-bottom: 5px solid #ffffff;
}
.off-canvas ul.off-canvas-navigation > li ul.sub-menu {
  display: none;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.off-canvas ul.off-canvas-navigation > li ul.sub-menu > li > a {
  display: block;
  text-decoration: none;
  padding: 8px 40px;
  padding-right: 20px;
}

.close-off-canvas {
  color: #ffffff;
  position: absolute;
  top: -40px;
  right: 0;
  line-height: 35px;
  z-index: 9999;
}

.close-off-canvas:focus {
  left: 0;
  right: 0;
  top: calc(100% - 50px);
  width: 100%;
  color: #000000;
}

.page-header {
  padding-top: 7.6923076923rem;
  padding-bottom: 7.6923076923rem;
}
@media print, screen and (min-width: 40em) {
  .page-header {
    padding-top: 10rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header {
    padding-top: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-header {
    padding-bottom: 10rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header {
    padding-bottom: 12.3076923077rem;
  }
}
.page-header .cell > *:last-child {
  margin-bottom: 0;
}

.page-section {
  padding-top: 3.8461538462rem;
  padding-bottom: 3.8461538462rem;
}
@media print, screen and (min-width: 40em) {
  .page-section {
    padding-top: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section {
    padding-top: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section {
    padding-bottom: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section {
    padding-bottom: 6.1538461538rem;
  }
}
.page-section.transparent-bg {
  background-color: inherit;
}
.page-section.transparent-bg + .page-section.transparent-bg {
  padding-top: 0;
}
.page-section.white-bg {
  background-color: #ffffff;
}
.page-section.white-bg + .page-section.white-bg {
  padding-top: 0;
}
.page-section.black-bg {
  background: #000000;
  color: #ffffff;
}
.page-section.black-bg h1, .page-section.black-bg h2, .page-section.black-bg h3, .page-section.black-bg h4, .page-section.black-bg h5, .page-section.black-bg h6,
.page-section.black-bg .h1, .page-section.black-bg .h2, .page-section.black-bg .h3, .page-section.black-bg .h4, .page-section.black-bg .h5, .page-section.black-bg .h6 {
  color: #ffffff;
}
.page-section.black-bg a {
  color: #ffffff;
}
.page-section.black-bg a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.page-section.black-bg a.button.hollow {
  border: 2px solid #ffffff;
}
.page-section.black-bg a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.page-section.black-bg + .page-section.black-bg {
  padding-top: 0;
}
.page-section.yellow-bg {
  background-color: #FBE54D;
  color: #000000;
}
.page-section.yellow-bg h1, .page-section.yellow-bg h2, .page-section.yellow-bg h3, .page-section.yellow-bg h4, .page-section.yellow-bg h5, .page-section.yellow-bg h6,
.page-section.yellow-bg .h1, .page-section.yellow-bg .h2, .page-section.yellow-bg .h3, .page-section.yellow-bg .h4, .page-section.yellow-bg .h5, .page-section.yellow-bg .h6 {
  color: #000000;
}
.page-section.yellow-bg a {
  color: #000000;
}
.page-section.yellow-bg a.button {
  color: #000000;
  text-transform: uppercase;
}
.page-section.yellow-bg a.button.hollow {
  border: 2px solid #000000;
}
.page-section.yellow-bg a.button:hover {
  color: rgba(0, 0, 0, 0.8);
}
.page-section.yellow-bg + .page-section.yellow-bg {
  padding-top: 0;
}
.page-section.yellow-bg a {
  color: #0A6099;
}
.page-section.blue-bg {
  background-color: #000000;
}
.page-section.blue-bg + .page-section.blue-bg {
  padding-top: 0;
}
.page-section.light-grey-bg {
  background-color: #e6e6e6;
}
.page-section.light-grey-bg + .page-section.light-grey-bg {
  padding-top: 0;
}
.page-section.dark-grey-bg {
  background-color: #8a8a8a;
}
.page-section.dark-grey-bg + .page-section.dark-grey-bg {
  padding-top: 0;
}
.page-section.light-yellow-bg {
  background-color: rgba(240, 190, 65, 0.25);
}
.page-section.light-yellow-bg + .page-section.light-yellow-bg {
  padding-top: 0;
}
.page-section.light-blue-bg {
  background-color: rgba(71, 183, 209, 0.25);
}
.page-section.light-blue-bg + .page-section.light-blue-bg {
  padding-top: 0;
}
.page-section.light-purple-bg {
  background-color: #eaeefc;
}
.page-section.light-purple-bg + .page-section.light-purple-bg {
  padding-top: 0;
}
.page-section .intro-section, .page-section .intro {
  padding-bottom: 3.8461538462rem;
}
@media print, screen and (min-width: 40em) {
  .page-section .intro-section, .page-section .intro {
    padding-bottom: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section .intro-section, .page-section .intro {
    padding-bottom: 6.1538461538rem;
  }
}
.page-section .intro-section .cell > *:last-child, .page-section .intro .cell > *:last-child {
  margin-bottom: 0;
}
.page-section .intro-section .cell .yellow-border, .page-section .intro .cell .yellow-border {
  width: 100%;
  height: 6px;
  background: #FBE54D;
  margin-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-section .intro-section .cell .yellow-border, .page-section .intro .cell .yellow-border {
    margin-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section .intro-section .cell .yellow-border, .page-section .intro .cell .yellow-border {
    margin-bottom: 1.8461538462rem;
  }
}
.page-section ul {
  padding-left: 25px;
}
.page-section ul > *:last-child {
  margin-bottom: 0;
}
.page-section ul li {
  margin-bottom: 15px;
}

.pagination {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .pagination {
    display: block;
    position: relative;
  }
}
.pagination .page-numbers {
  display: none;
  text-align: center;
  text-decoration: none;
  border: 2px solid #000000;
  width: 32px;
  height: 32px;
  line-height: 28px;
}
@media print, screen and (min-width: 40em) {
  .pagination .page-numbers {
    display: inline-block;
  }
}
.pagination .page-numbers.dots, .pagination .page-numbers.current {
  border: none;
}
.pagination .page-numbers.dots {
  width: auto;
  padding: 0 5px;
}
.pagination .page-numbers.next {
  display: inline-block;
  width: auto;
  padding: 0 10px;
  background-color: #000000;
  color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .pagination .page-numbers.next {
    position: absolute;
    right: 0;
  }
}
.pagination .page-numbers.prev {
  display: inline-block;
  width: auto;
  padding: 0 10px;
  background-color: #000000;
  color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .pagination .page-numbers.prev {
    position: absolute;
    left: 0;
  }
}

.page-section.one-column .cell > *:last-child {
  margin-bottom: 0;
}
.page-section.one-column .cell .yellow-border {
  width: 100%;
  height: 6px;
  background: #FBE54D;
  margin-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.one-column .cell .yellow-border {
    margin-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.one-column .cell .yellow-border {
    margin-bottom: 1.8461538462rem;
  }
}
.page-section.one-column .cell .purple-arrow {
  text-align: center;
  padding-bottom: 1.9230769231rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.one-column .cell .purple-arrow {
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.one-column .cell .purple-arrow {
    padding-bottom: 3.0769230769rem;
  }
}
.page-section.one-column .cell .purple-arrow img {
  width: 10%;
}
@media print, screen and (min-width: 40em) {
  .page-section.one-column .cell .purple-arrow img {
    width: 5%;
  }
}
.page-section.one-column + .white-bg {
  margin-bottom: 0;
}

.page-section.two-column.container-width {
  max-width: 1200px;
  margin: 2rem 12px;
  border-radius: 5px;
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column.container-width {
    margin: 50px auto 90px;
  }
}
.page-section.two-column.container-width.light-yellow-bg {
  border: 1px solid #f0be41;
}
.page-section.two-column.container-width.light-blue-bg {
  border: 1px solid #47B7D1;
}
.page-section.two-column.container-width.light-purple-bg {
  border: 1px solid #ADBCF4;
}
.page-section.two-column.container-width .two-column-content > .cell {
  padding-left: 1.9230769231rem;
  padding-right: 1.9230769231rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column.container-width .two-column-content > .cell {
    padding-left: 2.6923076923rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column.container-width .two-column-content > .cell {
    padding-left: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column.container-width .two-column-content > .cell {
    padding-right: 2.6923076923rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column.container-width .two-column-content > .cell {
    padding-right: 3.0769230769rem;
  }
}
.page-section.two-column .two-column-content > .cell > *:last-child {
  margin-bottom: 0;
}
.page-section.two-column .two-column-content > .cell:first-child {
  padding-bottom: 2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column .two-column-content > .cell:first-child {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column .two-column-content > .cell:first-child {
    padding-bottom: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column .two-column-content > .cell:first-child {
    padding-bottom: 0;
  }
}
.page-section.two-column .two-column-content > .cell img + * {
  padding-top: 15px;
}
.page-section.two-column .two-column-content > .cell .yellow-border {
  width: 100%;
  height: 6px;
  background: #FBE54D;
  margin-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column .two-column-content > .cell .yellow-border {
    margin-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column .two-column-content > .cell .yellow-border {
    margin-bottom: 1.8461538462rem;
  }
}
.page-section.two-column .two-column-content.reverse-mobile > .cell:first-child {
  padding-bottom: 0;
}
.page-section.two-column .two-column-content.reverse-mobile > .cell:last-child {
  padding-bottom: 2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column .two-column-content.reverse-mobile > .cell:last-child {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.two-column .two-column-content.reverse-mobile > .cell:last-child {
    padding-bottom: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.two-column .two-column-content.reverse-mobile > .cell:last-child {
    padding-bottom: 0;
  }
}

.page-section.content-blocks .content-blocks-container {
  margin-bottom: -2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks .content-blocks-container {
    margin-bottom: -3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks .content-blocks-container {
    margin-bottom: -4.6153846154rem;
  }
}
.page-section.content-blocks .content-blocks-container .cell {
  padding-bottom: 2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks .content-blocks-container .cell {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks .content-blocks-container .cell {
    padding-bottom: 4.6153846154rem;
  }
}
.page-section.content-blocks .content-blocks-container .cell > *:last-child {
  margin-bottom: 0;
}
.page-section.content-blocks .content-blocks-container .cell .content-blocks-image.circle {
  text-align: center;
}
.page-section.content-blocks .content-blocks-container .cell .content-blocks-image.circle img {
  border-radius: 100%;
  width: 275px;
}
.page-section.content-blocks .content-blocks-container .cell .content-blocks-image.icon {
  text-align: center;
}
.page-section.content-blocks .content-blocks-container .cell .content-blocks-image.icon img {
  border-radius: 100%;
  width: 100px;
}
.page-section.content-blocks .content-blocks-container .cell .content-blocks-image + * {
  padding-top: 15px;
}
.page-section.content-blocks .content-blocks-container .cell .yellow-border {
  width: 100%;
  height: 6px;
  background: #FBE54D;
  margin-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks .content-blocks-container .cell .yellow-border {
    margin-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks .content-blocks-container .cell .yellow-border {
    margin-bottom: 1.8461538462rem;
  }
}

.page-section.content-blocks-toolkit {
  padding-top: 3.8461538462rem;
  padding-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit {
    padding-top: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit {
    padding-top: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks {
    margin-left: -38px;
    margin-right: -38px;
  }
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
  padding-bottom: 2.5rem;
  border-radius: 5px;
  padding-left: 1.9230769231rem;
  padding-right: 1.9230769231rem;
  margin-bottom: 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-bottom: 3.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-bottom: 4rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-left: 2.6923076923rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-left: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-right: 2.6923076923rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell {
    padding-right: 3.0769230769rem;
  }
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell > *:last-child {
  margin-bottom: 0;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell.light-blue-bg {
  background-color: rgba(71, 183, 209, 0.25);
  border: 1px solid #47B7D1;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell.light-purple-bg {
  background-color: #eaeefc;
  border: 1px solid #ADBCF4;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell.light-yellow-bg {
  background-color: rgba(240, 190, 65, 0.25);
  border: 1px solid #f0be41;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .content-blocks-image.circle {
  text-align: center;
  background-color: #ffffff;
  width: 215px;
  padding: 25px;
  height: 215px;
  border-radius: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  margin: 40px auto 20px;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .content-blocks-image.circle img {
  width: 275px;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .content-blocks-image.icon {
  text-align: center;
  margin: 40px auto 20px;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .content-blocks-image.icon img {
  border-radius: 100%;
  width: 100px;
  height: 100px;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .content-blocks-image + * {
  padding-top: 15px;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell .button {
  margin-bottom: 0;
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
  margin-top: 1.5384615385rem;
  margin-bottom: 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-top: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-top: 2.4615384615rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-bottom: 2.4615384615rem;
  }
}
.page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p:last-child {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-top: 1.5384615385rem;
    margin-bottom: 1.5384615385rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-top: 2rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-top: 2.4615384615rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.content-blocks-toolkit .content-blocks-container .toolkit-blocks .cell p {
    margin-bottom: 2.4615384615rem;
  }
}
.page-section.content-blocks-toolkit + .page-section.two-column {
  margin-top: 0.3846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.content-blocks-toolkit + .page-section.two-column {
    margin-top: 0.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.content-blocks-toolkit + .page-section.two-column {
    margin-top: 0.6153846154rem;
  }
}

.page-section.logo-blocks.spacing-bottom .space-border {
  padding-bottom: 3.2692307692rem;
  border-bottom: 2px solid #f2f2f2;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks.spacing-bottom .space-border {
    padding-bottom: 4.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks.spacing-bottom .space-border {
    padding-bottom: 5.2307692308rem;
  }
}
.page-section.logo-blocks .logo-blocks-container {
  margin-bottom: -2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks .logo-blocks-container {
    margin-bottom: -3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks .logo-blocks-container {
    margin-bottom: -4.6153846154rem;
  }
}
.page-section.logo-blocks .logo-blocks-container .cell {
  padding-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks .logo-blocks-container .cell {
    padding-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks .logo-blocks-container .cell {
    padding-bottom: 1.8461538462rem;
  }
}
.page-section.logo-blocks .logo-blocks-container .cell .logo-blocks-image {
  text-align: center;
}
.page-section.logo-blocks .logo-blocks-container img {
  max-height: 100px;
}
.page-section.logo-blocks .three-blocks .cell {
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks .three-blocks .cell img {
    max-height: calc((33.333vw - 35px) / 2);
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks .three-blocks .cell img {
    max-height: calc((33.333vw - 40px) / 2);
  }
}
@media screen and (min-width: 75em) {
  .page-section.logo-blocks .three-blocks .cell img {
    max-height: 130px;
  }
}
.page-section.logo-blocks .four-blocks .cell {
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks .four-blocks .cell img {
    max-height: calc((25vw - 35px) / 0.7);
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks .four-blocks .cell img {
    max-height: calc((25vw - 40px) * 0.7);
  }
}
@media screen and (min-width: 75em) {
  .page-section.logo-blocks .four-blocks .cell img {
    max-height: 130px;
  }
}
.page-section.logo-blocks .five-blocks .cell {
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks .five-blocks .cell img {
    max-height: calc((20vw - 35px) / 0.7);
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks .five-blocks .cell img {
    max-height: calc((20vw - 40px) * 0.7);
  }
}
@media screen and (min-width: 75em) {
  .page-section.logo-blocks .five-blocks .cell img {
    max-height: 130px;
  }
}
.page-section.logo-blocks + .content-blocks.white-bg {
  padding-top: 3.8461538462rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.logo-blocks + .content-blocks.white-bg {
    padding-top: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.logo-blocks + .content-blocks.white-bg {
    padding-top: 6.1538461538rem;
  }
}

.page-section.image-overlay {
  padding-top: 0;
  position: relative;
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay {
    padding-top: 7.6923076923rem;
    padding-bottom: 7.6923076923rem;
    margin-bottom: 3.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.image-overlay {
    padding-top: 10rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.image-overlay {
    padding-top: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.image-overlay {
    padding-bottom: 10rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.image-overlay {
    padding-bottom: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.image-overlay {
    margin-bottom: 5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.image-overlay {
    margin-bottom: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .grid-x.center {
    justify-content: center;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .grid-x.right {
    justify-content: flex-end;
  }
}
.page-section.image-overlay .image-bg {
  height: 225px;
  background-size: cover;
  background-position: center center;
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .image-bg {
    position: absolute;
    z-index: 1;
    height: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.page-section.image-overlay .cell {
  padding-top: 3.8461538462rem;
  padding-bottom: 3.8461538462rem;
  padding-left: 3.3653846154rem;
  padding-right: 3.3653846154rem;
  margin-top: -40px;
  background-color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .cell {
    padding-top: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.image-overlay .cell {
    padding-top: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .cell {
    padding-bottom: 5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.image-overlay .cell {
    padding-bottom: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .cell {
    padding-left: 4.7115384615rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.image-overlay .cell {
    padding-left: 5.3846153846rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .cell {
    padding-right: 4.7115384615rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.image-overlay .cell {
    padding-right: 5.3846153846rem;
  }
}
.page-section.image-overlay .cell > *:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .page-section.image-overlay .cell {
    z-index: 2;
    margin-top: 0;
  }
}

.page-section.carousel-overlay {
  padding-top: 0;
  position: relative;
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay {
    padding-top: 7.6923076923rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.carousel-overlay {
    padding-top: 10rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.carousel-overlay {
    padding-top: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .grid-x.center {
    justify-content: center;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .grid-x.right {
    justify-content: flex-end;
  }
}
.page-section.carousel-overlay .image-bg {
  height: 225px;
  background-size: cover;
  background-position: center center;
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .image-bg {
    position: absolute;
    z-index: 1;
    height: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.page-section.carousel-overlay .carousel {
  z-index: 2;
  position: relative;
  text-align: center;
}
.page-section.carousel-overlay .carousel .t-slider {
  background: #ffffff;
  text-align: center;
  margin-bottom: 0;
}
.page-section.carousel-overlay .carousel .t-slider .t-slide {
  text-align: center;
  padding-top: 2.6923076923rem;
  padding-bottom: 25px;
  background: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-top: 3.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-top: 4.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-left: 3.4615384615rem;
    padding-right: 3.4615384615rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-left: 4.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-left: 5.5384615385rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-right: 4.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide {
    padding-right: 5.5384615385rem;
  }
}
.page-section.carousel-overlay .carousel .t-slider .t-slide .slide-copy {
  margin-bottom: 35px;
}
.page-section.carousel-overlay .carousel .t-slider .t-slide .t-position {
  margin-bottom: 2.6923076923rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide .t-position {
    margin-bottom: 3.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.carousel-overlay .carousel .t-slider .t-slide .t-position {
    margin-bottom: 4.3076923077rem;
  }
}
.page-section.carousel-overlay .carousel .t-slider ul.slick-dots {
  position: relative;
  bottom: 20px;
}
.page-section.carousel-overlay .carousel .t-slider ul.slick-dots li {
  margin: 0;
}
.page-section.carousel-overlay .carousel .t-slider ul.slick-dots li button {
  height: 0;
  width: 0;
  padding: 10px;
}
.page-section.carousel-overlay .carousel .t-slider ul.slick-dots li button:before {
  font-size: 14px;
}

.page-section.expandable-content .accordion {
  margin-bottom: 0;
  padding-left: 0;
}
.page-section.expandable-content .accordion .accordion-item {
  margin-bottom: 20px;
}
.page-section.expandable-content .accordion .accordion-item:last-child {
  margin-bottom: 0;
}
.page-section.expandable-content .accordion .accordion-item a.accordion-title {
  padding: 1.1538461538rem 1.5384615385rem;
  background-color: #e6e6e6;
  text-decoration: none;
  padding-right: 63px;
}
@media print, screen and (min-width: 40em) {
  .page-section.expandable-content .accordion .accordion-item a.accordion-title {
    padding: 1.5384615385rem 1.9230769231rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.expandable-content .accordion .accordion-item a.accordion-title {
    padding: 1.9230769231rem 2.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.expandable-content .accordion .accordion-item a.accordion-title {
    padding-right: 73px;
  }
}
.page-section.expandable-content .accordion .accordion-item a.accordion-title h3 {
  margin-bottom: 0;
}
.page-section.expandable-content .accordion .accordion-item a.accordion-title::before {
  background-color: #000000;
  border-radius: 100%;
  width: 33px;
  height: 33px;
  text-align: center;
  color: #ffffff;
  line-height: 1.3;
  font-size: 1.8461538462rem;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  margin-top: 0;
  display: flex;
  align-self: center;
  justify-content: center;
}
@media print, screen and (min-width: 40em) {
  .page-section.expandable-content .accordion .accordion-item a.accordion-title::before {
    right: 25px;
  }
}
.page-section.expandable-content .accordion .accordion-item a.accordion-title:hover, .page-section.expandable-content .accordion .accordion-item a.accordion-title:focus {
  color: inherit;
}
.page-section.expandable-content .accordion .accordion-content {
  padding: 1.1538461538rem 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.expandable-content .accordion .accordion-content {
    padding: 1.5384615385rem 1.9230769231rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.expandable-content .accordion .accordion-content {
    padding: 1.9230769231rem 2.3076923077rem;
  }
}
.page-section.expandable-content .accordion .accordion-content > *:last-child {
  margin-bottom: 0;
}
.page-section.expandable-content .accordion .accordion-content ul + p {
  margin-top: 20px;
}

.page-section.cta {
  padding-top: 3.2692307692rem;
  padding-bottom: 3.2692307692rem;
}
@media print, screen and (min-width: 40em) {
  .page-section.cta {
    padding-top: 4.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.cta {
    padding-top: 5.2307692308rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-section.cta {
    padding-bottom: 4.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-section.cta {
    padding-bottom: 5.2307692308rem;
  }
}
.page-section.cta .cta-copy {
  margin-bottom: 15px;
}
.page-section.cta .cta-copy > *:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .page-section.cta .cta-copy {
    margin-bottom: 0;
    padding-right: 1.9230769231rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-section.cta .cta-copy {
    padding-right: 2.6923076923rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-section.cta .cta-copy {
    padding-right: 3.0769230769rem;
  }
}
.page-section.cta .cta-button .button.hollow {
  margin-bottom: 0;
  color: #000000;
}

footer.footer {
  background-color: #000000;
  color: #ffffff;
}
footer.footer h1, footer.footer h2, footer.footer h3, footer.footer h4, footer.footer h5, footer.footer h6,
footer.footer .h1, footer.footer .h2, footer.footer .h3, footer.footer .h4, footer.footer .h5, footer.footer .h6 {
  color: #ffffff;
}
footer.footer a {
  color: #ffffff;
}
footer.footer a.button {
  color: #ffffff;
  text-transform: uppercase;
}
footer.footer a.button.hollow {
  border: 2px solid #ffffff;
}
footer.footer a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
footer.footer .footer-content {
  padding-top: 2.8846153846rem;
  padding-bottom: 2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content {
    padding-top: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  footer.footer .footer-content {
    padding-top: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  footer.footer .footer-content {
    padding-bottom: 4.6153846154rem;
  }
}
footer.footer .footer-content .cell {
  margin-bottom: 1.9230769231rem;
}
footer.footer .footer-content .cell > *:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content .cell {
    margin-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  footer.footer .footer-content .cell {
    margin-bottom: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content .cell {
    margin-bottom: 0;
  }
}
footer.footer .footer-content .cell a {
  color: #FBE54D;
}
footer.footer .footer-content .cell a.button {
  color: #ffffff;
}
footer.footer .footer-content .cell p {
  margin-bottom: 0;
}
footer.footer .footer-content .cell.footer-navigation .footer-nav ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
footer.footer .footer-content .cell.footer-contact {
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content .cell.footer-contact {
    text-align: left;
  }
}
footer.footer .footer-content .cell .disclaimer {
  font-size: 0.7692307692rem;
  margin-top: 35px;
}
footer.footer .footer-content .cell.footer-social ul.social {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content .cell.footer-social ul.social {
    justify-content: flex-end;
    margin-bottom: 1.9230769231rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  footer.footer .footer-content .cell.footer-social ul.social {
    margin-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  footer.footer .footer-content .cell.footer-social ul.social {
    margin-bottom: 3.0769230769rem;
  }
}
footer.footer .footer-content .cell.footer-social ul.social li {
  margin-right: 10px;
}
footer.footer .footer-content .cell.footer-social ul.social li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background-color: #FBE54D;
  color: #000000;
  transition: background-color 200ms;
  border-radius: 100%;
  text-decoration: none;
}
footer.footer .footer-content .cell.footer-social ul.social li a svg path {
  fill: #000000;
}
footer.footer .footer-content .cell.footer-social ul.social li a:hover {
  background-color: rgba(251, 229, 77, 0.7);
}
footer.footer .footer-content .cell.footer-social ul.social li:last-child {
  margin-right: 0;
}
footer.footer .footer-content .cell.footer-social .subscribe {
  display: flex;
  margin: 15px auto 0;
  justify-content: center;
}
@media print, screen and (min-width: 40em) {
  footer.footer .footer-content .cell.footer-social .subscribe {
    display: flex;
    justify-content: flex-end;
  }
  footer.footer .footer-content .cell.footer-social .subscribe a {
    color: #ffffff;
  }
}
footer.footer .copyright {
  background-color: #000000;
  font-size: 1.0769230769rem;
  text-align: center;
  padding: 10px 0;
  color: #ffffff;
}
footer.footer .copyright h1, footer.footer .copyright h2, footer.footer .copyright h3, footer.footer .copyright h4, footer.footer .copyright h5, footer.footer .copyright h6,
footer.footer .copyright .h1, footer.footer .copyright .h2, footer.footer .copyright .h3, footer.footer .copyright .h4, footer.footer .copyright .h5, footer.footer .copyright .h6 {
  color: #ffffff;
}
footer.footer .copyright a {
  color: #ffffff;
}
footer.footer .copyright a.button {
  color: #ffffff;
  text-transform: uppercase;
}
footer.footer .copyright a.button.hollow {
  border: 2px solid #ffffff;
}
footer.footer .copyright a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
@media print, screen and (min-width: 40em) {
  footer.footer .copyright {
    text-align: left;
  }
}
footer.footer .copyright p {
  margin-bottom: 0;
  font-size: 14px;
}
@media print, screen and (min-width: 40em) {
  footer.footer .copyright p {
    display: inline-block;
  }
}
footer.footer .copyright ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@media print, screen and (min-width: 40em) {
  footer.footer .copyright ul {
    display: inline-block;
  }
}
footer.footer .copyright ul li {
  display: inline-block;
}
footer.footer .copyright ul li a {
  color: #ffffff;
  display: block;
  padding-right: 8px;
  padding-left: 3px;
  line-height: 1;
}
footer.footer .copyright ul li:first-child a {
  padding-left: 0;
}
@media print, screen and (min-width: 40em) {
  footer.footer .copyright ul li:first-child a {
    padding-left: 6px;
    border-left: 1px solid #ffffff;
    margin-left: 2px;
  }
}
footer.footer .copyright ul li:last-child a {
  padding-right: 0;
  border-right: none;
}

.press-intro {
  padding-top: 1.5384615385rem;
  padding-bottom: 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .press-intro {
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .press-intro {
    padding-top: 2.4615384615rem;
  }
}
@media print, screen and (min-width: 40em) {
  .press-intro {
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .press-intro {
    padding-bottom: 2.4615384615rem;
  }
}

.press-item {
  text-decoration: none;
  margin-bottom: 25px;
}
.press-item h3 {
  font-weight: 700;
}
.press-item h3.post-list-title {
  color: #000000;
  font-family: "noto-sans", sans-serif;
}
.press-item .press-button {
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .press-item .press-button {
    text-align: right;
  }
}
.press-item .post-list-image {
  display: flex;
}
.press-item .post-list-image img {
  flex-grow: 1;
}

.screening-intro {
  padding-top: 1.5384615385rem;
  padding-bottom: 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .screening-intro {
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .screening-intro {
    padding-top: 2.4615384615rem;
  }
}
@media print, screen and (min-width: 40em) {
  .screening-intro {
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .screening-intro {
    padding-bottom: 2.4615384615rem;
  }
}

.upcoming-item {
  padding-top: 2.8846153846rem;
  padding-bottom: 2.8846153846rem;
  align-items: flex-start;
  border-bottom: 2px solid #f2f2f2;
}
@media print, screen and (min-width: 40em) {
  .upcoming-item {
    padding-top: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .upcoming-item {
    padding-top: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  .upcoming-item {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .upcoming-item {
    padding-bottom: 4.6153846154rem;
  }
}
.upcoming-item > *:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .upcoming-item {
    align-items: center;
  }
}
.upcoming-item:first-of-type {
  padding-top: 0;
}
@media print, screen and (min-width: 40em) {
  .upcoming-item .screening-meta {
    display: flex;
  }
}
.upcoming-item .screening-meta .date h3 {
  font-weight: 700;
  font-size: 1.3846153846rem;
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .upcoming-item .screening-meta .date h3 {
    font-size: 1.6923076923rem;
  }
}
.upcoming-item .mid-cell {
  display: flex;
  flex-direction: row;
  padding-top: 1.1538461538rem;
  padding-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .upcoming-item .mid-cell {
    padding-top: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .upcoming-item .mid-cell {
    padding-top: 1.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) {
  .upcoming-item .mid-cell {
    padding-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .upcoming-item .mid-cell {
    padding-bottom: 1.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) {
  .upcoming-item .mid-cell {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .upcoming-item .mid-cell {
    padding-top: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .upcoming-item .mid-cell {
    padding-top: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .upcoming-item .mid-cell {
    padding-bottom: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .upcoming-item .mid-cell {
    padding-bottom: 0;
  }
}
.upcoming-item .mid-cell .cat-name .button {
  font-size: 1rem;
  margin-right: 10px;
  background: #000000;
  color: #ffffff;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  max-width: 112px;
  padding: 5px 10px;
  margin-bottom: 0;
  cursor: inherit;
}
.upcoming-item .mid-cell .location {
  font-weight: 700;
}
.upcoming-item .press-button {
  display: flex;
  justify-content: flex-end;
  text-align: right;
}
.upcoming-item .press-button .text-button {
  text-transform: none;
  font-size: 1rem;
}
.upcoming-item .post-list-image {
  display: flex;
}
.upcoming-item .post-list-image img {
  flex-grow: 1;
}

.resource-intro {
  padding-bottom: 1.5384615385rem;
}
@media print, screen and (min-width: 40em) {
  .resource-intro {
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-intro {
    padding-bottom: 2.4615384615rem;
  }
}

.resource-list .side-nav {
  margin-bottom: 1.9230769231rem;
}
@media print, screen and (min-width: 40em) {
  .resource-list .side-nav {
    margin-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .side-nav {
    margin-bottom: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .resource-list .side-nav {
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .resource-list .side-nav {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .resource-list .side-nav {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .resource-list .side-nav {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .resource-list .side-nav {
    margin-bottom: 0;
  }
}
.resource-list .side-nav .resource-filter-category a {
  display: block;
  color: #0A6099;
  margin-bottom: 10px;
}
.resource-list .side-nav .resource-filter-category a.active {
  font-weight: 700;
}
.resource-list .post-list-item {
  padding-top: 1.9230769231rem;
  padding-bottom: 1.9230769231rem;
  margin-bottom: 1.9230769231rem;
  padding-left: 0.9615384615rem;
  padding-right: 0.9615384615rem;
  position: relative;
  overflow: hidden;
  border: 2px solid #f2f2f2;
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item {
    padding-top: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item {
    padding-top: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item {
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item {
    padding-bottom: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item {
    margin-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item {
    margin-bottom: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item {
    padding-left: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item {
    padding-left: 1.5384615385rem;
  }
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item {
    padding-right: 1.3461538462rem;
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item {
    padding-right: 1.5384615385rem;
  }
}
.resource-list .post-list-item:last-of-type {
  padding-bottom: 3.0769230769rem !important;
}
.resource-list .post-list-item a {
  color: #000000;
  text-decoration: none;
}
.resource-list .post-list-item .learn-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 250px;
  margin-top: 10px;
}
.resource-list .post-list-item .learn-grid a {
  text-decoration: underline;
  position: relative;
}
.resource-list .post-list-item .learn-grid a.read-more {
  display: block;
  text-transform: none;
  color: #0A6099;
}
.resource-list .post-list-item .learn-grid a.website-link {
  font-weight: bold;
  color: #0A6099;
}
.resource-list .post-list-item .learn-grid a.website-link:after {
  content: "\e900";
  font-family: icomoon;
  position: absolute;
  right: 5px;
}
.resource-list .post-list-item .post-list-image {
  text-align: center;
}
.resource-list .post-list-item .post-list-image img {
  max-height: 100px;
}
@media print, screen and (min-width: 40em) {
  .resource-list .post-list-item .post-list-image img {
    max-height: calc((20vw - 35px) / 0.7);
  }
}
@media print, screen and (min-width: 64em) {
  .resource-list .post-list-item .post-list-image img {
    max-height: calc((20vw - 40px) * 0.7);
  }
}
@media screen and (min-width: 75em) {
  .resource-list .post-list-item .post-list-image img {
    max-height: 130px;
  }
}
.resource-list .post-list-item:last-child {
  padding-bottom: 0;
}
.resource-list .post-title {
  margin-bottom: 10px;
}
.resource-list .post-title h3 {
  margin-bottom: 10px;
}
.resource-list .post-title .button {
  color: #ffffff;
  font-size: 0.7692307692rem;
  padding: 5px 10px;
  margin: 0 5px;
}

.page-header.single-resource {
  padding-top: 4.6153846154rem;
  padding-bottom: 4.6153846154rem;
}
@media print, screen and (min-width: 40em) {
  .page-header.single-resource {
    padding-top: 6rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.single-resource {
    padding-top: 7.3846153846rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-header.single-resource {
    padding-bottom: 6rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.single-resource {
    padding-bottom: 7.3846153846rem;
  }
}
.page-header.single-resource, .page-header.category-header {
  background: #000000;
}
.page-header.single-resource .cat-buttons, .page-header.category-header .cat-buttons {
  padding-top: 1.1538461538rem;
  padding-bottom: 1.1538461538rem;
}
@media print, screen and (min-width: 40em) {
  .page-header.single-resource .cat-buttons, .page-header.category-header .cat-buttons {
    padding-top: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.single-resource .cat-buttons, .page-header.category-header .cat-buttons {
    padding-top: 1.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-header.single-resource .cat-buttons, .page-header.category-header .cat-buttons {
    padding-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.single-resource .cat-buttons, .page-header.category-header .cat-buttons {
    padding-bottom: 1.8461538462rem;
  }
}
.page-header.single-resource .cat-buttons .button, .page-header.category-header .cat-buttons .button {
  background: #343434;
  font-size: 1.0769230769rem;
  display: inline-block;
  vertical-align: top;
  padding: 5px 15px;
  text-transform: none;
  font-weight: 600;
  margin: 0 5px;
}
.page-header.single-resource .text-button, .page-header.category-header .text-button {
  text-transform: none;
  font-weight: 600;
}

.single-resource img.resource-logo {
  max-width: 365px;
}
.single-resource .resource-content {
  padding-top: 1.9230769231rem;
  padding-bottom: 1.9230769231rem;
}
@media print, screen and (min-width: 40em) {
  .single-resource .resource-content {
    padding-top: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .single-resource .resource-content {
    padding-top: 3.0769230769rem;
  }
}
@media print, screen and (min-width: 40em) {
  .single-resource .resource-content {
    padding-bottom: 2.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .single-resource .resource-content {
    padding-bottom: 3.0769230769rem;
  }
}
.single-resource .resource-content p:last-of-type {
  margin-bottom: 0;
}
.single-resource .resource-website .button {
  letter-spacing: 1px;
}

.related-list {
  padding-top: 0;
}

form.resource-filter {
  margin-bottom: 30px;
}

.mobile-resources {
  background: #000000;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 1.3846153846rem;
  font-weight: 600;
  position: relative;
  max-width: 300px;
  margin: 0 auto;
}
.mobile-resources h1, .mobile-resources h2, .mobile-resources h3, .mobile-resources h4, .mobile-resources h5, .mobile-resources h6,
.mobile-resources .h1, .mobile-resources .h2, .mobile-resources .h3, .mobile-resources .h4, .mobile-resources .h5, .mobile-resources .h6 {
  color: #ffffff;
}
.mobile-resources a {
  color: #ffffff;
}
.mobile-resources a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.mobile-resources a.button.hollow {
  border: 2px solid #ffffff;
}
.mobile-resources a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.mobile-resources:after {
  content: "+";
  position: absolute;
  right: 10px;
}
@media print, screen and (min-width: 40em) {
  .mobile-resources {
    display: none;
  }
}
.mobile-resources.active:after {
  content: "-";
}

.resource-nav.mobile {
  display: none;
  background: #000000;
  color: #ffffff;
  padding: 5px 10px;
  font-size: 1.0769230769rem;
  font-weight: 600;
  max-width: 300px;
  margin: 0 auto;
}
.resource-nav.mobile h1, .resource-nav.mobile h2, .resource-nav.mobile h3, .resource-nav.mobile h4, .resource-nav.mobile h5, .resource-nav.mobile h6,
.resource-nav.mobile .h1, .resource-nav.mobile .h2, .resource-nav.mobile .h3, .resource-nav.mobile .h4, .resource-nav.mobile .h5, .resource-nav.mobile .h6 {
  color: #ffffff;
}
.resource-nav.mobile a {
  color: #ffffff;
}
.resource-nav.mobile a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.resource-nav.mobile a.button.hollow {
  border: 2px solid #ffffff;
}
.resource-nav.mobile a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.resource-nav.mobile a {
  color: #ffffff !important;
}

.video-wrap {
  background-image: url("/wp-content/uploads/2023/06/jess-straight-cu-scaled.jpeg");
  background-size: cover;
  background-position: center center;
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
  position: relative;
}
.video-wrap h1, .video-wrap h2, .video-wrap h3, .video-wrap h4, .video-wrap h5, .video-wrap h6,
.video-wrap .h1, .video-wrap .h2, .video-wrap .h3, .video-wrap .h4, .video-wrap .h5, .video-wrap .h6 {
  color: #ffffff;
}
.video-wrap a {
  color: #ffffff;
}
.video-wrap a.button {
  color: #ffffff;
  text-transform: uppercase;
}
.video-wrap a.button.hollow {
  border: 2px solid #ffffff;
}
.video-wrap a.button:hover {
  color: rgba(255, 255, 255, 0.8);
}
.video-wrap .protect-video_wrapper {
  padding-top: 7.6923076923rem;
  padding-bottom: 7.6923076923rem;
  padding-left: 3.8461538462rem;
  padding-right: 3.8461538462rem;
  background-color: rgba(0, 0, 0, 0.7);
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .video-wrap .protect-video_wrapper {
    padding-top: 10rem;
  }
}
@media print, screen and (min-width: 64em) {
  .video-wrap .protect-video_wrapper {
    padding-top: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .video-wrap .protect-video_wrapper {
    padding-bottom: 10rem;
  }
}
@media print, screen and (min-width: 64em) {
  .video-wrap .protect-video_wrapper {
    padding-bottom: 12.3076923077rem;
  }
}
@media print, screen and (min-width: 40em) {
  .video-wrap .protect-video_wrapper {
    padding-left: 5.3846153846rem;
  }
}
@media print, screen and (min-width: 64em) {
  .video-wrap .protect-video_wrapper {
    padding-left: 6.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) {
  .video-wrap .protect-video_wrapper {
    padding-right: 5.3846153846rem;
  }
}
@media print, screen and (min-width: 64em) {
  .video-wrap .protect-video_wrapper {
    padding-right: 6.1538461538rem;
  }
}
.video-wrap .protect-video_wrapper > *:last-child {
  margin-bottom: 0;
}
.video-wrap .protect-video_wrapper h2 {
  font-family: "noto-sans", sans-serif;
  font-weight: 600;
}
.video-wrap .protect-video_wrapper label {
  color: #ffffff;
}
.video-wrap .protect-video_wrapper input[type=text]::-moz-placeholder, .video-wrap .protect-video_wrapper input[type=email]::-moz-placeholder {
  color: #000000;
}
.video-wrap .protect-video_wrapper input[type=text]::placeholder, .video-wrap .protect-video_wrapper input[type=email]::placeholder {
  color: #000000;
}
.video-wrap .protect-video_wrapper .top_label {
  text-align: center;
  justify-content: center;
}
.video-wrap .protect-video_wrapper .top_label input[type=submit] {
  color: #ffffff;
  border: 2px solid #ffffff;
}
.video-wrap .protect-video_wrapper .top_label input[type=submit]:after {
  content: "\e901";
  font-family: "icomoon";
  color: #ffffff;
}

.gform-body input[type=radio] {
  margin-bottom: 0 !important;
}

form.post-password-form {
  max-width: 700px;
  margin: 0 auto;
}
form.post-password-form h3 {
  font-family: "noto-sans", sans-serif;
}
form.post-password-form p input[type=submit] {
  background: #FBE54D;
  color: #000000;
  border: 0;
  padding: 10px 35px;
  font-size: 1.3846153846rem;
  text-transform: uppercase;
  font-family: "noto-sans", sans-serif;
  font-weight: 500;
  margin-top: 30px;
}
form.post-password-form p input[type=password]::-moz-placeholder {
  color: #777;
}
form.post-password-form p input[type=password]::placeholder {
  color: #777;
}

.page-header.toolkit-header {
  background: #f2f2f2;
  color: #000000;
}
.page-header.toolkit-header h1, .page-header.toolkit-header h2, .page-header.toolkit-header h3, .page-header.toolkit-header h4, .page-header.toolkit-header h5, .page-header.toolkit-header h6,
.page-header.toolkit-header .h1, .page-header.toolkit-header .h2, .page-header.toolkit-header .h3, .page-header.toolkit-header .h4, .page-header.toolkit-header .h5, .page-header.toolkit-header .h6 {
  color: #000000;
}
.page-header.toolkit-header a {
  color: #000000;
}
.page-header.toolkit-header a.button {
  color: #000000;
  text-transform: uppercase;
}
.page-header.toolkit-header a.button.hollow {
  border: 2px solid #000000;
}
.page-header.toolkit-header a.button:hover {
  color: rgba(0, 0, 0, 0.8);
}
.page-header.toolkit-header.full-header {
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
}
@media print, screen and (min-width: 64em) {
  .page-header.toolkit-header.full-header {
    padding-bottom: 11.5384615385rem;
    padding-top: 7.6923076923rem;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 40em) {
  .page-header.toolkit-header.full-header {
    padding-bottom: 15rem;
  }
}
@media print, screen and (min-width: 64em) and (min-width: 64em) {
  .page-header.toolkit-header.full-header {
    padding-bottom: 18.4615384615rem;
  }
}
.page-header.toolkit-header.full-header h1 {
  padding-bottom: 2.3076923077rem;
}
.page-header.toolkit-header.full-header img.background {
  -o-object-fit: contain;
     object-fit: contain;
  left: 0;
  display: flex;
  align-items: flex-end;
  margin-top: 25px;
}
@media print, screen and (min-width: 64em) {
  .page-header.toolkit-header.full-header img.background {
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -175px;
  }
}
@media screen and (min-width: 75em) {
  .page-header.toolkit-header.full-header img.background {
    bottom: -135px;
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 90em) {
  .page-header.toolkit-header.full-header img.background {
    bottom: -120px;
  }
}
.page-header.toolkit-header.has-image {
  padding-top: 2.8846153846rem;
  padding-bottom: 2.8846153846rem;
}
@media print, screen and (min-width: 40em) {
  .page-header.toolkit-header.has-image {
    padding-top: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.toolkit-header.has-image {
    padding-top: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-header.toolkit-header.has-image {
    padding-bottom: 3.75rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-header.toolkit-header.has-image {
    padding-bottom: 4.6153846154rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-header.toolkit-header.has-image {
    padding-top: 1.1538461538rem;
    padding-bottom: 1.1538461538rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-header.toolkit-header.has-image {
    padding-top: 1.5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-header.toolkit-header.has-image {
    padding-top: 1.8461538462rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 40em) {
  .page-header.toolkit-header.has-image {
    padding-bottom: 1.5rem;
  }
}
@media print, screen and (min-width: 40em) and (min-width: 64em) {
  .page-header.toolkit-header.has-image {
    padding-bottom: 1.8461538462rem;
  }
}
.page-header.toolkit-header.has-image .header-image {
  padding-top: 30px;
}
@media print, screen and (min-width: 40em) {
  .page-header.toolkit-header.has-image .header-image {
    padding-top: 0;
  }
}
.page-header.toolkit-header a {
  color: #0A6099;
}

.page-navigation {
  padding-top: 0.9615384615rem;
  padding-bottom: 0.9615384615rem;
  width: 100%;
  background-color: #ffffff;
}
@media print, screen and (min-width: 40em) {
  .page-navigation {
    padding-top: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-navigation {
    padding-top: 1.5384615385rem;
  }
}
@media print, screen and (min-width: 40em) {
  .page-navigation {
    padding-bottom: 1.25rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-navigation {
    padding-bottom: 1.5384615385rem;
  }
}
.page-navigation .cell {
  display: flex;
  align-items: center;
}
.page-navigation .cell > .page-navigation-container {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  position: relative;
  width: 100%;
  height: 37px;
  flex-wrap: wrap;
  z-index: 5;
}
.page-navigation .cell > .page-navigation-container::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 35px;
  background-color: #000000;
  z-index: 6;
}
.page-navigation .cell > .page-navigation-container::after {
  content: "";
  display: block;
  position: absolute;
  right: 12.5px;
  top: 16px;
  border-top: 7px solid #ffffff;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  z-index: 6;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container {
    height: auto;
    flex-wrap: nowrap;
    border: none;
    height: auto;
  }
  .page-navigation .cell > .page-navigation-container::before, .page-navigation .cell > .page-navigation-container::after {
    display: none;
  }
}
.page-navigation .cell > .page-navigation-container a {
  width: 100%;
  display: none;
  text-decoration: none;
  padding: 7px 10px;
  order: 2;
  font-size: 1.0769230769rem;
  position: relative;
  background-color: #ffffff;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  border-left: 1px solid #000000;
  z-index: 5;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a {
    display: block !important;
    background-color: none;
    border-top: none;
    border-left: 0;
    border-right: 0;
    margin: 0 10px;
    padding: 5px 0;
    order: initial;
    color: #000000;
  }
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a {
    font-size: 1.2307692308rem;
    margin: 0 15px;
  }
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a:after {
    content: "";
    background: #47B7D1;
    height: 4px;
    position: absolute;
    bottom: -10px;
    width: 100%;
    left: 0;
  }
}
.page-navigation .cell > .page-navigation-container a.is-active {
  display: block !important;
  order: 1;
  color: #000000;
  border-bottom: 1px solid #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a.is-active {
    order: initial;
    color: #0A6099;
    border-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a.is-active:after {
    content: "";
    background: #000000;
    height: 4px;
    position: absolute;
    bottom: -10px;
    width: 100%;
    left: 0;
  }
}
.page-navigation .cell > .page-navigation-container a:first-child {
  margin-left: 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a:first-child {
    border-top: 0;
    border-bottom: initial;
  }
}
.page-navigation .cell > .page-navigation-container a:last-child {
  margin-right: 0;
  border-bottom: 1px solid #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a:last-child {
    border-bottom: 0;
  }
}
.page-navigation .cell > .page-navigation-container a:nth-child(2) {
  border-top: 0;
}
.page-navigation .cell > .page-navigation-container a:nth-child(2).is-active {
  border-top: 1px solid #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a:nth-child(2).is-active {
    border-top: 0;
  }
}
.page-navigation .cell > .page-navigation-container a.is-bottom {
  border-bottom: 1px solid #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell > .page-navigation-container a.is-bottom {
    border-bottom: 0;
  }
}
.page-navigation .cell a.button {
  flex: 0 0 auto;
  margin-bottom: 0;
  margin-left: 20px;
  padding: 9px 15px;
}
@media print, screen and (min-width: 64em) {
  .page-navigation .cell a.button {
    margin-left: 30px;
    display: block;
  }
}
.page-navigation:not(.is-stuck) .cell > div a:first-child {
  display: block !important;
  color: #000000;
}
@media print, screen and (min-width: 64em) {
  .page-navigation:not(.is-stuck) .cell > div a:first-child {
    color: #000000;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfZm9udHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiX2NvbG9ycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwic2xpY2svX3NsaWNrLnNjc3MiLCJzbGljay9fc2xpY2stdGhlbWUuc2NzcyIsImNvbXBvbmVudHMvX3dvcmRwcmVzcy5zY3NzIiwiY29tcG9uZW50cy9fYmFzZS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtYnVpbGRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19wcmVzcy5zY3NzIiwiY29tcG9uZW50cy9fc2NyZWVuaW5ncy5zY3NzIiwiY29tcG9uZW50cy9fcmVzb3VyY2VzLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fdG9vbGtpdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ1FoQjtFQUNJLHNCQUFBO0VBQ0EsdUNBQUE7RUFDQSxvU0FBQTtFQUtBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBRFZKO0FDYUE7O0VBRUksK0VBQUE7RUFDQSxpQ0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFFQSxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7QURaSjs7QUNlQTtFQUNJLGdCQUFBO0FEWko7O0FDZUE7RUFDSSxnQkFBQTtBRFpKOztBQ2VBO0VBQ0ksZ0JBQUE7QURaSjs7QUNlQTtFQUNJLGdCQUFBO0FEWko7O0FDZUE7RUFDSSxnQkFBQTtBRFpKOztBQ2VBO0VBQ0ksZ0JBQUE7QURaSjs7QUNlQTtFQUNJLGdCQUFBO0FEWko7O0FDZUE7RUFDSSxnQkFBQTtBRFpKOztBQ2VBO0VBQ0ksZ0JBQUE7QURaSjs7QUUxREE7Ozs7O0VBQUE7QUNtTFE7RUN0SU47SUFDRSxXQUFBO0lBQ0EsVUFBQTtJQUNBLGNBQUE7RUp1QkY7QUFDRjtBS3JFRSwyRUFBQTtBQVFBO0VBQ0UsaUJBQUE7RUFDQSw4QkFBQTtBTGdFSjs7QUt4REU7RUFDRSxTQUFBO0FMMkRKOztBS3JERTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBTHdESjs7QUsvQ0U7RUFDRSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtBTGtESjs7QUs1Q0U7RUFDRSxpQ0FBQTtFQUNBLGNBQUE7QUwrQ0o7O0FLdkNFO0VBQ0UsNkJBQUE7QUwwQ0o7O0FLcENFO0VBQ0UsZ0JBQUE7RUFDQSx5Q0FBQTtVQUFBLGlDQUFBO0FMdUNKOztBS2xDRTs7RUFFRSxtQkFBQTtBTHFDSjs7QUsvQkU7OztFQUdFLGlDQUFBO0VBQ0EsY0FBQTtBTGtDSjs7QUs3QkU7RUFDRSxjQUFBO0FMZ0NKOztBSzFCRTs7RUFFRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7QUw2Qko7O0FLMUJFO0VBQ0UsZUFBQTtBTDZCSjs7QUsxQkU7RUFDRSxXQUFBO0FMNkJKOztBS3JCRTtFQUNFLGtCQUFBO0FMd0JKOztBS2ZFOzs7OztFQUtFLG9CQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtBTGtCSjs7QUtaRTs7RUFFRSxpQkFBQTtBTGVKOztBS1RFOztFQUVFLG9CQUFBO0FMWUo7O0FLUEU7Ozs7RUFJRSwwQkFBQTtBTFVKOztBS0xFOzs7O0VBSUUsa0JBQUE7RUFDQSxVQUFBO0FMUUo7O0FLSEU7Ozs7RUFJRSw4QkFBQTtBTE1KOztBS0RFO0VBQ0UsOEJBQUE7QUxJSjs7QUtJRTtFQUNFLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0FMREo7O0FLTUU7RUFDRSx3QkFBQTtBTEhKOztBS1FFO0VBQ0UsY0FBQTtBTExKOztBS1dFOztFQUVFLHNCQUFBO0VBQ0EsVUFBQTtBTFJKOztBS2FFOztFQUVFLFlBQUE7QUxWSjs7QUtnQkU7RUFDRSw2QkFBQTtFQUNBLG9CQUFBO0FMYko7O0FLa0JFO0VBQ0Usd0JBQUE7QUxmSjs7QUtxQkU7RUFDRSwwQkFBQTtFQUNBLGFBQUE7QUxsQko7O0FLMEJFO0VBQ0UsY0FBQTtBTHZCSjs7QUs0QkU7RUFDRSxrQkFBQTtBTHpCSjs7QUtpQ0U7RUFDRSxhQUFBO0FMOUJKOztBS21DRTtFQUNFLGFBQUE7QUxoQ0o7O0FLd0NJOzs7Ozs7O0VBQ0UsYUFBQTtBTC9CTjs7QUtvQ0U7RUFDRSwyQkFBQTtFQUNBLHlCQUFBO0FMakNKOztBTXZIRTtFQUNFLHNGQUFBO0FOMEhKOztBTXZIRTtFQUNFLHNCQUFBO0VBQ0Esb0JDbEZlO0FQNE1uQjs7QU10SEU7OztFQUdFLG1CQUFBO0FOeUhKOztBTXJIRTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBVUEsbUJFcktJO0VGdUtKLG9DTDVLUztFSzZLVCxtQkwxS0s7RUsyS0wsZ0JDekdnQjtFRDBHaEIsY0UzS0k7RUY4S0YsbUNBQUE7RUFDQSxrQ0FBQTtBTjRHTjs7QU14R0U7RUFFRSxxQkFBQTtFQUNBLHNCQUFBO0VBR0EsZUFBQTtFQUNBLFlBQUE7RUFDQSwrQkFBQTtBTndHSjs7QU1wR0U7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkN0SFk7QVA2TmhCOztBTW5HRTtFQUNFLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQzdIWTtBUG1PaEI7O0FNL0ZJOzs7Ozs7RUFHRSwwQkFBQTtBTnFHTjs7QU1oR0U7RUFFRSxVQUFBO0VBQ0Esd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQ2pKWTtFRGtKWix1QkFBQTtFQUNBLGNBQUE7RUFDQSxZQzlJbUI7QVBnUHZCO0FTL0hFO0VBQ0UsVUFBQTtBVGlJSjs7QU1qR0U7RUFDRSxjQUFBO0VBQ0EsaUNBQUE7QU5vR0o7O0FNaEdFOzs7OztFQUtFLG9CQUFBO0FObUdKOztBTS9GRTtFQUNFLHlCQUFBO0FOa0dKOztBTS9GRTtFQUNFLHdCQUFBO0FOa0dKOztBVXBPRTs7RUFyQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUxTO0VBTVQsMkJBQUE7RUFDQSx3Qkg2WmM7RUczWmQseUJIeVphO0VHeFpiLGdCSGJjO0VHY2QseUJGekZNO0VFMEZOLDhDSHlaYTtFR3ZaYixvQkg2WWtCO0VHNVlsQiwwQkg2WWdCO0VHNVloQixtQlRoR087RVNpR1AsZ0JIL0JrQjtFR2dDbEIsY0ZqR007RUVvR0osMkRIbVplO0VHOVhmLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtBVnNQSjtBVXZRRTs7RUFDRSxhQUFBO0VBQ0EseUJId1lpQjtFR3ZZakIseUJGMUdJO0VFMkdKLDJCSHlZaUI7RUd0WWYsMkRId1lhO0FQaEluQjs7QVUxUEU7RUFDRSxlQUFBO0FWNlBKO0FVM1BJO0VBQ0UsWUFBQTtBVjZQTjs7QVV0UEk7OztFQUVFLHlCRjlJTztFRStJUCxtQkgyV2tCO0FQakh4Qjs7QVVyUEU7O0VBRUUsd0JBQUE7S0FBQSxxQkFBQTtVQUFBLGdCQUFBO0VBQ0EsZ0JIdkVZO0FQK1RoQjs7QVVwUEU7RUFDRSxzQkFBQTtBVnVQSjs7QVV0T0U7RUFDRSxjRjdLVTtBUnNaZDs7QVUxT0U7RUFDRSxjRjdLVTtBUnNaZDs7QVdoWkU7OztFQUdFLDJCQUFBO0FYbVpKOztBVy9ZRTs7RUFFRSxxQkFBQTtFQUNBLHdCQUFBO0VBRUEsNEJBQUE7RUFDQSw2Qkp5Y1c7RUl4Y1gsZ0JBQUE7QVhpWko7QVcvWUk7O0VBQ0UsZUFBQTtBWGtaTjs7QVc3WUU7O0VBRUUsNkJBQUE7QVhnWko7O0FXNVlFO0VBQ0UsV0FBQTtBWCtZSjs7QVkxWUU7RUFsQkEsY0FBQTtFQUNBLFNBQUE7RUFFQSxlTDRjcUI7RUszY3JCLG1CWHhCTztFV3lCUCxnQkw0Y3VCO0VLM2N2QixjSnpCTTtBUndiUjtBWWhaSTtFQVRGLDJCQUFBO0VBQ0EsZ0JMaUNrQjtFS2hDbEIsMEJBQUE7QVo0WkY7O0FhOWFFO0VBR0UsNEJBRmE7RUFHYixlTndjaUI7RU12Y2pCLGtCTndja0I7RU12Y2xCLGNMckJJO0FSb2NSOztBY2hiRTtFQUNFLGFBQUE7RUFDQSxXQUFBO0VBQ0EsOEJQa2NXO0VPL2JULG9CQUFBO0FkaWJOO0FjN2FNO0VBQ0Usc0JBQUE7QWQrYVI7QWMxYU07RUFDRSxzQkFBQTtBZDRhUjs7QWN2YUU7Ozs7RUFDRSxTQUFBO0VBQ0EsbUJBQUE7QWQ2YUo7O0FjcmFFO0VBRUUsZUFBQTtFQUNBLHlCUHdha0I7RU92YWxCLG1CTjVEUztFTThEVCxjTjFESTtFTTJESixrQkFBQTtFQUNBLG1CQUFBO0VBR0UsYUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtBZG9hTjtBYzVaTTtFQUNFLGVBQUE7QWQ4WlI7QWMzWk07RUFDRSxjQUFBO0FkNlpSOztBY3haRTtFQUVFLGdCQUFBO0VBR0UsYUFBQTtFQUNBLFlBQUE7QWR3Wk47O0FjcFpFO0VBRUUsY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFHRSxhQUFBO0VBQ0EsY0FBQTtBZG9aTjtBYzdZSTs7OztFQU9JLG1CQUFBO0VBQ0EsWUFBQTtFQUtGLGNBQUE7RUFDQSxpQkFBQTtFQUNBLDBCUGdYWTtBUHdCbEI7O0FlbmVFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0Fmc2VKOztBZW5lRTtFQUNFLGVBQUE7RUFDQSw4QkFBQTtBZnNlSjs7QWVuZUU7RUF4QkEseUJSb2NnQjtFUW5jaEIsd0JSa2NpQjtFUWpjakIseUJSZ2NnQjtBUCtEbEI7QWU3ZkU7RUFFRSxTQUFBO0VBQ0EsNkJBQUE7RUFDQSwwQlI2YmE7QVBpRWpCOztBZ0J6Y0U7RUEvREEsdUJBRlM7RUFHVCwyQkFBQTtFQUNBLHdCVGdlYztFUzlkZCx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUFDQSx5QlQyZGE7RVMxZGIsZ0JUcURjO0VTcERkLHlCUnZCTTtFUXlCTixvQlRnZGtCO0VTL2NsQiwwQlRnZGdCO0VTL2NoQixtQmY3Qk87RWU4QlAsZ0JUb0NrQjtFU25DbEIsY1I5Qk07RUNnSk4sd09BQUE7RU85R0UsOEJBQUE7RUFDQSxrREFBQTtFQUNBLDRCQUFBO0VBQ0Esd0JBQUE7RUFFQSw4QkFBQTtFQUlBLDJEVDRjZTtBUHdEbkI7QVM3WkU7RU9sRUE7SVBxRUksdVdBQUE7RVQ4Wko7QUFDRjtBZ0JyZ0JFO0VBQ0UsYUFBQTtFQUNBLHlCVGljaUI7RVNoY2pCLHlCUmpESTtFUWtESiwyQlRrY2lCO0VTL2JmLDJEVGljYTtBUG9FbkI7QWdCaGdCRTtFQUNFLHlCUmhFUztFUWlFVCxtQlR5Ym9CO0FQeUV4QjtBZ0I5ZkU7RUFDRSxhQUFBO0FoQmdnQko7QWdCN2ZFO0VBQ0UsWUFBQTtFQUNBLHNCQUFBO0FoQitmSjtBZ0I3ZkU7RUFDRSxjQUFBO0VBQ0EsaUJBQUE7QWhCK2ZKOztBaUJwaUJFO0VBQ0UscUJWZ091QjtFVS9OdkIseUJBQUE7QWpCdWlCSjtBaUJyaUJJO0VBQ0UsY1Y0TnFCO0FQMlUzQjtBaUJ4aUJJO0VBQ0UsY1Y0TnFCO0FQMlUzQjs7QWlCN2dCSTtFQUNFLGNWa01xQjtBUDhVM0I7O0FpQjNnQkU7RUF6QkEsYUFBQTtFQUNBLDRCQUFBO0VBQ0EsOEJWcWFhO0VVbmFiLDBCVm9Oc0I7RVVuTnRCLGlCaEJ2REs7RWdCd0RMLGNWaU5rQjtBUHNWcEI7QWlCamhCSTtFQUNFLGNBQUE7QWpCbWhCTjs7QWtCcllFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQUE7RUFDQSxVQUFBO0FsQndZSjs7QWtCcFlFO0VBQ0UsOEJYekNzQjtFVzJDdEIsa0JBQUE7RUFDQSxnQlg3Q21CO0VXOENuQixrQ1g1Q3VCO0FQa2IzQjs7QWtCbFlFOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7QWxCcVlKOztBa0JqWUU7O0VBRUUsaUJqQnZRRztFaUJ3UUgsb0JBQUE7QWxCb1lKOztBa0JoWUU7RUFDRSxjWG5FYztFV29FZCxvQkFBQTtBbEJtWUo7O0FrQi9YRTs7Ozs7O0VBTUUsZ0NqQjNSSTtFaUI0Ukosa0JqQjFSSztFaUIyUkwsbUJqQjNSSztFaUI0UkwsY1gvR1c7RVdnSFgsa0NYbkZvQjtBUHFkeEI7QWtCaFlJOzs7Ozs7RUFDRSxjQUFBO0VBQ0EsY1hyRm9CO0FQNGQxQjs7QWtCOVhRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQnNXWjs7QWtCcllRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQjZXWjs7QWtCNVlRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQm9YWjs7QWtCblpRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQjJYWjs7QWtCMVpRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQmtZWjs7QWtCamFRO0VBSUksMEJBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLDhCQUFBO0FsQnlZWjs7QUdwaUJRO0VlNEhBO0lBSUksMEJBRGlCO0VsQjBhM0I7RWtCN2FNO0lBSUksMEJBRGlCO0VsQjZhM0I7RWtCaGJNO0lBSUksMEJBRGlCO0VsQmdiM0I7RWtCbmJNO0lBSUksMEJBRGlCO0VsQm1iM0I7RWtCdGJNO0lBSUksMEJBRGlCO0VsQnNiM0I7RWtCemJNO0lBSUksMEJBRGlCO0VsQnliM0I7QUFDRjtBR3pqQlE7RWU0SEE7SUFJSSwwQkFEaUI7RWxCOGIzQjtFa0JqY007SUFJSSwwQkFEaUI7RWxCaWMzQjtFa0JwY007SUFJSSwwQkFEaUI7RWxCb2MzQjtFa0J2Y007SUFJSSwwQkFEaUI7RWxCdWMzQjtFa0IxY007SUFJSSwwQkFEaUI7RWxCMGMzQjtFa0I3Y007SUFJSSwwQkFEaUI7RWxCNmMzQjtBQUNGO0FrQjFhRTtFQUNFLG9CQUFBO0VBQ0EsY1Y3VUc7RVU4VUgsMEJYaklxQjtFV21JckIsZUFBQTtBbEIyYUo7QWtCemFJO0VBRUUsY1h4SWU7QVBrakJyQjtBa0JwYUk7RUFDRSxTQUFBO0FsQnNhTjs7QWtCamFFO0VBQ0UsV0FBQTtFQUVBLDJCWHhTVztFV3lTWCxTQUFBO0VBQ0EsNEJYcEpRO0VXc0pSLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0NYekpRO0VXMEpSLGNBQUE7QWxCa2FKOztBa0I5WkU7OztFQUdFLDhCWHpLc0I7RVcwS3RCLDRCWDdKa0I7RVc4SmxCLGdCWDVLbUI7QVA2a0J2Qjs7QWtCN1pFO0VBQ0Usa0JBQUE7QWxCZ2FKOztBa0I1WkU7RUFDRSxvQlh2S2U7RVd3S2YscUJYMUtjO0FQeWtCbEI7O0FrQjNaRTtFQUNFLG9CWDdLZTtBUDJrQm5COztBa0J6Wkk7RUFDRSxvQlhsTG9CO0VXbUxwQixnQkFBQTtBbEI0Wk47O0FrQnZaRTtFQUNFLG1CWHhMcUI7QVBrbEJ6QjtBa0J4Wkk7RUFDRSxxQlh6THdCO0VXMEx4QixpQmpCelpDO0FEbXpCUDs7QWtCclpFO0VBQ0UsMkJBQUE7RUFDQSwwRFgvTGlCO0VXZ01qQiw4QlgvTGdCO0FQdWxCcEI7QWtCdFpJO0VBQ0UsZ0JYeE5pQjtFV3lOakIsY1Z0YU07QVI4ekJaOztBa0IxWUU7RUFDRSxtQlgzTWE7RVc0TWIsWUFBQTtFQUNBLHFCQUFBO0FsQjZZSjs7QWtCellFO0VBQ0UsU0FBQTtBbEI0WUo7O0FrQmpZRTtFQUNFLFNBQUE7RUFDQSwwQ1hqT2dCO0VXbU9oQix5QlY5Y1M7RVVnZFQsNERYalNvQjtFV2tTcEIsY1Y3Y0k7QVIrMEJSOztBbUJodEJFO0VBQ0Usa0JabUhtQjtFWWxIbkIscUJabUhzQjtFWWpIdEIsbUJsQnBJSztFa0JxSUwsZ0JaNEdtQjtFWTNHbkIsY1h0SVE7QVJ3MUJaOztBbUI5c0JFO0VBQ0Usc0Jab0dhO0VZbkdiLGdCWm9HYztBUDZtQmxCOztBbUI3c0JFO0VBQ0UsaUJacUdhO0VZcEdiLGNBQUE7QW5CZ3RCSjtBbUI5c0JJO0VBQ0UsaUJBQUE7QW5CZ3RCTjs7QW1CMXNCSTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBbkI2c0JOOztBbUJ6c0JFO0VBakZBLGNBQUE7RUFDQSxjWGpGVTtFV2tGVixlWnNLZTtBUHduQmpCO0FtQjV4QkU7RUFDRSxhWm9La0I7QVAwbkJ0Qjs7QW1CMXNCRTtFQTdFQSx5QlprS1k7RVlqS1oseUJYaEdXO0VXa0dYLDREWjZFc0I7RVk1RXRCLG1CbEJoR087RWtCaUdQLGNYaEdNO0VXc0dOLGVBQUE7RUFDQSxlQUFBO0VBQ0EscUJBQUE7RUFFQSx3RFpvSmE7QVBnb0JmOztBbUI3c0JFO0VBdEZBLHlCWmtLWTtFWWpLWix5QlhoR1c7RVdrR1gsNERaNkVzQjtFWTVFdEIsbUJsQmhHTztFa0JpR1AsY1hoR007RVdnSE4sY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUVBLGFaMkltQjtFWTFJbkIscUJaMkl5QjtBUDJvQjNCOztBb0JuNEJVO0VBQ0UsZ0JBUlU7QXBCODRCdEI7O0FvQnY0QlU7RUFDRSxpQkFSVTtBcEJrNUJ0Qjs7QW9CMzRCVTtFQUNFLGtCQVJVO0FwQnM1QnRCOztBb0IvNEJVO0VBQ0UsbUJBUlU7QXBCMDVCdEI7O0FHOXVCUTtFaUIxS0U7SUFDRSxnQkFIVTtFcEIrNUJwQjtFb0I3NUJRO0lBQ0UsaUJBSFU7RXBCazZCcEI7RW9CaDZCUTtJQUNFLGtCQUhVO0VwQnE2QnBCO0VvQm42QlE7SUFDRSxtQkFIVTtFcEJ3NkJwQjtBQUNGO0FHN3ZCUTtFaUIxS0U7SUFDRSxnQkFIVTtFcEI2NkJwQjtFb0IzNkJRO0lBQ0UsaUJBSFU7RXBCZzdCcEI7RW9COTZCUTtJQUNFLGtCQUhVO0VwQm03QnBCO0VvQmo3QlE7SUFDRSxtQkFIVTtFcEJzN0JwQjtBQUNGO0FHdHdCUTtFaUIvS0U7SUFDRSxnQkFIVTtFcEIyN0JwQjtFb0J6N0JRO0lBQ0UsaUJBSFU7RXBCODdCcEI7RW9CNTdCUTtJQUNFLGtCQUhVO0VwQmk4QnBCO0VvQi83QlE7SUFDRSxtQkFIVTtFcEJvOEJwQjtBQUNGO0FxQjM3QkU7RUFBa0Isd0JBQUE7QXJCODdCcEI7O0FxQjU3QkU7RUFDRTtJQUlJLGtDQUFBO0lBQ0EsdUJBQUE7SUFDQSxtQ0FBQTtZQUFBLDJCQUFBO0lBT0YsMkJBQUE7SUFDQSw0QkFBQTtFckJzN0JKO0VxQm43QkU7SUFBa0IseUJBQUE7RXJCczdCcEI7RXFCcjdCRTtJQUFrQix3QkFBQTtFckJ3N0JwQjtFcUJ0N0JFO0lBQXVCLHlCQUFBO0VyQnk3QnpCO0VxQng3QkU7SUFBdUIsc0NBQUE7RXJCMjdCekI7RXFCMTdCRTtJQUF1QixtQ0FBQTtFckI2N0J6QjtFcUI1N0JFO0lBQW9CLDZCQUFBO0VyQis3QnRCO0VxQjk3QkU7SUFBb0IsOEJBQUE7RXJCaThCdEI7RXFCaDhCRTtJQUFvQiw4QkFBQTtFckJtOEJ0QjtFcUJoOEJFOztJQUNZLDBCQUFBO0VyQm04QmQ7RXFCajhCSTtJQUFnQiw0QkFBQTtFckJvOEJwQjtFcUJoOEJFOzs7SUFFcUIsV0FBQTtFckJtOEJ2QjtFcUJoOEJFO0lBQW9CLDZCQUFBO0VyQm04QnRCO0VxQmg4QkU7O0lBRUUseUJBQUE7SUFDQSx3QkFBQTtFckJrOEJKO0VxQjk3QkU7SUFBUSwyQkFBQTtFckJpOEJWO0VxQi83QkU7O0lBQ00sd0JBQUE7RXJCazhCUjtFcUJoOEJFO0lBQU0sMEJBQUE7RXJCbThCUjtFcUJqOEJFO0lBQVEsYUFBQTtFckJvOEJWO0VxQmw4QkU7OztJQUdFLFVBQUE7SUFDQSxTQUFBO0VyQm84Qko7RXFCaDhCRTs7SUFDSyx1QkFBQTtFckJtOEJQO0VxQmg4QkU7SUFDRSx1QkFBQTtFckJrOEJKO0FBQ0Y7QXNCbmhDRTtFQ29CTSw4QkFBQTtFQUFBLDZCQUFBO0VDZE4sMkJqQm9EYTtFaUJuRGIsaUJBQUE7RUFDQSxrQkFBQTtBeEJraENGO0FHbjNCUTtFbUJ2S047SUNvQk0sOEJBQUE7SUFBQSw2QkFBQTtFdkIyZ0NOO0FBQ0Y7QUd6M0JRO0VtQnZLTjtJQ29CTSw4QkFBQTtJQUFBLDZCQUFBO0V2QmloQ047QUFDRjtBc0JuaUNJO0VDaUJJLDhCQUFBO0VBQUEsNkJBQUE7RUNkTixlRkYrQjtFRUcvQixpQkFBQTtFQUNBLGtCQUFBO0F4QnFpQ0Y7QUd0NEJRO0VtQnBLSjtJQ2lCSSw4QkFBQTtJQUFBLDZCQUFBO0V2QjhoQ047QUFDRjtBRzU0QlE7RW1CcEtKO0lDaUJJLDhCQUFBO0lBQUEsNkJBQUE7RXZCb2lDTjtBQUNGO0FzQmxqQ0k7RUNzQkUsZ0JBQUE7RUFBQSxlQUFBO0VDdkJKLGVGRStCO0VFRC9CLGlCQUFBO0VBQ0Esa0JBQUE7QXhCd2pDRjs7QXNCbmpDRTtFRVNBLGFBQUE7RUFDQSxtQkFBQTtBeEI4aUNGOztBc0JwakNFO0VHcUdBLGNBQUE7RUFJRSxhQUFBO0VBQ0EsWUFBQTtFQXNDQSxXQVRNO0F6Qm83QlY7QXNCeGpDSTtFR2tHRixXQUFBO0F6Qnk5QkY7QXNCdmpDSTtFRzhGRixjQUFBO0F6QjQ5QkY7O0FzQnBqQ0k7RUdtSUEsV0FUTTtBekI4N0JWO0FzQnBqQ0k7RUcrSEEsV0FUTTtBekJpOEJWOztBc0J2aUNNO0VBQ0UsZ0JBQUE7QXRCMGlDUjs7QUd0N0JRO0VtQnJIRjtJQUNFLGdCQUFBO0V0QitpQ047QUFDRjtBRzU3QlE7RW1CckhGO0lBQ0UsZ0JBQUE7RXRCb2pDTjtBQUNGO0FHNTdCUTtFbUIxSEY7SUFDRSxnQkFBQTtFdEJ5akNOO0FBQ0Y7QXNCN2lDSTtFR3NERixjQUFBO0F6QjAvQkY7O0FzQmppQ007RUdrRkYsb0JBVE07QXpCNDlCVjs7QXNCcmlDTTtFR2tGRixxQkFUTTtBekJnK0JWOztBc0J6aUNNO0VHa0ZGLFVBVE07QXpCbytCVjs7QXNCN2lDTTtFR2tGRixxQkFUTTtBekJ3K0JWOztBc0JqakNNO0VHa0ZGLHFCQVRNO0F6QjQrQlY7O0FzQnJqQ007RUdrRkYsVUFUTTtBekJnL0JWOztBc0J6akNNO0VHa0ZGLHFCQVRNO0F6Qm8vQlY7O0FzQjdqQ007RUdrRkYscUJBVE07QXpCdy9CVjs7QXNCamtDTTtFR2tGRixVQVRNO0F6QjQvQlY7O0FzQnJrQ007RUdrRkYscUJBVE07QXpCZ2dDVjs7QXNCemtDTTtFR2tGRixxQkFUTTtBekJvZ0NWOztBc0I3a0NNO0VHa0ZGLFdBVE07QXpCd2dDVjs7QUd6L0JRO0VtQjVHRjtJRzJESixXQUFBO0lBMkNFLFdBVE07RXpCOGdDUjtFc0J0bUNFO0lHc0RGLGNBQUE7RXpCbWpDQTtFc0JubUNJO0lHMkZGLFdBVE07RXpCb2hDUjtFc0I3bENJO0lHa0ZGLG9CQVRNO0V6QnVoQ1I7RXNCaG1DSTtJR2tGRixxQkFUTTtFekIwaENSO0VzQm5tQ0k7SUdrRkYsVUFUTTtFekI2aENSO0VzQnRtQ0k7SUdrRkYscUJBVE07RXpCZ2lDUjtFc0J6bUNJO0lHa0ZGLHFCQVRNO0V6Qm1pQ1I7RXNCNW1DSTtJR2tGRixVQVRNO0V6QnNpQ1I7RXNCL21DSTtJR2tGRixxQkFUTTtFekJ5aUNSO0VzQmxuQ0k7SUdrRkYscUJBVE07RXpCNGlDUjtFc0JybkNJO0lHa0ZGLFVBVE07RXpCK2lDUjtFc0J4bkNJO0lHa0ZGLHFCQVRNO0V6QmtqQ1I7RXNCM25DSTtJR2tGRixxQkFUTTtFekJxakNSO0VzQjluQ0k7SUdrRkYsV0FUTTtFekJ3akNSO0FBQ0Y7QUcxaUNRO0VtQjVHRjtJRzJESixXQUFBO0lBMkNFLFdBVE07RXpCOGpDUjtFc0J0cENFO0lHc0RGLGNBQUE7RXpCbW1DQTtFc0JucENJO0lHMkZGLFdBVE07RXpCb2tDUjtFc0I3b0NJO0lHa0ZGLG9CQVRNO0V6QnVrQ1I7RXNCaHBDSTtJR2tGRixxQkFUTTtFekIwa0NSO0VzQm5wQ0k7SUdrRkYsVUFUTTtFekI2a0NSO0VzQnRwQ0k7SUdrRkYscUJBVE07RXpCZ2xDUjtFc0J6cENJO0lHa0ZGLHFCQVRNO0V6Qm1sQ1I7RXNCNXBDSTtJR2tGRixVQVRNO0V6QnNsQ1I7RXNCL3BDSTtJR2tGRixxQkFUTTtFekJ5bENSO0VzQmxxQ0k7SUdrRkYscUJBVE07RXpCNGxDUjtFc0JycUNJO0lHa0ZGLFVBVE07RXpCK2xDUjtFc0J4cUNJO0lHa0ZGLHFCQVRNO0V6QmttQ1I7RXNCM3FDSTtJR2tGRixxQkFUTTtFekJxbUNSO0VzQjlxQ0k7SUdrRkYsV0FUTTtFekJ3bUNSO0FBQ0Y7QUdybENRO0VtQmpIRjtJRzJESixXQUFBO0lBMkNFLFdBVE07RXpCOG1DUjtFc0J0c0NFO0lHc0RGLGNBQUE7RXpCbXBDQTtFc0Juc0NJO0lHMkZGLFdBVE07RXpCb25DUjtFc0I3ckNJO0lHa0ZGLG9CQVRNO0V6QnVuQ1I7RXNCaHNDSTtJR2tGRixxQkFUTTtFekIwbkNSO0VzQm5zQ0k7SUdrRkYsVUFUTTtFekI2bkNSO0VzQnRzQ0k7SUdrRkYscUJBVE07RXpCZ29DUjtFc0J6c0NJO0lHa0ZGLHFCQVRNO0V6Qm1vQ1I7RXNCNXNDSTtJR2tGRixVQVRNO0V6QnNvQ1I7RXNCL3NDSTtJR2tGRixxQkFUTTtFekJ5b0NSO0VzQmx0Q0k7SUdrRkYscUJBVE07RXpCNG9DUjtFc0JydENJO0lHa0ZGLFVBVE07RXpCK29DUjtFc0J4dENJO0lHa0ZGLHFCQVRNO0V6QmtwQ1I7RXNCM3RDSTtJR2tGRixxQkFUTTtFekJxcENSO0VzQjl0Q0k7SUdrRkYsV0FUTTtFekJ3cENSO0FBQ0Y7QXNCMXRDRTtFQUNFLFdBQUE7QXRCNHRDSjs7QXNCeHRDRTtFQUNFLFlBQUE7QXRCMnRDSjs7QXNCN3JDRTtFQ3ZHTSw2QkFBQTtFQUFBLDhCQUFBO0F2Qnl5Q1I7QUd0cENRO0VtQjVDTjtJQ3ZHTSw2QkFBQTtJQUFBLDhCQUFBO0V2Qjh5Q047QUFDRjtBRzVwQ1E7RW1CNUNOO0lDdkdNLDZCQUFBO0lBQUEsOEJBQUE7RXZCb3pDTjtBQUNGO0FzQjFzQ0k7RUdrQ0EsbUNBVE07RUYzSEosNEJBQUE7RUFBQSw2QkFBQTtBdkJpekNOO0FHdnFDUTtFbUJqQ0E7SUcyQkosbUNBVE07SUYzSEosNEJBQUE7SUFBQSw2QkFBQTtFdkJ1ekNKO0FBQ0Y7QUc5cUNRO0VtQmpDQTtJRzJCSixtQ0FUTTtJRjNISiw0QkFBQTtJQUFBLDZCQUFBO0V2Qjh6Q0o7QUFDRjtBc0J6dkNFO0VHOERFLFdBVE07QXpCdXNDVjtBc0J4dkNFO0VHMERFLFdBVE07QXpCMHNDVjtBc0JudkNJO0VHa0RBLDRDQVRNO0F6QjZzQ1Y7QXNCdHZDSTtFR2tEQSw2Q0FUTTtBekJndENWO0FzQnp2Q0k7RUdrREEsa0NBVE07QXpCbXRDVjtBc0I1dkNJO0VHa0RBLDZDQVRNO0F6QnN0Q1Y7QXNCL3ZDSTtFR2tEQSw2Q0FUTTtBekJ5dENWO0FzQmx3Q0k7RUdrREEsa0NBVE07QXpCNHRDVjtBc0Jyd0NJO0VHa0RBLDZDQVRNO0F6Qit0Q1Y7QXNCeHdDSTtFR2tEQSw2Q0FUTTtBekJrdUNWO0FzQjN3Q0k7RUdrREEsa0NBVE07QXpCcXVDVjtBc0I5d0NJO0VHa0RBLDZDQVRNO0F6Qnd1Q1Y7QXNCanhDSTtFR2tEQSw2Q0FUTTtBekIydUNWO0FzQnB4Q0k7RUdrREEsbUNBVE07QXpCOHVDVjtBRy90Q1E7RW1CcEVOO0lHOERFLFdBVE07RXpCa3ZDUjtFc0JueUNBO0lHMERFLFdBVE07RXpCcXZDUjtFc0I5eENFO0lHa0RBLDRDQVRNO0V6Qnd2Q1I7RXNCanlDRTtJR2tEQSw2Q0FUTTtFekIydkNSO0VzQnB5Q0U7SUdrREEsa0NBVE07RXpCOHZDUjtFc0J2eUNFO0lHa0RBLDZDQVRNO0V6Qml3Q1I7RXNCMXlDRTtJR2tEQSw2Q0FUTTtFekJvd0NSO0VzQjd5Q0U7SUdrREEsa0NBVE07RXpCdXdDUjtFc0JoekNFO0lHa0RBLDZDQVRNO0V6QjB3Q1I7RXNCbnpDRTtJR2tEQSw2Q0FUTTtFekI2d0NSO0VzQnR6Q0U7SUdrREEsa0NBVE07RXpCZ3hDUjtFc0J6ekNFO0lHa0RBLDZDQVRNO0V6Qm14Q1I7RXNCNXpDRTtJR2tEQSw2Q0FUTTtFekJzeENSO0VzQi96Q0U7SUdrREEsbUNBVE07RXpCeXhDUjtFc0I5MENBO0lHOERFLFdBVE07RXpCNHhDUjtFc0I3MENBO0lHMERFLFdBVE07RXpCK3hDUjtFc0J4MENFO0lHa0RBLDRDQVRNO0V6Qmt5Q1I7RXNCMzBDRTtJR2tEQSw2Q0FUTTtFekJxeUNSO0VzQjkwQ0U7SUdrREEsa0NBVE07RXpCd3lDUjtFc0JqMUNFO0lHa0RBLDZDQVRNO0V6QjJ5Q1I7RXNCcDFDRTtJR2tEQSw2Q0FUTTtFekI4eUNSO0VzQnYxQ0U7SUdrREEsa0NBVE07RXpCaXpDUjtFc0IxMUNFO0lHa0RBLDZDQVRNO0V6Qm96Q1I7RXNCNzFDRTtJR2tEQSw2Q0FUTTtFekJ1ekNSO0VzQmgyQ0U7SUdrREEsa0NBVE07RXpCMHpDUjtFc0JuMkNFO0lHa0RBLDZDQVRNO0V6QjZ6Q1I7RXNCdDJDRTtJR2tEQSw2Q0FUTTtFekJnMENSO0VzQnoyQ0U7SUdrREEsbUNBVE07RXpCbTBDUjtBQUNGO0FHcnpDUTtFbUJwRU47SUc4REUsV0FUTTtFekJ3MENSO0VzQnozQ0E7SUcwREUsV0FUTTtFekIyMENSO0VzQnAzQ0U7SUdrREEsNENBVE07RXpCODBDUjtFc0J2M0NFO0lHa0RBLDZDQVRNO0V6QmkxQ1I7RXNCMTNDRTtJR2tEQSxrQ0FUTTtFekJvMUNSO0VzQjczQ0U7SUdrREEsNkNBVE07RXpCdTFDUjtFc0JoNENFO0lHa0RBLDZDQVRNO0V6QjAxQ1I7RXNCbjRDRTtJR2tEQSxrQ0FUTTtFekI2MUNSO0VzQnQ0Q0U7SUdrREEsNkNBVE07RXpCZzJDUjtFc0J6NENFO0lHa0RBLDZDQVRNO0V6Qm0yQ1I7RXNCNTRDRTtJR2tEQSxrQ0FUTTtFekJzMkNSO0VzQi80Q0U7SUdrREEsNkNBVE07RXpCeTJDUjtFc0JsNUNFO0lHa0RBLDZDQVRNO0V6QjQyQ1I7RXNCcjVDRTtJR2tEQSxtQ0FUTTtFekIrMkNSO0VzQnA2Q0E7SUc4REUsV0FUTTtFekJrM0NSO0VzQm42Q0E7SUcwREUsV0FUTTtFekJxM0NSO0VzQjk1Q0U7SUdrREEsNENBVE07RXpCdzNDUjtFc0JqNkNFO0lHa0RBLDZDQVRNO0V6QjIzQ1I7RXNCcDZDRTtJR2tEQSxrQ0FUTTtFekI4M0NSO0VzQnY2Q0U7SUdrREEsNkNBVE07RXpCaTRDUjtFc0IxNkNFO0lHa0RBLDZDQVRNO0V6Qm80Q1I7RXNCNzZDRTtJR2tEQSxrQ0FUTTtFekJ1NENSO0VzQmg3Q0U7SUdrREEsNkNBVE07RXpCMDRDUjtFc0JuN0NFO0lHa0RBLDZDQVRNO0V6QjY0Q1I7RXNCdDdDRTtJR2tEQSxrQ0FUTTtFekJnNUNSO0VzQno3Q0U7SUdrREEsNkNBVE07RXpCbTVDUjtFc0I1N0NFO0lHa0RBLDZDQVRNO0V6QnM1Q1I7RXNCLzdDRTtJR2tEQSxtQ0FUTTtFekJ5NUNSO0VzQjk4Q0E7SUc4REUsV0FUTTtFekI0NUNSO0VzQjc4Q0E7SUcwREUsV0FUTTtFekIrNUNSO0VzQng4Q0U7SUdrREEsNENBVE07RXpCazZDUjtFc0IzOENFO0lHa0RBLDZDQVRNO0V6QnE2Q1I7RXNCOThDRTtJR2tEQSxrQ0FUTTtFekJ3NkNSO0VzQmo5Q0U7SUdrREEsNkNBVE07RXpCMjZDUjtFc0JwOUNFO0lHa0RBLDZDQVRNO0V6Qjg2Q1I7RXNCdjlDRTtJR2tEQSxrQ0FUTTtFekJpN0NSO0VzQjE5Q0U7SUdrREEsNkNBVE07RXpCbzdDUjtFc0I3OUNFO0lHa0RBLDZDQVRNO0V6QnU3Q1I7RXNCaCtDRTtJR2tEQSxrQ0FUTTtFekIwN0NSO0VzQm4rQ0U7SUdrREEsNkNBVE07RXpCNjdDUjtFc0J0K0NFO0lHa0RBLDZDQVRNO0V6Qmc4Q1I7RXNCeitDRTtJR2tEQSxtQ0FUTTtFekJtOENSO0VzQngvQ0E7SUc4REUsV0FUTTtFekJzOENSO0VzQnYvQ0E7SUcwREUsV0FUTTtFekJ5OENSO0VzQmwvQ0U7SUdrREEsNENBVE07RXpCNDhDUjtFc0JyL0NFO0lHa0RBLDZDQVRNO0V6Qis4Q1I7RXNCeC9DRTtJR2tEQSxrQ0FUTTtFekJrOUNSO0VzQjMvQ0U7SUdrREEsNkNBVE07RXpCcTlDUjtFc0I5L0NFO0lHa0RBLDZDQVRNO0V6Qnc5Q1I7RXNCamdERTtJR2tEQSxrQ0FUTTtFekIyOUNSO0VzQnBnREU7SUdrREEsNkNBVE07RXpCODlDUjtFc0J2Z0RFO0lHa0RBLDZDQVRNO0V6QmkrQ1I7RXNCMWdERTtJR2tEQSxrQ0FUTTtFekJvK0NSO0VzQjdnREU7SUdrREEsNkNBVE07RXpCdStDUjtFc0JoaERFO0lHa0RBLDZDQVRNO0V6QjArQ1I7RXNCbmhERTtJR2tEQSxtQ0FUTTtFekI2K0NSO0FBQ0Y7QUcxOUNRO0VtQnpFTjtJRzhERSxXQVRNO0V6QmsvQ1I7RXNCbmlEQTtJRzBERSxXQVRNO0V6QnEvQ1I7RXNCOWhERTtJR2tEQSw0Q0FUTTtFekJ3L0NSO0VzQmppREU7SUdrREEsNkNBVE07RXpCMi9DUjtFc0JwaURFO0lHa0RBLGtDQVRNO0V6QjgvQ1I7RXNCdmlERTtJR2tEQSw2Q0FUTTtFekJpZ0RSO0VzQjFpREU7SUdrREEsNkNBVE07RXpCb2dEUjtFc0I3aURFO0lHa0RBLGtDQVRNO0V6QnVnRFI7RXNCaGpERTtJR2tEQSw2Q0FUTTtFekIwZ0RSO0VzQm5qREU7SUdrREEsNkNBVE07RXpCNmdEUjtFc0J0akRFO0lHa0RBLGtDQVRNO0V6QmdoRFI7RXNCempERTtJR2tEQSw2Q0FUTTtFekJtaERSO0VzQjVqREU7SUdrREEsNkNBVE07RXpCc2hEUjtFc0IvakRFO0lHa0RBLG1DQVRNO0V6QnloRFI7QUFDRjs7QXNCaGhESTtFQzlJSSw4QkFBQTtFQUFBLDZCQUFBO0F2Qm1xRFI7QUdoaERRO0VtQkxKO0lDOUlJLDhCQUFBO0lBQUEsNkJBQUE7RXZCd3FETjtBQUNGO0FHdGhEUTtFbUJMSjtJQzlJSSw4QkFBQTtJQUFBLDZCQUFBO0V2QjhxRE47QUFDRjtBc0IzaERJO0VDcEpJLDhCQUFBO0VBQUEsNkJBQUE7QXZCbXJEUjtBR2hpRFE7RW1CQ0o7SUNwSkksOEJBQUE7SUFBQSw2QkFBQTtFdkJ3ckROO0FBQ0Y7QUd0aURRO0VtQkNKO0lDcEpJLDhCQUFBO0lBQUEsNkJBQUE7RXZCOHJETjtBQUNGO0FzQnRpREk7RUN6SkksOEJBQUE7RUFBQSw2QkFBQTtBdkJtc0RSO0FHaGpEUTtFbUJNSjtJQ3pKSSw4QkFBQTtJQUFBLDZCQUFBO0V2QndzRE47QUFDRjtBR3RqRFE7RW1CTUo7SUN6SkksOEJBQUE7SUFBQSw2QkFBQTtFdkI4c0ROO0FBQ0Y7O0EwQi9zREU7RUQ2SUUsV0FUTTtBekIra0RWOztBMEJudERFO0VENklFLFVBVE07QXpCbWxEVjs7QTBCdnRERTtFRDZJRSxxQkFUTTtBekJ1bERWOztBMEIzdERFO0VENklFLFVBVE07QXpCMmxEVjs7QTBCL3RERTtFRDZJRSxVQVRNO0F6QitsRFY7O0EwQm51REU7RUQ2SUUscUJBVE07QXpCbW1EVjs7QTBCdnVERTtFRDZJRSxxQkFUTTtBekJ1bURWOztBMEIzdURFO0VENklFLFlBVE07QXpCMm1EVjs7QUc1bERRO0V1Qm5KTjtJRDZJRSxXQVRNO0V6QmduRFI7RTBCcHZEQTtJRDZJRSxVQVRNO0V6Qm1uRFI7RTBCdnZEQTtJRDZJRSxxQkFUTTtFekJzbkRSO0UwQjF2REE7SUQ2SUUsVUFUTTtFekJ5bkRSO0UwQjd2REE7SUQ2SUUsVUFUTTtFekI0bkRSO0UwQmh3REE7SUQ2SUUscUJBVE07RXpCK25EUjtFMEJud0RBO0lENklFLHFCQVRNO0V6QmtvRFI7RTBCdHdEQTtJRDZJRSxZQVRNO0V6QnFvRFI7QUFDRjtBR3ZuRFE7RXVCbkpOO0lENklFLFdBVE07RXpCMG9EUjtFMEI5d0RBO0lENklFLFVBVE07RXpCNm9EUjtFMEJqeERBO0lENklFLHFCQVRNO0V6QmdwRFI7RTBCcHhEQTtJRDZJRSxVQVRNO0V6Qm1wRFI7RTBCdnhEQTtJRDZJRSxVQVRNO0V6QnNwRFI7RTBCMXhEQTtJRDZJRSxxQkFUTTtFekJ5cERSO0UwQjd4REE7SUQ2SUUscUJBVE07RXpCNHBEUjtFMEJoeURBO0lENklFLFlBVE07RXpCK3BEUjtBQUNGO0FHNW9EUTtFdUJ4Sk47SUQ2SUUsV0FUTTtFekJvcURSO0UwQnh5REE7SUQ2SUUsVUFUTTtFekJ1cURSO0UwQjN5REE7SUQ2SUUscUJBVE07RXpCMHFEUjtFMEI5eURBO0lENklFLFVBVE07RXpCNnFEUjtFMEJqekRBO0lENklFLFVBVE07RXpCZ3JEUjtFMEJwekRBO0lENklFLHFCQVRNO0V6Qm1yRFI7RTBCdnpEQTtJRDZJRSxxQkFUTTtFekJzckRSO0UwQjF6REE7SUQ2SUUsWUFUTTtFekJ5ckRSO0FBQ0Y7QTBCOXpERTtFRDZJRSxtQ0FUTTtBekI2ckRWOztBMEJqMERFO0VENklFLGtDQVRNO0F6QmlzRFY7O0EwQnIwREU7RUQ2SUUsNkNBVE07QXpCcXNEVjs7QTBCejBERTtFRDZJRSxrQ0FUTTtBekJ5c0RWOztBMEI3MERFO0VENklFLGtDQVRNO0F6QjZzRFY7O0EwQmoxREU7RUQ2SUUsNkNBVE07QXpCaXREVjs7QTBCcjFERTtFRDZJRSw2Q0FUTTtBekJxdERWOztBMEJ6MURFO0VENklFLG9DQVRNO0F6Qnl0RFY7O0FHMXNEUTtFdUJuSk47SUQ2SUUsbUNBVE07RXpCOHREUjtFMEJsMkRBO0lENklFLGtDQVRNO0V6Qml1RFI7RTBCcjJEQTtJRDZJRSw2Q0FUTTtFekJvdURSO0UwQngyREE7SUQ2SUUsa0NBVE07RXpCdXVEUjtFMEIzMkRBO0lENklFLGtDQVRNO0V6QjB1RFI7RTBCOTJEQTtJRDZJRSw2Q0FUTTtFekI2dURSO0UwQmozREE7SUQ2SUUsNkNBVE07RXpCZ3ZEUjtFMEJwM0RBO0lENklFLG9DQVRNO0V6Qm12RFI7RTBCdjNEQTtJRDZJRSxtQ0FUTTtFekJzdkRSO0UwQjEzREE7SUQ2SUUsa0NBVE07RXpCeXZEUjtFMEI3M0RBO0lENklFLDZDQVRNO0V6QjR2RFI7RTBCaDREQTtJRDZJRSxrQ0FUTTtFekIrdkRSO0UwQm40REE7SUQ2SUUsa0NBVE07RXpCa3dEUjtFMEJ0NERBO0lENklFLDZDQVRNO0V6QnF3RFI7RTBCejREQTtJRDZJRSw2Q0FUTTtFekJ3d0RSO0UwQjU0REE7SUQ2SUUsb0NBVE07RXpCMndEUjtBQUNGO0FHN3ZEUTtFdUJuSk47SUQ2SUUsbUNBVE07RXpCZ3hEUjtFMEJwNURBO0lENklFLG1DQVRNO0V6Qm14RFI7RTBCdjVEQTtJRDZJRSxrQ0FUTTtFekJzeERSO0UwQjE1REE7SUQ2SUUsa0NBVE07RXpCeXhEUjtFMEI3NURBO0lENklFLDZDQVRNO0V6QjR4RFI7RTBCaDZEQTtJRDZJRSw2Q0FUTTtFekIreERSO0UwQm42REE7SUQ2SUUsa0NBVE07RXpCa3lEUjtFMEJ0NkRBO0lENklFLGtDQVRNO0V6QnF5RFI7RTBCejZEQTtJRDZJRSxrQ0FUTTtFekJ3eURSO0UwQjU2REE7SUQ2SUUsa0NBVE07RXpCMnlEUjtFMEIvNkRBO0lENklFLDZDQVRNO0V6Qjh5RFI7RTBCbDdEQTtJRDZJRSw2Q0FUTTtFekJpekRSO0UwQnI3REE7SUQ2SUUsNkNBVE07RXpCb3pEUjtFMEJ4N0RBO0lENklFLDZDQVRNO0V6QnV6RFI7RTBCMzdEQTtJRDZJRSxvQ0FUTTtFekIwekRSO0UwQjk3REE7SUQ2SUUsb0NBVE07RXpCNnpEUjtFMEJqOERBO0lENklFLG1DQVRNO0V6QmcwRFI7RTBCcDhEQTtJRDZJRSxrQ0FUTTtFekJtMERSO0UwQnY4REE7SUQ2SUUsNkNBVE07RXpCczBEUjtFMEIxOERBO0lENklFLGtDQVRNO0V6QnkwRFI7RTBCNzhEQTtJRDZJRSxrQ0FUTTtFekI0MERSO0UwQmg5REE7SUQ2SUUsNkNBVE07RXpCKzBEUjtFMEJuOURBO0lENklFLDZDQVRNO0V6QmsxRFI7RTBCdDlEQTtJRDZJRSxvQ0FUTTtFekJxMURSO0FBQ0Y7QUdsMERRO0V1QnhKTjtJRDZJRSxtQ0FUTTtFekIwMURSO0UwQjk5REE7SUQ2SUUsa0NBVE07RXpCNjFEUjtFMEJqK0RBO0lENklFLDZDQVRNO0V6QmcyRFI7RTBCcCtEQTtJRDZJRSxrQ0FUTTtFekJtMkRSO0UwQnYrREE7SUQ2SUUsa0NBVE07RXpCczJEUjtFMEIxK0RBO0lENklFLDZDQVRNO0V6QnkyRFI7RTBCNytEQTtJRDZJRSw2Q0FUTTtFekI0MkRSO0UwQmgvREE7SUQ2SUUsb0NBVE07RXpCKzJEUjtBQUNGO0FzQjd5RE07RUs5TUUsZUFBQTtFQUFBLGNBQUE7QTNCKy9EUjtBMkI1L0RNO0VBRUksZUFBQTtFQUFBLGNBQUE7QTNCOC9EVjtBMkJ4K0RZO0VGeUhSLG9CQVRNO0F6QjIzRFY7QTJCMytEWTtFRnlIUixxQkFUTTtBekI4M0RWO0EyQjkrRFk7RUZ5SFIsVUFUTTtBekJpNERWO0EyQmovRFk7RUZ5SFIscUJBVE07QXpCbzREVjtBMkJwL0RZO0VGeUhSLHFCQVRNO0F6QnU0RFY7QTJCdi9EWTtFRnlIUixVQVRNO0F6QjA0RFY7QTJCMS9EWTtFRnlIUixxQkFUTTtBekI2NERWO0EyQjcvRFk7RUZ5SFIscUJBVE07QXpCZzVEVjtBMkJoZ0VZO0VGeUhSLFVBVE07QXpCbTVEVjtBMkJuZ0VZO0VGeUhSLHFCQVRNO0F6QnM1RFY7QTJCdGdFWTtFRnlIUixxQkFUTTtBekJ5NURWO0EyQnpnRVk7RUZ5SFIsV0FUTTtBekI0NURWO0FHNzREUTtFd0IvSEk7SUZ5SFIsb0JBVE07RXpCZzZEUjtFMkJoaEVVO0lGeUhSLHFCQVRNO0V6Qm02RFI7RTJCbmhFVTtJRnlIUixVQVRNO0V6QnM2RFI7RTJCdGhFVTtJRnlIUixxQkFUTTtFekJ5NkRSO0UyQnpoRVU7SUZ5SFIscUJBVE07RXpCNDZEUjtFMkI1aEVVO0lGeUhSLFVBVE07RXpCKzZEUjtFMkIvaEVVO0lGeUhSLHFCQVRNO0V6Qms3RFI7RTJCbGlFVTtJRnlIUixxQkFUTTtFekJxN0RSO0UyQnJpRVU7SUZ5SFIsVUFUTTtFekJ3N0RSO0UyQnhpRVU7SUZ5SFIscUJBVE07RXpCMjdEUjtFMkIzaUVVO0lGeUhSLHFCQVRNO0V6Qjg3RFI7RTJCOWlFVTtJRnlIUixXQVRNO0V6Qmk4RFI7QUFDRjtBR243RFE7RXdCL0hJO0lGeUhSLG9CQVRNO0V6QnM4RFI7RTJCdGpFVTtJRnlIUixxQkFUTTtFekJ5OERSO0UyQnpqRVU7SUZ5SFIsVUFUTTtFekI0OERSO0UyQjVqRVU7SUZ5SFIscUJBVE07RXpCKzhEUjtFMkIvakVVO0lGeUhSLHFCQVRNO0V6Qms5RFI7RTJCbGtFVTtJRnlIUixVQVRNO0V6QnE5RFI7RTJCcmtFVTtJRnlIUixxQkFUTTtFekJ3OURSO0UyQnhrRVU7SUZ5SFIscUJBVE07RXpCMjlEUjtFMkIza0VVO0lGeUhSLFVBVE07RXpCODlEUjtFMkI5a0VVO0lGeUhSLHFCQVRNO0V6QmkrRFI7RTJCamxFVTtJRnlIUixxQkFUTTtFekJvK0RSO0UyQnBsRVU7SUZ5SFIsV0FUTTtFekJ1K0RSO0FBQ0Y7QUdwOURRO0V3QnBJSTtJRnlIUixvQkFUTTtFekI0K0RSO0UyQjVsRVU7SUZ5SFIscUJBVE07RXpCKytEUjtFMkIvbEVVO0lGeUhSLFVBVE07RXpCay9EUjtFMkJsbUVVO0lGeUhSLHFCQVRNO0V6QnEvRFI7RTJCcm1FVTtJRnlIUixxQkFUTTtFekJ3L0RSO0UyQnhtRVU7SUZ5SFIsVUFUTTtFekIyL0RSO0UyQjNtRVU7SUZ5SFIscUJBVE07RXpCOC9EUjtFMkI5bUVVO0lGeUhSLHFCQVRNO0V6QmlnRVI7RTJCam5FVTtJRnlIUixVQVRNO0V6Qm9nRVI7RTJCcG5FVTtJRnlIUixxQkFUTTtFekJ1Z0VSO0UyQnZuRVU7SUZ5SFIscUJBVE07RXpCMGdFUjtFMkIxbkVVO0lGeUhSLFdBVE07RXpCNmdFUjtBQUNGOztBc0JyOERNO0VLN0tFLGVBQUE7RUFBQSxjQUFBO0EzQnVuRVI7QTJCcG5FTTtFQUVJLGdCQUFBO0VBQUEsZUFBQTtBM0JzbkVWOztBR3hnRVE7RW1Cb0RGO0lLOU1FLGVBQUE7SUFBQSxjQUFBO0UzQndxRU47RTJCcnFFSTtJQUVJLGVBQUE7SUFBQSxjQUFBO0UzQnVxRVI7QUFDRjtBR25oRVE7RXdCeElJO0lGa0lSLG9CQVRNO0V6QnNpRVI7RTJCL3BFVTtJRmtJUixxQkFUTTtFekJ5aUVSO0UyQmxxRVU7SUZrSVIsVUFUTTtFekI0aUVSO0UyQnJxRVU7SUZrSVIscUJBVE07RXpCK2lFUjtFMkJ4cUVVO0lGa0lSLHFCQVRNO0V6QmtqRVI7RTJCM3FFVTtJRmtJUixVQVRNO0V6QnFqRVI7RTJCOXFFVTtJRmtJUixxQkFUTTtFekJ3akVSO0UyQmpyRVU7SUZrSVIscUJBVE07RXpCMmpFUjtFMkJwckVVO0lGa0lSLFVBVE07RXpCOGpFUjtFMkJ2ckVVO0lGa0lSLHFCQVRNO0V6QmlrRVI7RTJCMXJFVTtJRmtJUixxQkFUTTtFekJva0VSO0UyQjdyRVU7SUZrSVIsV0FUTTtFekJ1a0VSO0FBQ0Y7QUd6akVRO0V3Qi9ISTtJRnlIUixvQkFUTTtFekI0a0VSO0UyQjVyRVU7SUZ5SFIscUJBVE07RXpCK2tFUjtFMkIvckVVO0lGeUhSLFVBVE07RXpCa2xFUjtFMkJsc0VVO0lGeUhSLHFCQVRNO0V6QnFsRVI7RTJCcnNFVTtJRnlIUixxQkFUTTtFekJ3bEVSO0UyQnhzRVU7SUZ5SFIsVUFUTTtFekIybEVSO0UyQjNzRVU7SUZ5SFIscUJBVE07RXpCOGxFUjtFMkI5c0VVO0lGeUhSLHFCQVRNO0V6QmltRVI7RTJCanRFVTtJRnlIUixVQVRNO0V6Qm9tRVI7RTJCcHRFVTtJRnlIUixxQkFUTTtFekJ1bUVSO0UyQnZ0RVU7SUZ5SFIscUJBVE07RXpCMG1FUjtFMkIxdEVVO0lGeUhSLFdBVE07RXpCNm1FUjtBQUNGO0FHL2xFUTtFd0IvSEk7SUZ5SFIsb0JBVE07RXpCa25FUjtFMkJsdUVVO0lGeUhSLHFCQVRNO0V6QnFuRVI7RTJCcnVFVTtJRnlIUixVQVRNO0V6QnduRVI7RTJCeHVFVTtJRnlIUixxQkFUTTtFekIybkVSO0UyQjN1RVU7SUZ5SFIscUJBVE07RXpCOG5FUjtFMkI5dUVVO0lGeUhSLFVBVE07RXpCaW9FUjtFMkJqdkVVO0lGeUhSLHFCQVRNO0V6Qm9vRVI7RTJCcHZFVTtJRnlIUixxQkFUTTtFekJ1b0VSO0UyQnZ2RVU7SUZ5SFIsVUFUTTtFekIwb0VSO0UyQjF2RVU7SUZ5SFIscUJBVE07RXpCNm9FUjtFMkI3dkVVO0lGeUhSLHFCQVRNO0V6QmdwRVI7RTJCaHdFVTtJRnlIUixXQVRNO0V6Qm1wRVI7QUFDRjtBR2hvRVE7RXdCcElJO0lGeUhSLG9CQVRNO0V6QndwRVI7RTJCeHdFVTtJRnlIUixxQkFUTTtFekIycEVSO0UyQjN3RVU7SUZ5SFIsVUFUTTtFekI4cEVSO0UyQjl3RVU7SUZ5SFIscUJBVE07RXpCaXFFUjtFMkJqeEVVO0lGeUhSLHFCQVRNO0V6Qm9xRVI7RTJCcHhFVTtJRnlIUixVQVRNO0V6QnVxRVI7RTJCdnhFVTtJRnlIUixxQkFUTTtFekIwcUVSO0UyQjF4RVU7SUZ5SFIscUJBVE07RXpCNnFFUjtFMkI3eEVVO0lGeUhSLFVBVE07RXpCZ3JFUjtFMkJoeUVVO0lGeUhSLHFCQVRNO0V6Qm1yRVI7RTJCbnlFVTtJRnlIUixxQkFUTTtFekJzckVSO0UyQnR5RVU7SUZ5SFIsV0FUTTtFekJ5ckVSO0FBQ0Y7O0FHM3FFUTtFbUIwREY7SUs3S0UsZUFBQTtJQUFBLGNBQUE7RTNCb3lFTjtFMkJqeUVJO0lBRUksZ0JBQUE7SUFBQSxlQUFBO0UzQm15RVI7QUFDRjs7QUd0ckVRO0VtQm9ERjtJSzlNRSxlQUFBO0lBQUEsY0FBQTtFM0JzMUVOO0UyQm4xRUk7SUFFSSxlQUFBO0lBQUEsY0FBQTtFM0JxMUVSO0FBQ0Y7QUdqc0VRO0V3QnhJSTtJRmtJUixvQkFUTTtFekJvdEVSO0UyQjcwRVU7SUZrSVIscUJBVE07RXpCdXRFUjtFMkJoMUVVO0lGa0lSLFVBVE07RXpCMHRFUjtFMkJuMUVVO0lGa0lSLHFCQVRNO0V6QjZ0RVI7RTJCdDFFVTtJRmtJUixxQkFUTTtFekJndUVSO0UyQnoxRVU7SUZrSVIsVUFUTTtFekJtdUVSO0UyQjUxRVU7SUZrSVIscUJBVE07RXpCc3VFUjtFMkIvMUVVO0lGa0lSLHFCQVRNO0V6Qnl1RVI7RTJCbDJFVTtJRmtJUixVQVRNO0V6QjR1RVI7RTJCcjJFVTtJRmtJUixxQkFUTTtFekIrdUVSO0UyQngyRVU7SUZrSVIscUJBVE07RXpCa3ZFUjtFMkIzMkVVO0lGa0lSLFdBVE07RXpCcXZFUjtBQUNGO0FHdnVFUTtFd0J4SUk7SUZrSVIsb0JBVE07RXpCMHZFUjtFMkJuM0VVO0lGa0lSLHFCQVRNO0V6QjZ2RVI7RTJCdDNFVTtJRmtJUixVQVRNO0V6Qmd3RVI7RTJCejNFVTtJRmtJUixxQkFUTTtFekJtd0VSO0UyQjUzRVU7SUZrSVIscUJBVE07RXpCc3dFUjtFMkIvM0VVO0lGa0lSLFVBVE07RXpCeXdFUjtFMkJsNEVVO0lGa0lSLHFCQVRNO0V6QjR3RVI7RTJCcjRFVTtJRmtJUixxQkFUTTtFekIrd0VSO0UyQng0RVU7SUZrSVIsVUFUTTtFekJreEVSO0UyQjM0RVU7SUZrSVIscUJBVE07RXpCcXhFUjtFMkI5NEVVO0lGa0lSLHFCQVRNO0V6Qnd4RVI7RTJCajVFVTtJRmtJUixXQVRNO0V6QjJ4RVI7QUFDRjtBRzd3RVE7RXdCL0hJO0lGeUhSLG9CQVRNO0V6Qmd5RVI7RTJCaDVFVTtJRnlIUixxQkFUTTtFekJteUVSO0UyQm41RVU7SUZ5SFIsVUFUTTtFekJzeUVSO0UyQnQ1RVU7SUZ5SFIscUJBVE07RXpCeXlFUjtFMkJ6NUVVO0lGeUhSLHFCQVRNO0V6QjR5RVI7RTJCNTVFVTtJRnlIUixVQVRNO0V6Qit5RVI7RTJCLzVFVTtJRnlIUixxQkFUTTtFekJrekVSO0UyQmw2RVU7SUZ5SFIscUJBVE07RXpCcXpFUjtFMkJyNkVVO0lGeUhSLFVBVE07RXpCd3pFUjtFMkJ4NkVVO0lGeUhSLHFCQVRNO0V6QjJ6RVI7RTJCMzZFVTtJRnlIUixxQkFUTTtFekI4ekVSO0UyQjk2RVU7SUZ5SFIsV0FUTTtFekJpMEVSO0FBQ0Y7QUc5eUVRO0V3QnBJSTtJRnlIUixvQkFUTTtFekJzMEVSO0UyQnQ3RVU7SUZ5SFIscUJBVE07RXpCeTBFUjtFMkJ6N0VVO0lGeUhSLFVBVE07RXpCNDBFUjtFMkI1N0VVO0lGeUhSLHFCQVRNO0V6QiswRVI7RTJCLzdFVTtJRnlIUixxQkFUTTtFekJrMUVSO0UyQmw4RVU7SUZ5SFIsVUFUTTtFekJxMUVSO0UyQnI4RVU7SUZ5SFIscUJBVE07RXpCdzFFUjtFMkJ4OEVVO0lGeUhSLHFCQVRNO0V6QjIxRVI7RTJCMzhFVTtJRnlIUixVQVRNO0V6QjgxRVI7RTJCOThFVTtJRnlIUixxQkFUTTtFekJpMkVSO0UyQmo5RVU7SUZ5SFIscUJBVE07RXpCbzJFUjtFMkJwOUVVO0lGeUhSLFdBVE07RXpCdTJFUjtBQUNGOztBR3oxRVE7RW1CMERGO0lLN0tFLGVBQUE7SUFBQSxjQUFBO0UzQms5RU47RTJCLzhFSTtJQUVJLGdCQUFBO0lBQUEsZUFBQTtFM0JpOUVSO0FBQ0Y7O0FHLzFFUTtFbUIrQ0Y7SUs5TUUsZUFBQTtJQUFBLGNBQUE7RTNCb2dGTjtFMkJqZ0ZJO0lBRUksZUFBQTtJQUFBLGNBQUE7RTNCbWdGUjtBQUNGO0FHMTJFUTtFd0I3SUk7SUZrSVIsb0JBVE07RXpCazRFUjtFMkIzL0VVO0lGa0lSLHFCQVRNO0V6QnE0RVI7RTJCOS9FVTtJRmtJUixVQVRNO0V6Qnc0RVI7RTJCamdGVTtJRmtJUixxQkFUTTtFekIyNEVSO0UyQnBnRlU7SUZrSVIscUJBVE07RXpCODRFUjtFMkJ2Z0ZVO0lGa0lSLFVBVE07RXpCaTVFUjtFMkIxZ0ZVO0lGa0lSLHFCQVRNO0V6Qm81RVI7RTJCN2dGVTtJRmtJUixxQkFUTTtFekJ1NUVSO0UyQmhoRlU7SUZrSVIsVUFUTTtFekIwNUVSO0UyQm5oRlU7SUZrSVIscUJBVE07RXpCNjVFUjtFMkJ0aEZVO0lGa0lSLHFCQVRNO0V6Qmc2RVI7RTJCemhGVTtJRmtJUixXQVRNO0V6Qm02RVI7QUFDRjtBR2g1RVE7RXdCN0lJO0lGa0lSLG9CQVRNO0V6Qnc2RVI7RTJCamlGVTtJRmtJUixxQkFUTTtFekIyNkVSO0UyQnBpRlU7SUZrSVIsVUFUTTtFekI4NkVSO0UyQnZpRlU7SUZrSVIscUJBVE07RXpCaTdFUjtFMkIxaUZVO0lGa0lSLHFCQVRNO0V6Qm83RVI7RTJCN2lGVTtJRmtJUixVQVRNO0V6QnU3RVI7RTJCaGpGVTtJRmtJUixxQkFUTTtFekIwN0VSO0UyQm5qRlU7SUZrSVIscUJBVE07RXpCNjdFUjtFMkJ0akZVO0lGa0lSLFVBVE07RXpCZzhFUjtFMkJ6akZVO0lGa0lSLHFCQVRNO0V6Qm04RVI7RTJCNWpGVTtJRmtJUixxQkFUTTtFekJzOEVSO0UyQi9qRlU7SUZrSVIsV0FUTTtFekJ5OEVSO0FBQ0Y7QUd0N0VRO0V3QjdJSTtJRmtJUixvQkFUTTtFekI4OEVSO0UyQnZrRlU7SUZrSVIscUJBVE07RXpCaTlFUjtFMkIxa0ZVO0lGa0lSLFVBVE07RXpCbzlFUjtFMkI3a0ZVO0lGa0lSLHFCQVRNO0V6QnU5RVI7RTJCaGxGVTtJRmtJUixxQkFUTTtFekIwOUVSO0UyQm5sRlU7SUZrSVIsVUFUTTtFekI2OUVSO0UyQnRsRlU7SUZrSVIscUJBVE07RXpCZytFUjtFMkJ6bEZVO0lGa0lSLHFCQVRNO0V6Qm0rRVI7RTJCNWxGVTtJRmtJUixVQVRNO0V6QnMrRVI7RTJCL2xGVTtJRmtJUixxQkFUTTtFekJ5K0VSO0UyQmxtRlU7SUZrSVIscUJBVE07RXpCNCtFUjtFMkJybUZVO0lGa0lSLFdBVE07RXpCKytFUjtBQUNGO0FHNTlFUTtFd0JwSUk7SUZ5SFIsb0JBVE07RXpCby9FUjtFMkJwbUZVO0lGeUhSLHFCQVRNO0V6QnUvRVI7RTJCdm1GVTtJRnlIUixVQVRNO0V6QjAvRVI7RTJCMW1GVTtJRnlIUixxQkFUTTtFekI2L0VSO0UyQjdtRlU7SUZ5SFIscUJBVE07RXpCZ2dGUjtFMkJobkZVO0lGeUhSLFVBVE07RXpCbWdGUjtFMkJubkZVO0lGeUhSLHFCQVRNO0V6QnNnRlI7RTJCdG5GVTtJRnlIUixxQkFUTTtFekJ5Z0ZSO0UyQnpuRlU7SUZ5SFIsVUFUTTtFekI0Z0ZSO0UyQjVuRlU7SUZ5SFIscUJBVE07RXpCK2dGUjtFMkIvbkZVO0lGeUhSLHFCQVRNO0V6QmtoRlI7RTJCbG9GVTtJRnlIUixXQVRNO0V6QnFoRlI7QUFDRjs7QUdsZ0ZRO0VtQnFERjtJSzdLRSxlQUFBO0lBQUEsY0FBQTtFM0Jnb0ZOO0UyQjduRkk7SUFFSSxnQkFBQTtJQUFBLGVBQUE7RTNCK25GUjtBQUNGOztBc0IxOEVNO0VNbk1GLGVBQUE7QTVCaXBGSjs7QXNCMThFTTtFTXZNRiwyQ0FBQTtBNUJxcEZKOztBc0JsOUVNO0VNbk1GLDBCQUFBO0E1QnlwRko7O0FzQmw5RU07RU12TUYsc0RBQUE7QTVCNnBGSjs7QXNCMTlFTTtFTW5NRiwyQkFBQTtBNUJpcUZKOztBc0IxOUVNO0VNdk1GLHVEQUFBO0E1QnFxRko7O0FzQmwrRU07RU1uTUYsZ0JBQUE7QTVCeXFGSjs7QXNCbCtFTTtFTXZNRiw0Q0FBQTtBNUI2cUZKOztBc0IxK0VNO0VNbk1GLDJCQUFBO0E1QmlyRko7O0FzQjErRU07RU12TUYsdURBQUE7QTVCcXJGSjs7QXNCbC9FTTtFTW5NRiwyQkFBQTtBNUJ5ckZKOztBc0JsL0VNO0VNdk1GLHVEQUFBO0E1QjZyRko7O0FzQjEvRU07RU1uTUYsZ0JBQUE7QTVCaXNGSjs7QXNCMS9FTTtFTXZNRiw0Q0FBQTtBNUJxc0ZKOztBc0JsZ0ZNO0VNbk1GLDJCQUFBO0E1QnlzRko7O0FzQmxnRk07RU12TUYsdURBQUE7QTVCNnNGSjs7QXNCMWdGTTtFTW5NRiwyQkFBQTtBNUJpdEZKOztBc0IxZ0ZNO0VNdk1GLHVEQUFBO0E1QnF0Rko7O0FzQmxoRk07RU1uTUYsZ0JBQUE7QTVCeXRGSjs7QXNCbGhGTTtFTXZNRiw0Q0FBQTtBNUI2dEZKOztBc0IxaEZNO0VNbk1GLDJCQUFBO0E1Qml1Rko7O0FzQjFoRk07RU12TUYsdURBQUE7QTVCcXVGSjs7QXNCbGlGTTtFTW5NRiwyQkFBQTtBNUJ5dUZKOztBc0JsaUZNO0VNdk1GLHVEQUFBO0E1QjZ1Rko7O0FHbG5GUTtFbUJ3RUY7SU1uTUYsZUFBQTtFNUJrdkZGO0VzQjNpRkk7SU12TUYsMkNBQUE7RTVCcXZGRjtFc0JsakZJO0lNbk1GLDBCQUFBO0U1Qnd2RkY7RXNCampGSTtJTXZNRixzREFBQTtFNUIydkZGO0VzQnhqRkk7SU1uTUYsMkJBQUE7RTVCOHZGRjtFc0J2akZJO0lNdk1GLHVEQUFBO0U1Qml3RkY7RXNCOWpGSTtJTW5NRixnQkFBQTtFNUJvd0ZGO0VzQjdqRkk7SU12TUYsNENBQUE7RTVCdXdGRjtFc0Jwa0ZJO0lNbk1GLDJCQUFBO0U1QjB3RkY7RXNCbmtGSTtJTXZNRix1REFBQTtFNUI2d0ZGO0VzQjFrRkk7SU1uTUYsMkJBQUE7RTVCZ3hGRjtFc0J6a0ZJO0lNdk1GLHVEQUFBO0U1Qm14RkY7RXNCaGxGSTtJTW5NRixnQkFBQTtFNUJzeEZGO0VzQi9rRkk7SU12TUYsNENBQUE7RTVCeXhGRjtFc0J0bEZJO0lNbk1GLDJCQUFBO0U1QjR4RkY7RXNCcmxGSTtJTXZNRix1REFBQTtFNUIreEZGO0VzQjVsRkk7SU1uTUYsMkJBQUE7RTVCa3lGRjtFc0IzbEZJO0lNdk1GLHVEQUFBO0U1QnF5RkY7RXNCbG1GSTtJTW5NRixnQkFBQTtFNUJ3eUZGO0VzQmptRkk7SU12TUYsNENBQUE7RTVCMnlGRjtFc0J4bUZJO0lNbk1GLDJCQUFBO0U1Qjh5RkY7RXNCdm1GSTtJTXZNRix1REFBQTtFNUJpekZGO0VzQjltRkk7SU1uTUYsMkJBQUE7RTVCb3pGRjtFc0I3bUZJO0lNdk1GLHVEQUFBO0U1QnV6RkY7QUFDRjtBRzdyRlE7RW1Cd0VGO0lNbk1GLGVBQUE7RTVCNHpGRjtFc0JybkZJO0lNdk1GLDJDQUFBO0U1Qit6RkY7RXNCNW5GSTtJTW5NRiwwQkFBQTtFNUJrMEZGO0VzQjNuRkk7SU12TUYsc0RBQUE7RTVCcTBGRjtFc0Jsb0ZJO0lNbk1GLDJCQUFBO0U1QncwRkY7RXNCam9GSTtJTXZNRix1REFBQTtFNUIyMEZGO0VzQnhvRkk7SU1uTUYsZ0JBQUE7RTVCODBGRjtFc0J2b0ZJO0lNdk1GLDRDQUFBO0U1QmkxRkY7RXNCOW9GSTtJTW5NRiwyQkFBQTtFNUJvMUZGO0VzQjdvRkk7SU12TUYsdURBQUE7RTVCdTFGRjtFc0JwcEZJO0lNbk1GLDJCQUFBO0U1QjAxRkY7RXNCbnBGSTtJTXZNRix1REFBQTtFNUI2MUZGO0VzQjFwRkk7SU1uTUYsZ0JBQUE7RTVCZzJGRjtFc0J6cEZJO0lNdk1GLDRDQUFBO0U1Qm0yRkY7RXNCaHFGSTtJTW5NRiwyQkFBQTtFNUJzMkZGO0VzQi9wRkk7SU12TUYsdURBQUE7RTVCeTJGRjtFc0J0cUZJO0lNbk1GLDJCQUFBO0U1QjQyRkY7RXNCcnFGSTtJTXZNRix1REFBQTtFNUIrMkZGO0VzQjVxRkk7SU1uTUYsZ0JBQUE7RTVCazNGRjtFc0IzcUZJO0lNdk1GLDRDQUFBO0U1QnEzRkY7RXNCbHJGSTtJTW5NRiwyQkFBQTtFNUJ3M0ZGO0VzQmpyRkk7SU12TUYsdURBQUE7RTVCMjNGRjtFc0J4ckZJO0lNbk1GLDJCQUFBO0U1QjgzRkY7RXNCdnJGSTtJTXZNRix1REFBQTtFNUJpNEZGO0FBQ0Y7QUdsd0ZRO0VtQm1FRjtJTW5NRixlQUFBO0U1QnM0RkY7RXNCL3JGSTtJTXZNRiwyQ0FBQTtFNUJ5NEZGO0VzQnRzRkk7SU1uTUYsMEJBQUE7RTVCNDRGRjtFc0Jyc0ZJO0lNdk1GLHNEQUFBO0U1Qis0RkY7RXNCNXNGSTtJTW5NRiwyQkFBQTtFNUJrNUZGO0VzQjNzRkk7SU12TUYsdURBQUE7RTVCcTVGRjtFc0JsdEZJO0lNbk1GLGdCQUFBO0U1Qnc1RkY7RXNCanRGSTtJTXZNRiw0Q0FBQTtFNUIyNUZGO0VzQnh0Rkk7SU1uTUYsMkJBQUE7RTVCODVGRjtFc0J2dEZJO0lNdk1GLHVEQUFBO0U1Qmk2RkY7RXNCOXRGSTtJTW5NRiwyQkFBQTtFNUJvNkZGO0VzQjd0Rkk7SU12TUYsdURBQUE7RTVCdTZGRjtFc0JwdUZJO0lNbk1GLGdCQUFBO0U1QjA2RkY7RXNCbnVGSTtJTXZNRiw0Q0FBQTtFNUI2NkZGO0VzQjF1Rkk7SU1uTUYsMkJBQUE7RTVCZzdGRjtFc0J6dUZJO0lNdk1GLHVEQUFBO0U1Qm03RkY7RXNCaHZGSTtJTW5NRiwyQkFBQTtFNUJzN0ZGO0VzQi91Rkk7SU12TUYsdURBQUE7RTVCeTdGRjtFc0J0dkZJO0lNbk1GLGdCQUFBO0U1QjQ3RkY7RXNCcnZGSTtJTXZNRiw0Q0FBQTtFNUIrN0ZGO0VzQjV2Rkk7SU1uTUYsMkJBQUE7RTVCazhGRjtFc0IzdkZJO0lNdk1GLHVEQUFBO0U1QnE4RkY7RXNCbHdGSTtJTW5NRiwyQkFBQTtFNUJ3OEZGO0VzQmp3Rkk7SU12TUYsdURBQUE7RTVCMjhGRjtBQUNGO0FzQm52RkU7RUUvT0EsYUFBQTtFQUNBLHdCQUFBO0F4QnErRkY7QXNCbnZGSTtFR3JJRixZQUFBO0VBQ0EsZ0JBQUE7QXpCMjNGRjtBc0JudkZJO0VHNUdBLFlBVE07QXpCMjJGVjtBc0JsdkZJO0VHaEhBLFlBVE07QXpCODJGVjtBc0J2dUZNO0VBQ0UsZ0JBQUE7QXRCeXVGUjtBR2wyRlE7RW1Cd0hGO0lBQ0UsZ0JBQUE7RXRCNnVGTjtBQUNGO0FHdjJGUTtFbUJ3SEY7SUFDRSxnQkFBQTtFdEJrdkZOO0FBQ0Y7QUd2MkZRO0VtQm1IRjtJQUNFLGdCQUFBO0V0QnV2Rk47QUFDRjtBc0I1dUZNO0VHdExKLGNBQUE7QXpCcTZGRjtBc0JodUZRO0VHMUpKLHFCQVRNO0F6QnM0RlY7QXNCbnVGUTtFRzFKSixzQkFUTTtBekJ5NEZWO0FzQnR1RlE7RUcxSkosV0FUTTtBekI0NEZWO0FzQnp1RlE7RUcxSkosc0JBVE07QXpCKzRGVjtBc0I1dUZRO0VHMUpKLHNCQVRNO0F6Qms1RlY7QXNCL3VGUTtFRzFKSixXQVRNO0F6QnE1RlY7QXNCbHZGUTtFRzFKSixzQkFUTTtBekJ3NUZWO0FzQnJ2RlE7RUcxSkosc0JBVE07QXpCMjVGVjtBc0J4dkZRO0VHMUpKLFdBVE07QXpCODVGVjtBc0IzdkZRO0VHMUpKLHNCQVRNO0F6Qmk2RlY7QXNCOXZGUTtFRzFKSixzQkFUTTtBekJvNkZWO0FzQmp3RlE7RUcxSkosWUFUTTtBekJ1NkZWO0FHeDVGUTtFbUJnSUE7SUdqTE4sV0FBQTtJQTJDRSxZQVRNO0V6QjQ2RlI7RXNCeHhGSTtJR3RMSixjQUFBO0V6Qmk5RkE7RXNCcnhGTTtJR2pKSixZQVRNO0V6Qms3RlI7RXNCL3dGTTtJRzFKSixxQkFUTTtFekJxN0ZSO0VzQmx4Rk07SUcxSkosc0JBVE07RXpCdzdGUjtFc0JyeEZNO0lHMUpKLFdBVE07RXpCMjdGUjtFc0J4eEZNO0lHMUpKLHNCQVRNO0V6Qjg3RlI7RXNCM3hGTTtJRzFKSixzQkFUTTtFekJpOEZSO0VzQjl4Rk07SUcxSkosV0FUTTtFekJvOEZSO0VzQmp5Rk07SUcxSkosc0JBVE07RXpCdThGUjtFc0JweUZNO0lHMUpKLHNCQVRNO0V6QjA4RlI7RXNCdnlGTTtJRzFKSixXQVRNO0V6QjY4RlI7RXNCMXlGTTtJRzFKSixzQkFUTTtFekJnOUZSO0VzQjd5Rk07SUcxSkosc0JBVE07RXpCbTlGUjtFc0JoekZNO0lHMUpKLFlBVE07RXpCczlGUjtBQUNGO0FHeDhGUTtFbUJnSUE7SUdqTE4sV0FBQTtJQTJDRSxZQVRNO0V6QjQ5RlI7RXNCeDBGSTtJR3RMSixjQUFBO0V6QmlnR0E7RXNCcjBGTTtJR2pKSixZQVRNO0V6QmsrRlI7RXNCL3pGTTtJRzFKSixxQkFUTTtFekJxK0ZSO0VzQmwwRk07SUcxSkosc0JBVE07RXpCdytGUjtFc0JyMEZNO0lHMUpKLFdBVE07RXpCMitGUjtFc0J4MEZNO0lHMUpKLHNCQVRNO0V6QjgrRlI7RXNCMzBGTTtJRzFKSixzQkFUTTtFekJpL0ZSO0VzQjkwRk07SUcxSkosV0FUTTtFekJvL0ZSO0VzQmoxRk07SUcxSkosc0JBVE07RXpCdS9GUjtFc0JwMUZNO0lHMUpKLHNCQVRNO0V6QjAvRlI7RXNCdjFGTTtJRzFKSixXQVRNO0V6QjYvRlI7RXNCMTFGTTtJRzFKSixzQkFUTTtFekJnZ0dSO0VzQjcxRk07SUcxSkosc0JBVE07RXpCbWdHUjtFc0JoMkZNO0lHMUpKLFlBVE07RXpCc2dHUjtBQUNGO0FHbi9GUTtFbUIySEE7SUdqTE4sV0FBQTtJQTJDRSxZQVRNO0V6QjRnR1I7RXNCeDNGSTtJR3RMSixjQUFBO0V6QmlqR0E7RXNCcjNGTTtJR2pKSixZQVRNO0V6QmtoR1I7RXNCLzJGTTtJRzFKSixxQkFUTTtFekJxaEdSO0VzQmwzRk07SUcxSkosc0JBVE07RXpCd2hHUjtFc0JyM0ZNO0lHMUpKLFdBVE07RXpCMmhHUjtFc0J4M0ZNO0lHMUpKLHNCQVRNO0V6QjhoR1I7RXNCMzNGTTtJRzFKSixzQkFUTTtFekJpaUdSO0VzQjkzRk07SUcxSkosV0FUTTtFekJvaUdSO0VzQmo0Rk07SUcxSkosc0JBVE07RXpCdWlHUjtFc0JwNEZNO0lHMUpKLHNCQVRNO0V6QjBpR1I7RXNCdjRGTTtJRzFKSixXQVRNO0V6QjZpR1I7RXNCMTRGTTtJRzFKSixzQkFUTTtFekJnakdSO0VzQjc0Rk07SUcxSkosc0JBVE07RXpCbWpHUjtFc0JoNUZNO0lHMUpKLFlBVE07RXpCc2pHUjtBQUNGOztBc0J4NEZNO0VDblRFLDRCQUFBO0VBQUEsK0JBQUE7QXZCZ3NHUjtBRzdpR1E7RW1CZ0tGO0lDblRFLDRCQUFBO0lBQUEsK0JBQUE7RXZCcXNHTjtBQUNGO0FHbmpHUTtFbUJnS0Y7SUNuVEUsNEJBQUE7SUFBQSwrQkFBQTtFdkIyc0dOO0FBQ0Y7QXNCcDVGTTtFQ3hURSw0QkFBQTtFQUFBLCtCQUFBO0F2Qmd0R1I7QUc3akdRO0VtQnFLRjtJQ3hURSw0QkFBQTtJQUFBLCtCQUFBO0V2QnF0R047QUFDRjtBR25rR1E7RW1CcUtGO0lDeFRFLDRCQUFBO0lBQUEsK0JBQUE7RXZCMnRHTjtBQUNGOztBc0JybkdFO0VDdkdNLDRCQUFBO0VBQUEsK0JBQUE7QXZCaXVHUjtBRzlrR1E7RW1CNUNOO0lDdkdNLDRCQUFBO0lBQUEsK0JBQUE7RXZCc3VHTjtBQUNGO0FHcGxHUTtFbUI1Q047SUN2R00sNEJBQUE7SUFBQSwrQkFBQTtFdkI0dUdOO0FBQ0Y7QXNCbG9HSTtFR2tDQSxvQ0FUTTtFRjNISiwyQkFBQTtFQUFBLDhCQUFBO0F2Qnl1R047QUcvbEdRO0VtQmpDQTtJRzJCSixvQ0FUTTtJRjNISiwyQkFBQTtJQUFBLDhCQUFBO0V2Qit1R0o7QUFDRjtBR3RtR1E7RW1CakNBO0lHMkJKLG9DQVRNO0lGM0hKLDJCQUFBO0lBQUEsOEJBQUE7RXZCc3ZHSjtBQUNGO0FzQmpyR0U7RUc4REUsWUFUTTtBekIrbkdWO0FzQmhyR0U7RUcwREUsWUFUTTtBekJrb0dWO0FzQjNxR0k7RUdrREEsNkNBVE07QXpCcW9HVjtBc0I5cUdJO0VHa0RBLDhDQVRNO0F6QndvR1Y7QXNCanJHSTtFR2tEQSxtQ0FUTTtBekIyb0dWO0FzQnByR0k7RUdrREEsOENBVE07QXpCOG9HVjtBc0J2ckdJO0VHa0RBLDhDQVRNO0F6QmlwR1Y7QXNCMXJHSTtFR2tEQSxtQ0FUTTtBekJvcEdWO0FzQjdyR0k7RUdrREEsOENBVE07QXpCdXBHVjtBc0Joc0dJO0VHa0RBLDhDQVRNO0F6QjBwR1Y7QXNCbnNHSTtFR2tEQSxtQ0FUTTtBekI2cEdWO0FzQnRzR0k7RUdrREEsOENBVE07QXpCZ3FHVjtBc0J6c0dJO0VHa0RBLDhDQVRNO0F6Qm1xR1Y7QXNCNXNHSTtFR2tEQSxvQ0FUTTtBekJzcUdWO0FHdnBHUTtFbUJwRU47SUc4REUsWUFUTTtFekIwcUdSO0VzQjN0R0E7SUcwREUsWUFUTTtFekI2cUdSO0VzQnR0R0U7SUdrREEsNkNBVE07RXpCZ3JHUjtFc0J6dEdFO0lHa0RBLDhDQVRNO0V6Qm1yR1I7RXNCNXRHRTtJR2tEQSxtQ0FUTTtFekJzckdSO0VzQi90R0U7SUdrREEsOENBVE07RXpCeXJHUjtFc0JsdUdFO0lHa0RBLDhDQVRNO0V6QjRyR1I7RXNCcnVHRTtJR2tEQSxtQ0FUTTtFekIrckdSO0VzQnh1R0U7SUdrREEsOENBVE07RXpCa3NHUjtFc0IzdUdFO0lHa0RBLDhDQVRNO0V6QnFzR1I7RXNCOXVHRTtJR2tEQSxtQ0FUTTtFekJ3c0dSO0VzQmp2R0U7SUdrREEsOENBVE07RXpCMnNHUjtFc0JwdkdFO0lHa0RBLDhDQVRNO0V6QjhzR1I7RXNCdnZHRTtJR2tEQSxvQ0FUTTtFekJpdEdSO0VzQnR3R0E7SUc4REUsWUFUTTtFekJvdEdSO0VzQnJ3R0E7SUcwREUsWUFUTTtFekJ1dEdSO0VzQmh3R0U7SUdrREEsNkNBVE07RXpCMHRHUjtFc0Jud0dFO0lHa0RBLDhDQVRNO0V6QjZ0R1I7RXNCdHdHRTtJR2tEQSxtQ0FUTTtFekJndUdSO0VzQnp3R0U7SUdrREEsOENBVE07RXpCbXVHUjtFc0I1d0dFO0lHa0RBLDhDQVRNO0V6QnN1R1I7RXNCL3dHRTtJR2tEQSxtQ0FUTTtFekJ5dUdSO0VzQmx4R0U7SUdrREEsOENBVE07RXpCNHVHUjtFc0JyeEdFO0lHa0RBLDhDQVRNO0V6Qit1R1I7RXNCeHhHRTtJR2tEQSxtQ0FUTTtFekJrdkdSO0VzQjN4R0U7SUdrREEsOENBVE07RXpCcXZHUjtFc0I5eEdFO0lHa0RBLDhDQVRNO0V6Qnd2R1I7RXNCanlHRTtJR2tEQSxvQ0FUTTtFekIydkdSO0FBQ0Y7QUc3dUdRO0VtQnBFTjtJRzhERSxZQVRNO0V6Qmd3R1I7RXNCanpHQTtJRzBERSxZQVRNO0V6Qm13R1I7RXNCNXlHRTtJR2tEQSw2Q0FUTTtFekJzd0dSO0VzQi95R0U7SUdrREEsOENBVE07RXpCeXdHUjtFc0JsekdFO0lHa0RBLG1DQVRNO0V6QjR3R1I7RXNCcnpHRTtJR2tEQSw4Q0FUTTtFekIrd0dSO0VzQnh6R0U7SUdrREEsOENBVE07RXpCa3hHUjtFc0IzekdFO0lHa0RBLG1DQVRNO0V6QnF4R1I7RXNCOXpHRTtJR2tEQSw4Q0FUTTtFekJ3eEdSO0VzQmowR0U7SUdrREEsOENBVE07RXpCMnhHUjtFc0JwMEdFO0lHa0RBLG1DQVRNO0V6Qjh4R1I7RXNCdjBHRTtJR2tEQSw4Q0FUTTtFekJpeUdSO0VzQjEwR0U7SUdrREEsOENBVE07RXpCb3lHUjtFc0I3MEdFO0lHa0RBLG9DQVRNO0V6QnV5R1I7RXNCNTFHQTtJRzhERSxZQVRNO0V6QjB5R1I7RXNCMzFHQTtJRzBERSxZQVRNO0V6QjZ5R1I7RXNCdDFHRTtJR2tEQSw2Q0FUTTtFekJnekdSO0VzQnoxR0U7SUdrREEsOENBVE07RXpCbXpHUjtFc0I1MUdFO0lHa0RBLG1DQVRNO0V6QnN6R1I7RXNCLzFHRTtJR2tEQSw4Q0FUTTtFekJ5ekdSO0VzQmwyR0U7SUdrREEsOENBVE07RXpCNHpHUjtFc0JyMkdFO0lHa0RBLG1DQVRNO0V6Qit6R1I7RXNCeDJHRTtJR2tEQSw4Q0FUTTtFekJrMEdSO0VzQjMyR0U7SUdrREEsOENBVE07RXpCcTBHUjtFc0I5MkdFO0lHa0RBLG1DQVRNO0V6QncwR1I7RXNCajNHRTtJR2tEQSw4Q0FUTTtFekIyMEdSO0VzQnAzR0U7SUdrREEsOENBVE07RXpCODBHUjtFc0J2M0dFO0lHa0RBLG9DQVRNO0V6QmkxR1I7RXNCdDRHQTtJRzhERSxZQVRNO0V6Qm8xR1I7RXNCcjRHQTtJRzBERSxZQVRNO0V6QnUxR1I7RXNCaDRHRTtJR2tEQSw2Q0FUTTtFekIwMUdSO0VzQm40R0U7SUdrREEsOENBVE07RXpCNjFHUjtFc0J0NEdFO0lHa0RBLG1DQVRNO0V6QmcyR1I7RXNCejRHRTtJR2tEQSw4Q0FUTTtFekJtMkdSO0VzQjU0R0U7SUdrREEsOENBVE07RXpCczJHUjtFc0IvNEdFO0lHa0RBLG1DQVRNO0V6QnkyR1I7RXNCbDVHRTtJR2tEQSw4Q0FUTTtFekI0MkdSO0VzQnI1R0U7SUdrREEsOENBVE07RXpCKzJHUjtFc0J4NUdFO0lHa0RBLG1DQVRNO0V6QmszR1I7RXNCMzVHRTtJR2tEQSw4Q0FUTTtFekJxM0dSO0VzQjk1R0U7SUdrREEsOENBVE07RXpCdzNHUjtFc0JqNkdFO0lHa0RBLG9DQVRNO0V6QjIzR1I7RXNCaDdHQTtJRzhERSxZQVRNO0V6QjgzR1I7RXNCLzZHQTtJRzBERSxZQVRNO0V6Qmk0R1I7RXNCMTZHRTtJR2tEQSw2Q0FUTTtFekJvNEdSO0VzQjc2R0U7SUdrREEsOENBVE07RXpCdTRHUjtFc0JoN0dFO0lHa0RBLG1DQVRNO0V6QjA0R1I7RXNCbjdHRTtJR2tEQSw4Q0FUTTtFekI2NEdSO0VzQnQ3R0U7SUdrREEsOENBVE07RXpCZzVHUjtFc0J6N0dFO0lHa0RBLG1DQVRNO0V6Qm01R1I7RXNCNTdHRTtJR2tEQSw4Q0FUTTtFekJzNUdSO0VzQi83R0U7SUdrREEsOENBVE07RXpCeTVHUjtFc0JsOEdFO0lHa0RBLG1DQVRNO0V6QjQ1R1I7RXNCcjhHRTtJR2tEQSw4Q0FUTTtFekIrNUdSO0VzQng4R0U7SUdrREEsOENBVE07RXpCazZHUjtFc0IzOEdFO0lHa0RBLG9DQVRNO0V6QnE2R1I7QUFDRjtBR2w1R1E7RW1CekVOO0lHOERFLFlBVE07RXpCMDZHUjtFc0IzOUdBO0lHMERFLFlBVE07RXpCNjZHUjtFc0J0OUdFO0lHa0RBLDZDQVRNO0V6Qmc3R1I7RXNCejlHRTtJR2tEQSw4Q0FUTTtFekJtN0dSO0VzQjU5R0U7SUdrREEsbUNBVE07RXpCczdHUjtFc0IvOUdFO0lHa0RBLDhDQVRNO0V6Qnk3R1I7RXNCbCtHRTtJR2tEQSw4Q0FUTTtFekI0N0dSO0VzQnIrR0U7SUdrREEsbUNBVE07RXpCKzdHUjtFc0J4K0dFO0lHa0RBLDhDQVRNO0V6Qms4R1I7RXNCMytHRTtJR2tEQSw4Q0FUTTtFekJxOEdSO0VzQjkrR0U7SUdrREEsbUNBVE07RXpCdzhHUjtFc0JqL0dFO0lHa0RBLDhDQVRNO0V6QjI4R1I7RXNCcC9HRTtJR2tEQSw4Q0FUTTtFekI4OEdSO0VzQnYvR0U7SUdrREEsb0NBVE07RXpCaTlHUjtBQUNGOztBc0JoeEdFO0VPcFZFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBbUNJLFlBQUE7QTdCc2tIUjs7QXNCcHhHRTtFQUNFLFdBQUE7QXRCdXhHSjs7QXNCcHhHRTtFT25TRSxnQkFBQTtFQUNBLGVBQUE7RUFHRixpQ0FBQTtFQUNBLDRDQUFBO0E3QnlqSEY7O0FzQnZ4R0U7RU8zU0UsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBTUYsaUNBQUE7RUFDQSw0Q0FBQTtBN0Jpa0hGOztBc0IxeEdFO0VPaFNBLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0E3QjhqSEY7QTZCNWpIRTtFQUNFLGdCQUFBO0VBQ0EsaUJBQUE7QTdCOGpISjs7QUd4K0dRO0VtQjJNSjtJTzVXQSxnQkFBQTtJQUNBLGtCQUFBO0lBQ0EsaUJBQUE7SUFDQSxvQkFBQTtJQW1DSSxZQUFBO0U3QjRtSE47RXNCbHlHRTtJQUNFLFdBQUE7RXRCb3lHSjtFc0JqeUdFO0lPM1RBLGdCQUFBO0lBQ0EsZUFBQTtJQUdGLGlDQUFBO0lBQ0EsNENBQUE7RTdCNmxIQTtFc0JueUdFO0lPblRGLGFBQUE7SUFDQSxzQkFBQTtJQUNBLGdCQUFBO0U3QnlsSEE7RTZCdmxIQTtJQUNFLGdCQUFBO0lBQ0EsaUJBQUE7RTdCeWxIRjtFc0J4eUdFO0lPdlVBLGdCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxnQkFBQTtJQU1GLGlDQUFBO0lBQ0EsNENBQUE7RTdCNm1IQTtBQUNGO0FHM2dIUTtFbUIyTUo7SU81V0EsZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLGlCQUFBO0lBQ0Esb0JBQUE7SUFtQ0ksWUFBQTtFN0I4b0hOO0VzQnAwR0U7SUFDRSxXQUFBO0V0QnMwR0o7RXNCbjBHRTtJTzNUQSxnQkFBQTtJQUNBLGVBQUE7SUFHRixpQ0FBQTtJQUNBLDRDQUFBO0U3QituSEE7RXNCcjBHRTtJT25URixhQUFBO0lBQ0Esc0JBQUE7SUFDQSxnQkFBQTtFN0IybkhBO0U2QnpuSEE7SUFDRSxnQkFBQTtJQUNBLGlCQUFBO0U3QjJuSEY7RXNCMTBHRTtJT3ZVQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0EsZ0JBQUE7SUFNRixpQ0FBQTtJQUNBLDRDQUFBO0U3QitvSEE7QUFDRjtBR3hpSFE7RW1Cc01KO0lPNVdBLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtJQUNBLG9CQUFBO0lBbUNJLFlBQUE7RTdCZ3JITjtFc0J0MkdFO0lBQ0UsV0FBQTtFdEJ3MkdKO0VzQnIyR0U7SU8zVEEsZ0JBQUE7SUFDQSxlQUFBO0lBR0YsaUNBQUE7SUFDQSw0Q0FBQTtFN0JpcUhBO0VzQnYyR0U7SU9uVEYsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsZ0JBQUE7RTdCNnBIQTtFNkIzcEhBO0lBQ0UsZ0JBQUE7SUFDQSxpQkFBQTtFN0I2cEhGO0VzQjUyR0U7SU92VUEsZ0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBTUYsaUNBQUE7SUFDQSw0Q0FBQTtFN0JpckhBO0FBQ0Y7QXNCNzJHTTtFT25ZRixnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQWlDSSxhQUFBO0VQaVdBLFdBQUE7QXRCbTNHUjtBR3ZsSFE7RW1Cd09BO0lPellKLGdCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtJQUNBLG9CQUFBO0lBaUNJLGFBQUE7SVB1V0UsV0FBQTtFdEJzM0dSO0FBQ0Y7QUdqbUhRO0VtQndPQTtJT3pZSixnQkFBQTtJQUNBLGtCQUFBO0lBQ0EsaUJBQUE7SUFDQSxvQkFBQTtJQWlDSSxhQUFBO0lQdVdFLFdBQUE7RXRCZzRHUjtBQUNGO0FHdG1IUTtFbUJtT0E7SU96WUosZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLGlCQUFBO0lBQ0Esb0JBQUE7SUFpQ0ksYUFBQTtJUHVXRSxXQUFBO0V0QjA0R1I7QUFDRjs7QXNCcjRHTTtFQUNFLFlBQUE7QXRCdzRHUjtBR3puSFE7RW1Cb1BBO0lBQ0UsWUFBQTtFdEJ3NEdSO0FBQ0Y7QUc5bkhRO0VtQm9QQTtJQUNFLFlBQUE7RXRCNjRHUjtBQUNGO0FHOW5IUTtFbUIrT0E7SUFDRSxZQUFBO0V0Qms1R1I7QUFDRjs7QXNCcHJIRTtFQ3ZHTSw0QkFBQTtFQUFBLCtCQUFBO0F2Qmd5SFI7QUc3b0hRO0VtQjVDTjtJQ3ZHTSw0QkFBQTtJQUFBLCtCQUFBO0V2QnF5SE47QUFDRjtBR25wSFE7RW1CNUNOO0lDdkdNLDRCQUFBO0lBQUEsK0JBQUE7RXZCMnlITjtBQUNGO0FzQmpzSEk7RUdrQ0Esb0NBVE07RUYzSEosMkJBQUE7RUFBQSw4QkFBQTtBdkJ3eUhOO0FHOXBIUTtFbUJqQ0E7SUcyQkosb0NBVE07SUYzSEosMkJBQUE7SUFBQSw4QkFBQTtFdkI4eUhKO0FBQ0Y7QUdycUhRO0VtQmpDQTtJRzJCSixvQ0FUTTtJRjNISiwyQkFBQTtJQUFBLDhCQUFBO0V2QnF6SEo7QUFDRjtBc0JodkhFO0VHOERFLFlBVE07QXpCOHJIVjtBc0IvdUhFO0VHMERFLFlBVE07QXpCaXNIVjtBc0IxdUhJO0VHa0RBLDZDQVRNO0F6Qm9zSFY7QXNCN3VISTtFR2tEQSw4Q0FUTTtBekJ1c0hWO0FzQmh2SEk7RUdrREEsbUNBVE07QXpCMHNIVjtBc0JudkhJO0VHa0RBLDhDQVRNO0F6QjZzSFY7QXNCdHZISTtFR2tEQSw4Q0FUTTtBekJndEhWO0FzQnp2SEk7RUdrREEsbUNBVE07QXpCbXRIVjtBc0I1dkhJO0VHa0RBLDhDQVRNO0F6QnN0SFY7QXNCL3ZISTtFR2tEQSw4Q0FUTTtBekJ5dEhWO0FzQmx3SEk7RUdrREEsbUNBVE07QXpCNHRIVjtBc0Jyd0hJO0VHa0RBLDhDQVRNO0F6Qit0SFY7QXNCeHdISTtFR2tEQSw4Q0FUTTtBekJrdUhWO0FzQjN3SEk7RUdrREEsb0NBVE07QXpCcXVIVjtBR3R0SFE7RW1CcEVOO0lHOERFLFlBVE07RXpCeXVIUjtFc0IxeEhBO0lHMERFLFlBVE07RXpCNHVIUjtFc0JyeEhFO0lHa0RBLDZDQVRNO0V6Qit1SFI7RXNCeHhIRTtJR2tEQSw4Q0FUTTtFekJrdkhSO0VzQjN4SEU7SUdrREEsbUNBVE07RXpCcXZIUjtFc0I5eEhFO0lHa0RBLDhDQVRNO0V6Qnd2SFI7RXNCanlIRTtJR2tEQSw4Q0FUTTtFekIydkhSO0VzQnB5SEU7SUdrREEsbUNBVE07RXpCOHZIUjtFc0J2eUhFO0lHa0RBLDhDQVRNO0V6Qml3SFI7RXNCMXlIRTtJR2tEQSw4Q0FUTTtFekJvd0hSO0VzQjd5SEU7SUdrREEsbUNBVE07RXpCdXdIUjtFc0JoekhFO0lHa0RBLDhDQVRNO0V6QjB3SFI7RXNCbnpIRTtJR2tEQSw4Q0FUTTtFekI2d0hSO0VzQnR6SEU7SUdrREEsb0NBVE07RXpCZ3hIUjtFc0JyMEhBO0lHOERFLFlBVE07RXpCbXhIUjtFc0JwMEhBO0lHMERFLFlBVE07RXpCc3hIUjtFc0IvekhFO0lHa0RBLDZDQVRNO0V6Qnl4SFI7RXNCbDBIRTtJR2tEQSw4Q0FUTTtFekI0eEhSO0VzQnIwSEU7SUdrREEsbUNBVE07RXpCK3hIUjtFc0J4MEhFO0lHa0RBLDhDQVRNO0V6Qmt5SFI7RXNCMzBIRTtJR2tEQSw4Q0FUTTtFekJxeUhSO0VzQjkwSEU7SUdrREEsbUNBVE07RXpCd3lIUjtFc0JqMUhFO0lHa0RBLDhDQVRNO0V6QjJ5SFI7RXNCcDFIRTtJR2tEQSw4Q0FUTTtFekI4eUhSO0VzQnYxSEU7SUdrREEsbUNBVE07RXpCaXpIUjtFc0IxMUhFO0lHa0RBLDhDQVRNO0V6Qm96SFI7RXNCNzFIRTtJR2tEQSw4Q0FUTTtFekJ1ekhSO0VzQmgySEU7SUdrREEsb0NBVE07RXpCMHpIUjtBQUNGO0FHNXlIUTtFbUJwRU47SUc4REUsWUFUTTtFekIrekhSO0VzQmgzSEE7SUcwREUsWUFUTTtFekJrMEhSO0VzQjMySEU7SUdrREEsNkNBVE07RXpCcTBIUjtFc0I5MkhFO0lHa0RBLDhDQVRNO0V6QncwSFI7RXNCajNIRTtJR2tEQSxtQ0FUTTtFekIyMEhSO0VzQnAzSEU7SUdrREEsOENBVE07RXpCODBIUjtFc0J2M0hFO0lHa0RBLDhDQVRNO0V6QmkxSFI7RXNCMTNIRTtJR2tEQSxtQ0FUTTtFekJvMUhSO0VzQjczSEU7SUdrREEsOENBVE07RXpCdTFIUjtFc0JoNEhFO0lHa0RBLDhDQVRNO0V6QjAxSFI7RXNCbjRIRTtJR2tEQSxtQ0FUTTtFekI2MUhSO0VzQnQ0SEU7SUdrREEsOENBVE07RXpCZzJIUjtFc0J6NEhFO0lHa0RBLDhDQVRNO0V6Qm0ySFI7RXNCNTRIRTtJR2tEQSxvQ0FUTTtFekJzMkhSO0VzQjM1SEE7SUc4REUsWUFUTTtFekJ5MkhSO0VzQjE1SEE7SUcwREUsWUFUTTtFekI0MkhSO0VzQnI1SEU7SUdrREEsNkNBVE07RXpCKzJIUjtFc0J4NUhFO0lHa0RBLDhDQVRNO0V6QmszSFI7RXNCMzVIRTtJR2tEQSxtQ0FUTTtFekJxM0hSO0VzQjk1SEU7SUdrREEsOENBVE07RXpCdzNIUjtFc0JqNkhFO0lHa0RBLDhDQVRNO0V6QjIzSFI7RXNCcDZIRTtJR2tEQSxtQ0FUTTtFekI4M0hSO0VzQnY2SEU7SUdrREEsOENBVE07RXpCaTRIUjtFc0IxNkhFO0lHa0RBLDhDQVRNO0V6Qm80SFI7RXNCNzZIRTtJR2tEQSxtQ0FUTTtFekJ1NEhSO0VzQmg3SEU7SUdrREEsOENBVE07RXpCMDRIUjtFc0JuN0hFO0lHa0RBLDhDQVRNO0V6QjY0SFI7RXNCdDdIRTtJR2tEQSxvQ0FUTTtFekJnNUhSO0VzQnI4SEE7SUc4REUsWUFUTTtFekJtNUhSO0VzQnA4SEE7SUcwREUsWUFUTTtFekJzNUhSO0VzQi83SEU7SUdrREEsNkNBVE07RXpCeTVIUjtFc0JsOEhFO0lHa0RBLDhDQVRNO0V6QjQ1SFI7RXNCcjhIRTtJR2tEQSxtQ0FUTTtFekIrNUhSO0VzQng4SEU7SUdrREEsOENBVE07RXpCazZIUjtFc0IzOEhFO0lHa0RBLDhDQVRNO0V6QnE2SFI7RXNCOThIRTtJR2tEQSxtQ0FUTTtFekJ3NkhSO0VzQmo5SEU7SUdrREEsOENBVE07RXpCMjZIUjtFc0JwOUhFO0lHa0RBLDhDQVRNO0V6Qjg2SFI7RXNCdjlIRTtJR2tEQSxtQ0FUTTtFekJpN0hSO0VzQjE5SEU7SUdrREEsOENBVE07RXpCbzdIUjtFc0I3OUhFO0lHa0RBLDhDQVRNO0V6QnU3SFI7RXNCaCtIRTtJR2tEQSxvQ0FUTTtFekIwN0hSO0VzQi8rSEE7SUc4REUsWUFUTTtFekI2N0hSO0VzQjkrSEE7SUcwREUsWUFUTTtFekJnOEhSO0VzQnorSEU7SUdrREEsNkNBVE07RXpCbThIUjtFc0I1K0hFO0lHa0RBLDhDQVRNO0V6QnM4SFI7RXNCLytIRTtJR2tEQSxtQ0FUTTtFekJ5OEhSO0VzQmwvSEU7SUdrREEsOENBVE07RXpCNDhIUjtFc0JyL0hFO0lHa0RBLDhDQVRNO0V6Qis4SFI7RXNCeC9IRTtJR2tEQSxtQ0FUTTtFekJrOUhSO0VzQjMvSEU7SUdrREEsOENBVE07RXpCcTlIUjtFc0I5L0hFO0lHa0RBLDhDQVRNO0V6Qnc5SFI7RXNCamdJRTtJR2tEQSxtQ0FUTTtFekIyOUhSO0VzQnBnSUU7SUdrREEsOENBVE07RXpCODlIUjtFc0J2Z0lFO0lHa0RBLDhDQVRNO0V6QmkrSFI7RXNCMWdJRTtJR2tEQSxvQ0FUTTtFekJvK0hSO0FBQ0Y7QUdqOUhRO0VtQnpFTjtJRzhERSxZQVRNO0V6QnkrSFI7RXNCMWhJQTtJRzBERSxZQVRNO0V6QjQrSFI7RXNCcmhJRTtJR2tEQSw2Q0FUTTtFekIrK0hSO0VzQnhoSUU7SUdrREEsOENBVE07RXpCay9IUjtFc0IzaElFO0lHa0RBLG1DQVRNO0V6QnEvSFI7RXNCOWhJRTtJR2tEQSw4Q0FUTTtFekJ3L0hSO0VzQmppSUU7SUdrREEsOENBVE07RXpCMi9IUjtFc0JwaUlFO0lHa0RBLG1DQVRNO0V6QjgvSFI7RXNCdmlJRTtJR2tEQSw4Q0FUTTtFekJpZ0lSO0VzQjFpSUU7SUdrREEsOENBVE07RXpCb2dJUjtFc0I3aUlFO0lHa0RBLG1DQVRNO0V6QnVnSVI7RXNCaGpJRTtJR2tEQSw4Q0FUTTtFekIwZ0lSO0VzQm5qSUU7SUdrREEsOENBVE07RXpCNmdJUjtFc0J0aklFO0lHa0RBLG9DQVRNO0V6QmdoSVI7QUFDRjs7QXNCdHdISTtFT3RZSSxxQ0FBQTtBN0JncElSO0FHdGdJUTtFbUI0UEo7SU90WUkscUNBQUE7RTdCb3BJTjtBQUNGO0FHM2dJUTtFbUI0UEo7SU90WUkscUNBQUE7RTdCeXBJTjtBQUNGO0FHM2dJUTtFbUJ1UEo7SU90WUkscUNBQUE7RTdCOHBJTjtBQUNGOztBR3JoSVE7RW1CZ1FGO0lPMVlFLHFDQUFBO0U3Qm9xSU47QUFDRjtBRzNoSVE7RW1CZ1FGO0lPMVlFLHFDQUFBO0U3QnlxSU47QUFDRjtBRzNoSVE7RW1CMlBGO0lPMVlFLHFDQUFBO0U3QjhxSU47QUFDRjtBOEI1NEhFO0VBMU9BLHFCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQnZCK09jO0V1QnJPWix3Q3ZCb09hO0V1QmpPZiw2QnZCeU9jO0V1QnhPZCxnQnZCaENjO0V1QmlDZCxpRXZCbVBrQjtFdUJsUGxCLG9CdkI0Tm1CO0V1QjNObkIsZUFBQTtFQUNBLGdCdkIyTm1CO0V1QjFObkIsd0JBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0E5QjhtSUY7QVMvaElFO0VBQ0UsVUFBQTtBVGlpSUo7QThCMTVITTtFQUNFLGlCQUZtQjtBOUI4NUgzQjtBOEI3NUhNO0VBQ0Usa0JBRm1CO0E5Qmk2SDNCO0E4Qmg2SE07RUFDRSxrQkFGbUI7QTlCbzZIM0I7QThCOTVISTtFQXJOQSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0E5QnNuSUo7QThCcmpJRTtFQUlFLHlCdEJuTUk7RXNCb01KLGN0Qm5NSTtBUnV2SVI7QThCampJRTtFQUNFLHVCdkJ3SXNCO0V1QnZJdEIsY3RCeE1JO0FSMnZJUjtBOEI3aklFO0VBSUUseUJ0QjdMaUI7RXNCOExqQixjQWJRO0E5QnlrSVo7QThCempJRTtFQUNFLHVCQWJtQjtFQWNuQixjQWxCUTtBOUI2a0laO0E4QnJrSUU7RUFJRSx5QnRCN0xpQjtFc0I4TGpCLGNBYlE7QTlCaWxJWjtBOEJqa0lFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E5QnFsSVo7QThCN2tJRTtFQUlFLHlCdEI3TGlCO0VzQjhMakIsY0FiUTtBOUJ5bElaO0E4QnprSUU7RUFDRSx5QkFibUI7RUFjbkIsY0FsQlE7QTlCNmxJWjtBOEJybElFO0VBSUUseUJ0QjdMaUI7RXNCOExqQixjQWJRO0E5QmltSVo7QThCamxJRTtFQUNFLHlCQWJtQjtFQWNuQixjQWxCUTtBOUJxbUlaO0E4QjdsSUU7RUFJRSx5QnRCN0xpQjtFc0I4TGpCLGNBYlE7QTlCeW1JWjtBOEJ6bElFO0VBQ0UseUJBYm1CO0VBY25CLGNBbEJRO0E5QjZtSVo7QThCbmxJSTtFQUNFLDZCQUFBO0E5QnFsSU47QThCcGtJRTtFQUlFLHlCQUFBO0VBQ0EsY3RCeE9JO0FSMnlJUjtBOEJoa0lFO0VBQ0UsbUJBWlk7RUFhWixZQWJZO0E5QitrSWhCO0E4QjVrSUU7RUFJRSx5QkFBQTtFQUNBLGN0QmxPaUI7QVI2eUlyQjtBOEJ4a0lFO0VBQ0UsbUJBWlk7RUFhWixZQWJZO0E5QnVsSWhCO0E4QnBsSUU7RUFJRSx5QkFBQTtFQUNBLGN0QmxPaUI7QVJxeklyQjtBOEJobElFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5QitsSWhCO0E4QjVsSUU7RUFJRSx5QkFBQTtFQUNBLGN0QmxPaUI7QVI2eklyQjtBOEJ4bElFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5QnVtSWhCO0E4QnBtSUU7RUFJRSx5QkFBQTtFQUNBLGN0QmxPaUI7QVJxMElyQjtBOEJobUlFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5QittSWhCO0E4QjVtSUU7RUFJRSx5QkFBQTtFQUNBLGN0QmxPaUI7QVI2MElyQjtBOEJ4bUlFO0VBQ0UscUJBWlk7RUFhWixjQWJZO0E5QnVuSWhCO0E4QmxtSUk7RUFDRSx5QkFBQTtFQUNBLDZCQUFBO0E5Qm9tSU47QThCcmxJRTtFQUlFLGN0QjFRSTtBUjgxSVI7QThCamxJRTtFQUNFLFlBWFk7QTlCOGxJaEI7QThCM2xJRTtFQUlFLGN0QnBRaUI7QVI4MUlyQjtBOEJ2bElFO0VBQ0UsWUFYWTtBOUJvbUloQjtBOEJqbUlFO0VBSUUsY3RCcFFpQjtBUm8ySXJCO0E4QjdsSUU7RUFDRSxjQVhZO0E5QjBtSWhCO0E4QnZtSUU7RUFJRSxjdEJwUWlCO0FSMDJJckI7QThCbm1JRTtFQUNFLGNBWFk7QTlCZ25JaEI7QThCN21JRTtFQUlFLGN0QnBRaUI7QVJnM0lyQjtBOEJ6bUlFO0VBQ0UsY0FYWTtBOUJzbkloQjtBOEJubklFO0VBSUUsY3RCcFFpQjtBUnMzSXJCO0E4Qi9tSUU7RUFDRSxjQVhZO0E5QjRuSWhCO0E4QnJnSUk7RUFuR0YsYXZCc0V3QjtFdUJyRXhCLG1CQUFBO0E5QjJtSUY7QThCL2xJRTtFckI3UEEsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBRUEsbUJBQUE7RUFDQSxtQnFCb1BPO0VyQmxQUCxXQUFBO0VBR0Usc0JBQUE7RUFDQSw2Q0FBQTtFcUJvUEEsa0JBQUE7RUFDQSxVQUFBO0VBRUEscUJBQUE7RUFDQSxZQUFBO0VBQ0EsNEJBVE87QTlCZ25JWDtBOEJ6Z0lRO0VBQ0UseUJ0QjFZRjtBUnE1SVI7QThCdGdJWTtFQUNFLHlCdEIxWU87QVJrNUlyQjtBOEJ6Z0lZO0VBQ0UseUJ0QjFZTztBUnE1SXJCO0E4QjVnSVk7RUFDRSx5QnRCMVlPO0FSdzVJckI7QThCL2dJWTtFQUNFLHlCdEIxWU87QVIyNUlyQjtBOEJsaElZO0VBQ0UseUJ0QjFZTztBUjg1SXJCO0E4QjVnSUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QTlCOGdJTjs7QThCemdJSTtFQUVFLHFCQUFBO0E5QjJnSU47O0ErQi94SUU7RUF4RkEsY0FBQTtFQUNBLG1CeEJ5TnFCO0V3QnhOckIscUJBQUE7QS9CMjNJRjtBK0J4M0lJO0VBQ0UsbUJBQUE7QS9CMDNJTjs7QStCbjNJRTtFQUNFLHNCQUFBO0EvQnMzSUo7QStCbjNJRTtFQUNFLHNCQUFBO0EvQnEzSUo7O0ErQnZ5SUU7RUFsRUEsa0JBQUE7RUFDQSxjQUFBO0VBQ0EsVXhCaU11QjtFd0IvTHZCLFl4QmlNeUI7RXdCaE16QixnQkFBQTtFQUVBLGtCeEJ5TDBCO0V3QnhMMUIsY0FBQTtFQUNBLGN4QndMcUI7QVBtckl2QjtBK0J6MklFO0VBQ0UsbUJ4QnlMdUI7RXdCeEx2QixzQkFBQTtBL0IyMklKO0ErQngySUU7RUFFRSx5QnhCZ0w4QjtBUHlySWxDO0ErQnIySUk7RUFDRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxZeEJtS21CO0FQb3NJekI7QStCcDJJSTtFQUNFLFl4QmdLb0I7QVBzc0kxQjs7QStCL3pJRTtFQTNCQSxhQUFBO0VBQ0EsVXhCMkowQjtFd0J6SjFCLFl4QnVKeUI7RXdCdEp6QixnQkFBQTtFQUNBLHlCeEJvSjZCO0V3QmxKN0IsY3hCb0p3QjtBUHdzSTFCO0ErQjExSUU7RUFDRSxtQnhCZ0p1QjtBUDRzSTNCOztBZ0M1MUlFO0VBakZBLFN6Qmd5Qlc7RXlCL3hCWCx5QkFBQTtFQUNBLG1CeEJ6RE07RXdCMEROLHFCQUFBO0FoQ2k3SUY7QVN6MElFO0VBRUUsY0FBQTtFQUNBLFlBQUE7RUFHRSxhQUFBO0VBQ0EsUUFBQTtBVHcwSU47QVNwMElFO0VBQ0UsV0FBQTtBVHMwSUo7O0FnQ3I3SUU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QWhDdzdJSjs7QWdDdjJJSTtFQUNFLFVBQUE7QWhDMDJJTjtBZ0N4MklNO0VBQ0UsdUJBQUE7QWhDMDJJUjs7QWdDcDJJRTtFQUNFLG1CQzVDZ0I7QWpDbTVJcEI7QWdDcjJJSTtFQUNFLGNBQUE7QWhDdTJJTjtBZ0NyMklNO0VBRUUsbUJBQUE7QWhDczJJUjs7QWdDajJJRTtFQTNGQSxXQUFBO0FoQ2c4SUY7QWdDOTdJRTtFQUVFLGNBQUE7RUFDQSx1QnpCMHdCZTtFeUJ6d0JmLDBCekJ1d0JpQjtFeUJ0d0JqQixjQUFBO0VBQ0EsY0MyQmdCO0FqQ282SXBCO0FTcDFJRTtFQUNFLFVBQUE7QVRzMUlKO0FnQ2g4SUk7RUFDRSxtQnhCMUZFO0V3QjJGRixZQUFBO0FoQ2s4SU47QWdDLzdJSTtFQUVFLG1CeEJyR087RXdCc0dQLGNDaUJjO0FqQys2SXBCOztBZ0NuM0lFO0VBbEVBLHlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CeEI5R007RXdCK0dOLGN4QmhITTtFd0JpSE4seUJBQUE7QWhDeTdJRjs7QWdDdjNJRTtFQTNEQSx5QkFBQTtFQUNBLGNBQUE7QWhDczdJRjs7QWdDeDNJRTtFQXZEQSxhQUFBO0VBQ0EsYXpCa3VCb0I7QVBpdEh0QjtBZ0NqN0lFO0VBQ0UsY0FBQTtBaENtN0lKOztBa0NsK0lFO0VBQ0UsZ0JBQUE7QWxDcStJSjs7QWtDaitJRTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxXM0JzZHVCO0UyQnBkdkIsV0FBQTtFQUNBLFlBQUE7RUFFQSxtREFBQTtFQUVBLHFDM0JzZHdCO0UyQnBkeEIsVUFBQTtFQUNBLGtCQUFBO0VBRUEsZ0JBQUE7QWxDKzlJSjtBa0M3OUlJO0VBQ0UsVUFBQTtFQUNBLG1CQUFBO0FsQys5SU47QWtDNTlJSTtFQUNFLGVBQUE7QWxDODlJTjtBa0MzOUlJO0VBQ0Usa0JBQUE7QWxDNjlJTjtBa0MxOUlJO0VBQ0UsZUFBQTtBbEM0OUlOOztBa0MxcElFO0VBM1RBLGtCQUFBO0VBQ0EsZ0JBQUE7QWxDeTlJRjs7QWtDMXBJRTtFQW5URSxlQUFBO0VBT0YsVzNCZ2FzQjtFMkJ6WnRCLCtCQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtFQUVBLG1CMUJuS1c7QVJ1bUpiO0FTaDZJRTtFQUNFLFVBQUE7QVRrNklKO0FrQzk4SUU7RUFDRSxXM0I0Wm9CO0FQb2pJeEI7QWtDdjhJRTtFQUNFLGtCQUFBO0FsQ3k4SUo7QWtDcjhJRTtFQUNFLFczQjhZdUI7QVB5akkzQjtBa0NyOElJO0VBQ0UsdUMzQnNZYTtBUGlrSW5CO0FrQ2w4SUU7RUFDRSwwQkFBQTtBbENvOElKOztBa0N6cUlFO0VBM1RFLGtCQUFBO0VBSUYsVzNCZ2FzQjtFMkJ6WnRCLCtCQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtFQUVBLG1CMUJuS1c7QVJpb0piO0FTMTdJRTtFQUNFLFVBQUE7QVQ0N0lKO0FrQ3grSUU7RUFDRSxXM0I0Wm9CO0FQOGtJeEI7QWtDaitJRTtFQUNFLGtCQUFBO0FsQ20rSUo7QWtDLzlJRTtFQUNFLFczQjhZdUI7QVBtbEkzQjtBa0MvOUlJO0VBQ0UsdUMzQnNZYTtBUDJsSW5CO0FrQzU5SUU7RUFDRSwwQkFBQTtBbEM4OUlKOztBa0M5cklFO0VBclJFLE1BQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUNBQUE7RUFJSSxZQVhFO0VBWUYsNkJBQUE7QWxDbzlJUjtBa0MvOElhO0VBSUgsNkJBQUE7QWxDODhJVjtBa0MzOElNO0VBQ0UsMEJBQUE7QWxDNjhJUjs7QWtDdjhJTTtFQUdNLDRCQUFBO0FsQ3c4SVo7O0FrQzkwSUk7RXpCOVRBLHdEQUFBO0FUZ3BKSjs7QWtDcnRJRTtFQWhQRSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBSUksWUFqREU7RUFrREYsNEJBQUE7QWxDczhJUjtBa0NqOElhO0VBSUgsNEJBQUE7QWxDZzhJVjtBa0M3N0lNO0VBQ0UsMEJBQUE7QWxDKzdJUjs7QWtDejdJTTtFQUdNLDZCQUFBO0FsQzA3SVo7O0FrQ3QySUk7RXpCaFVBLHVEQUFBO0FUMHFKSjs7QWtDNXVJRTtFQTNNRSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBSUksYUF2RkU7RUF3RkYsNkJBQUE7QWxDdzdJUjtBa0NuN0lhO0VBR0gsNkJBQUE7QWxDbTdJVjtBa0NoN0lNO0VBQ0UsMEJBQUE7QWxDazdJUjs7QWtDNTZJTTtFQUdNLDRCQUFBO0FsQzY2SVo7O0FrQzkzSUk7RXpCNVRBLHdEQUFBO0FUOHJKSjs7QWtDbndJRTtFQXZLRSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGlDQUFBO0VBSUksYUE1SEU7RUE2SEYsNEJBQUE7QWxDMjZJUjtBa0N0NklhO0VBR0gsNEJBQUE7QWxDczZJVjtBa0NuNklNO0VBQ0UsMEJBQUE7QWxDcTZJUjs7QWtDLzVJTTtFQUdNLDZCQUFBO0FsQ2c2SVo7O0FrQ3Q1SUk7RXpCbFVBLHVEQUFBO0FUNHRKSjs7QWtDenhJRTtFQTdHQSxlQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBbEMwNElGO0FrQ3Y0SUU7RUFFRSwrQkFBQTtBbEN3NElKO0FrQ3A0SUU7RUFDRSwwQkFBQTtBbENzNElKO0FrQ2w0SUU7RUFDRSwwQkFBQTtBbENvNElKOztBR2hsSlE7RStCaVRBO0lBMUZOLGVBQUE7SUFDQSxXM0JrTHdCO0kyQmpMeEIsZ0JBQUE7SUFDQSxtQkFBQTtFbEM4M0lBO0VrQ3gzSUE7SUFDRSxhQUFBO0VsQzAzSUY7RWtDdDNJQTtJQUNFLGVBQUE7RWxDdzNJRjtFa0NyM0lTO0lBQ1Asa0JBQUE7RWxDdTNJRjtFa0NuM0lBO0lBQ0Usa0JBQUE7RWxDcTNJRjtFa0MveUlNO0lBOUZOLGVBQUE7SUFDQSxXM0JrTHdCO0kyQmpMeEIsZ0JBQUE7SUFDQSxtQkFBQTtFbENnNUlBO0VrQzE0SUE7SUFDRSxhQUFBO0VsQzQ0SUY7RWtDeDRJQTtJQUNFLGVBQUE7RWxDMDRJRjtFa0N2NElTO0lBQ1AsbUJBQUE7RWxDeTRJRjtFa0NyNElBO0lBQ0UsbUJBQUE7RWxDdTRJRjtFa0M3eklNO0lBbEdOLGVBQUE7SUFDQSxXM0JrTHdCO0kyQmpMeEIsZ0JBQUE7SUFDQSxtQkFBQTtFbENrNklBO0VrQzU1SUE7SUFDRSxhQUFBO0VsQzg1SUY7RWtDMTVJQTtJQUNFLGVBQUE7RWxDNDVJRjtFa0N6NUlTO0lBQ1AsaUJBQUE7RWxDMjVJRjtFa0N2NUlBO0lBQ0UsaUJBQUE7RWxDeTVJRjtFa0MzMElNO0lBdEdOLGVBQUE7SUFDQSxXM0JrTHdCO0kyQmpMeEIsZ0JBQUE7SUFDQSxtQkFBQTtFbENvN0lBO0VrQzk2SUE7SUFDRSxhQUFBO0VsQ2c3SUY7RWtDNTZJQTtJQUNFLGVBQUE7RWxDODZJRjtFa0MzNklTO0lBQ1Asb0JBQUE7RWxDNjZJRjtFa0N6NklBO0lBQ0Usb0JBQUE7RWxDMjZJRjtBQUNGO0FHM3BKUTtFK0JpVEE7SUExRk4sZUFBQTtJQUNBLFczQmtMd0I7STJCakx4QixnQkFBQTtJQUNBLG1CQUFBO0VsQ3c4SUE7RWtDbDhJQTtJQUNFLGFBQUE7RWxDbzhJRjtFa0NoOElBO0lBQ0UsZUFBQTtFbENrOElGO0VrQy83SVM7SUFDUCxrQkFBQTtFbENpOElGO0VrQzc3SUE7SUFDRSxrQkFBQTtFbEMrN0lGO0VrQ3ozSU07SUE5Rk4sZUFBQTtJQUNBLFczQmtMd0I7STJCakx4QixnQkFBQTtJQUNBLG1CQUFBO0VsQzA5SUE7RWtDcDlJQTtJQUNFLGFBQUE7RWxDczlJRjtFa0NsOUlBO0lBQ0UsZUFBQTtFbENvOUlGO0VrQ2o5SVM7SUFDUCxtQkFBQTtFbENtOUlGO0VrQy84SUE7SUFDRSxtQkFBQTtFbENpOUlGO0VrQ3Y0SU07SUFsR04sZUFBQTtJQUNBLFczQmtMd0I7STJCakx4QixnQkFBQTtJQUNBLG1CQUFBO0VsQzQrSUE7RWtDdCtJQTtJQUNFLGFBQUE7RWxDdytJRjtFa0NwK0lBO0lBQ0UsZUFBQTtFbENzK0lGO0VrQ24rSVM7SUFDUCxpQkFBQTtFbENxK0lGO0VrQ2orSUE7SUFDRSxpQkFBQTtFbENtK0lGO0VrQ3I1SU07SUF0R04sZUFBQTtJQUNBLFczQmtMd0I7STJCakx4QixnQkFBQTtJQUNBLG1CQUFBO0VsQzgvSUE7RWtDeC9JQTtJQUNFLGFBQUE7RWxDMC9JRjtFa0N0L0lBO0lBQ0UsZUFBQTtFbEN3L0lGO0VrQ3IvSVM7SUFDUCxvQkFBQTtFbEN1L0lGO0VrQ24vSUE7SUFDRSxvQkFBQTtFbENxL0lGO0FBQ0Y7QUdodUpRO0UrQjRTQTtJQTFGTixlQUFBO0lBQ0EsVzNCa0x3QjtJMkJqTHhCLGdCQUFBO0lBQ0EsbUJBQUE7RWxDa2hKQTtFa0M1Z0pBO0lBQ0UsYUFBQTtFbEM4Z0pGO0VrQzFnSkE7SUFDRSxlQUFBO0VsQzRnSkY7RWtDemdKUztJQUNQLGtCQUFBO0VsQzJnSkY7RWtDdmdKQTtJQUNFLGtCQUFBO0VsQ3lnSkY7RWtDbjhJTTtJQTlGTixlQUFBO0lBQ0EsVzNCa0x3QjtJMkJqTHhCLGdCQUFBO0lBQ0EsbUJBQUE7RWxDb2lKQTtFa0M5aEpBO0lBQ0UsYUFBQTtFbENnaUpGO0VrQzVoSkE7SUFDRSxlQUFBO0VsQzhoSkY7RWtDM2hKUztJQUNQLG1CQUFBO0VsQzZoSkY7RWtDemhKQTtJQUNFLG1CQUFBO0VsQzJoSkY7RWtDajlJTTtJQWxHTixlQUFBO0lBQ0EsVzNCa0x3QjtJMkJqTHhCLGdCQUFBO0lBQ0EsbUJBQUE7RWxDc2pKQTtFa0NoakpBO0lBQ0UsYUFBQTtFbENrakpGO0VrQzlpSkE7SUFDRSxlQUFBO0VsQ2dqSkY7RWtDN2lKUztJQUNQLGlCQUFBO0VsQytpSkY7RWtDM2lKQTtJQUNFLGlCQUFBO0VsQzZpSkY7RWtDLzlJTTtJQXRHTixlQUFBO0lBQ0EsVzNCa0x3QjtJMkJqTHhCLGdCQUFBO0lBQ0EsbUJBQUE7RWxDd2tKQTtFa0Nsa0pBO0lBQ0UsYUFBQTtFbENva0pGO0VrQ2hrSkE7SUFDRSxlQUFBO0VsQ2trSkY7RWtDL2pKUztJQUNQLG9CQUFBO0VsQ2lrSkY7RWtDN2pKQTtJQUNFLG9CQUFBO0VsQytqSkY7QUFDRjtBRy95SlE7RStCd1VBO0lBbkZOLG1CQUFBO0lBQ0EsWUFBQTtJQUNBLGdCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxXQUFBO0lBQ0EsaUJBQUE7SUFDQSxnQkFBQTtFbEM4akpBO0VrQzNqSkE7SUFJRSxnQkFBQTtJQUNBLGVBQUE7RWxDMGpKRjtFa0N2akpBO0lBQ0UsYUFBQTtFbEN5akpGO0FBQ0Y7QUdqMEpRO0UrQndVQTtJQW5GTixtQkFBQTtJQUNBLFlBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0lBQ0EsV0FBQTtJQUNBLGlCQUFBO0lBQ0EsZ0JBQUE7RWxDZ2xKQTtFa0M3a0pBO0lBSUUsZ0JBQUE7SUFDQSxlQUFBO0VsQzRrSkY7RWtDemtKQTtJQUNFLGFBQUE7RWxDMmtKRjtBQUNGO0FHOTBKUTtFK0JtVUE7SUFuRk4sbUJBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7SUFDQSxnQkFBQTtJQUNBLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGdCQUFBO0VsQ2ttSkE7RWtDL2xKQTtJQUlFLGdCQUFBO0lBQ0EsZUFBQTtFbEM4bEpGO0VrQzNsSkE7SUFDRSxhQUFBO0VsQzZsSkY7QUFDRjtBSW41SkU7RUFDRSxlQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0FKcTVKSjtBSW41Skk7RUFDRSxrQkFBQTtFQUNBLGlDQUFBO0FKcTVKTjtBSWw1Skk7RUFDRSxrQkFBQTtBSm81Sk47O0FJLzRKRTtFQTdGQSxlQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLGFHcXVCYztFSG51QmQsYUFBQTtFQUNBLHFDR211QjBCO0VIbHVCMUIsZ0JBQUE7RUFDQSxpQ0FBQTtBSisrSkY7O0FJdjVKRTtFQWxGQSxhQUFBO0VBRUEsbUNBQUE7VUFBQSwyQkFBQTtFQUVBLGFBQUE7RUFDQSxhR0NlO0VIQ2YseUJHaXRCYztFSGh0QmQsZ0JHRWM7RUhEZCx5QkkxRU07RUpzSkosa0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUNBQUE7QUorNUpKO0FTeDNKRTtFQUNFLFVBQUE7QVQwM0pKO0FHajVKUTtFQ3pCTjtJQXRFRSxhQUFBO0VKby9KRjtBQUNGO0FJai9KRTtFQUNFLFlBQUE7QUptL0pKO0FJLytKRTtFQUNFLGdCQUFBO0FKaS9KSjtBRzU1SlE7RUN6Qk47SUE5Q0UsWUdpckJXO0lIaHJCWCwyQkd2Q1c7RVA4Z0tiO0FBQ0Y7QUloN0pJO0VBQ0UsVUFBQTtBSms3Sk47QUdyNkpRO0VDVEo7SUE5REEsVUE4RHNDO0lBN0R0QywyQkd2Q1c7RVB1aEtiO0FBQ0Y7QUczNkpRO0VDUko7SUEvREEsVUErRHNDO0lBOUR0QywyQkd2Q1c7RVA2aEtiO0FBQ0Y7QUdqN0pRO0VDUEo7SUFoRUEsVUFnRXNDO0lBL0R0QywyQkd2Q1c7RVBtaUtiO0FBQ0Y7QUkzN0pJO0VBNURGLE1BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE9BQUE7RUFFQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFFQSxTQUFBO0VBQ0EsZ0JBQUE7QUp3L0pGO0FHcDhKUTtFQ3pCTjtJQXZDQSxNQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFDQSxPQUFBO0lBRUEsV0FBQTtJQUNBLGVBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7SUFDQSxjQUFBO0lBRUEsU0FBQTtJQUNBLGdCQUFBO0VKc2dLQTtBQUNGO0FJLzhKSTtFQUNFLGVBQUE7QUppOUpOOztBbUNwb0tFO0VBQ0Usa0JBQUE7QW5DdW9LSjs7QW1DcG9LRTtFQUNFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLCtCQUFBO0FuQ3VvS0o7O0FtQ3BvS0U7RUFDRSxlQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7QW5DdW9LSjtBbUNyb0tJO0VBQ0UsTUFBQTtBbkN1b0tOO0FtQ3BvS0k7RUFDRSxTQUFBO0FuQ3NvS047O0FtQ2xvS0U7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0FuQ3FvS0o7QW1Dbm9LSTtFQUNFLFNBQUE7QW5DcW9LTjs7QW9DL3BLRTtFQUNFLHNCQUFBO0FwQ2txS0o7O0FvQy9wS0U7RUFDRSx1QkFBQTtBcENrcUtKOztBb0MvcEtFO0VBQ0UsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QXBDa3FLSjs7QVM3Z0tFO0VBRUUsY0FBQTtFQUNBLFlBQUE7RUFHRSxhQUFBO0VBQ0EsUUFBQTtBVDZnS047QVN6Z0tFO0VBQ0UsV0FBQTtBVDJnS0o7O0FxQ3RuS0k7RUNuQkYsMkJBaEJRO0F0QzZwS1Y7O0FxQzFuS0k7RUNuQkYseUJBaEJRO0F0Q2lxS1Y7O0FxQzluS0k7RUNuQkYsdUJBaEJRO0F0Q3FxS1Y7O0FxQ2xvS0k7RUNuQkYsOEJBaEJRO0F0Q3lxS1Y7O0FxQ3RvS0k7RUNuQkYsNkJBaEJRO0F0QzZxS1Y7O0FxQ2pvS1E7RUM1Qk4sMkJBaEJRO0F0Q2lyS1Y7O0FxQ3JvS1E7RUM1Qk4seUJBaEJRO0F0Q3FyS1Y7O0FxQ3pvS1E7RUM1Qk4sdUJBaEJRO0F0Q3lyS1Y7O0FxQ3BvS0k7RUNwQ0YsdUJBUlE7QXRDb3JLVjs7QXFDcG9LSTtFQ3hCRixzQkFQUTtBdEN1cUtWOztBcUM1b0tJO0VDcENGLHFCQVJRO0F0QzRyS1Y7O0FxQzVvS0k7RUN4QkYsb0JBUFE7QXRDK3FLVjs7QXFDcHBLSTtFQ3BDRixtQkFSUTtBdENvc0tWOztBcUNwcEtJO0VDeEJGLGtCQVBRO0F0Q3VyS1Y7O0FxQzVwS0k7RUNwQ0Ysb0JBUlE7QXRDNHNLVjs7QXFDNXBLSTtFQ3hCRixtQkFQUTtBdEMrcktWOztBcUMxcEtFO0VDL0NBLHVCQWhCUTtFQWlCUixtQkFSUTtFRHdETixxQkFBQTtBckM4cEtKOztBcUN4cEtNO0VDaENKLFFEK0JlO0FyQzZwS2pCOztBcUM1cEtNO0VDaENKLFFEK0JlO0FyQ2lxS2pCOztBcUNocUtNO0VDaENKLFFEK0JlO0FyQ3FxS2pCOztBcUNwcUtNO0VDaENKLFFEK0JlO0FyQ3lxS2pCOztBcUN4cUtNO0VDaENKLFFEK0JlO0FyQzZxS2pCOztBcUM1cUtNO0VDaENKLFFEK0JlO0FyQ2lyS2pCOztBRzNtS1E7RWtDckVGO0lDaENKLFFEK0JlO0VyQ3NyS2Y7RXFDcnJLSTtJQ2hDSixRRCtCZTtFckN5cktmO0VxQ3hyS0k7SUNoQ0osUUQrQmU7RXJDNHJLZjtFcUMzcktJO0lDaENKLFFEK0JlO0VyQytyS2Y7RXFDOXJLSTtJQ2hDSixRRCtCZTtFckNrc0tmO0VxQ2pzS0k7SUNoQ0osUUQrQmU7RXJDcXNLZjtBQUNGO0FHaG9LUTtFa0NyRUY7SUNoQ0osUUQrQmU7RXJDMHNLZjtFcUN6c0tJO0lDaENKLFFEK0JlO0VyQzZzS2Y7RXFDNXNLSTtJQ2hDSixRRCtCZTtFckNndEtmO0VxQy9zS0k7SUNoQ0osUUQrQmU7RXJDbXRLZjtFcUNsdEtJO0lDaENKLFFEK0JlO0VyQ3N0S2Y7RXFDcnRLSTtJQ2hDSixRRCtCZTtFckN5dEtmO0FBQ0Y7QUcvb0tRO0VrQzFFRjtJQ2hDSixRRCtCZTtFckM4dEtmO0VxQzd0S0k7SUNoQ0osUUQrQmU7RXJDaXVLZjtFcUNodUtJO0lDaENKLFFEK0JlO0VyQ291S2Y7RXFDbnVLSTtJQ2hDSixRRCtCZTtFckN1dUtmO0VxQ3R1S0k7SUNoQ0osUUQrQmU7RXJDMHVLZjtFcUN6dUtJO0lDaENKLFFEK0JlO0VyQzZ1S2Y7QUFDRjtBcUMxMEtFO0VDWUEsYUFBQTtBdENpMEtGOztBcUN6MEtFO0VBQ0UsY0FBQTtBckM0MEtKOztBcUN6MEtFO0VBQ0UsY0FBQTtBckM0MEtKOztBcUN6MEtFO0VBQ0UsY0FBQTtBckM0MEtKOztBcUN4MEtJO0VDc0RGLG1CQXBFbUI7QXRDMDFLckI7O0FxQzUwS0k7RUNzREYsMkJBcEVtQjtBdEM4MUtyQjs7QXFDaDFLSTtFQ3NERixzQkFwRW1CO0F0Q2syS3JCOztBcUNwMUtJO0VDc0RGLDhCQXBFbUI7QXRDczJLckI7O0FHdnNLUTtFa0N2SUU7SUNmUixhQUFBO0V0Q2syS0E7RXFDLzBLUTtJQUNFLGNBQUE7RXJDaTFLVjtFcUM5MEtRO0lBQ0UsY0FBQTtFckNnMUtWO0VxQzcwS1E7SUFDRSxjQUFBO0VyQyswS1Y7RXFDMzBLVTtJQzJCVixtQkFwRW1CO0V0Q3UzS25CO0VxQzkwS1U7SUMyQlYsMkJBcEVtQjtFdEMwM0tuQjtFcUNqMUtVO0lDMkJWLHNCQXBFbUI7RXRDNjNLbkI7RXFDcDFLVTtJQzJCViw4QkFwRW1CO0V0Q2c0S25CO0FBQ0Y7QUdsdUtRO0VrQ3ZJRTtJQ2ZSLGFBQUE7RXRDNDNLQTtFcUN6MktRO0lBQ0UsY0FBQTtFckMyMktWO0VxQ3gyS1E7SUFDRSxjQUFBO0VyQzAyS1Y7RXFDdjJLUTtJQUNFLGNBQUE7RXJDeTJLVjtFcUNyMktVO0lDMkJWLG1CQXBFbUI7RXRDaTVLbkI7RXFDeDJLVTtJQzJCViwyQkFwRW1CO0V0Q281S25CO0VxQzMyS1U7SUMyQlYsc0JBcEVtQjtFdEN1NUtuQjtFcUM5MktVO0lDMkJWLDhCQXBFbUI7RXRDMDVLbkI7QUFDRjtBR3Z2S1E7RWtDNUlFO0lDZlIsYUFBQTtFdENzNUtBO0VxQ240S1E7SUFDRSxjQUFBO0VyQ3E0S1Y7RXFDbDRLUTtJQUNFLGNBQUE7RXJDbzRLVjtFcUNqNEtRO0lBQ0UsY0FBQTtFckNtNEtWO0VxQy8zS1U7SUMyQlYsbUJBcEVtQjtFdEMyNktuQjtFcUNsNEtVO0lDMkJWLDJCQXBFbUI7RXRDODZLbkI7RXFDcjRLVTtJQzJCVixzQkFwRW1CO0V0Q2k3S25CO0VxQ3g0S1U7SUMyQlYsOEJBcEVtQjtFdENvN0tuQjtBQUNGO0F1Q3o0S0U7RUFDRSx3QkFBQTtBdkMyNEtKOztBdUN4NEtFO0VBQ0Usa0JBQUE7QXZDMjRLSjs7QXVDejRLRTtFQUNFLG1CQUFBO0F2QzQ0S0o7O0FHanlLUTtFb0M1Rko7SUE3QkEsd0JBQUE7RXZDKzVLRjtBQUNGOztBdUNuN0tJO0VBb0RBO0lBbkRFLHdCQUFBO0V2Q3U3S0o7QUFDRjs7QUc3eUtRO0VvQ3JHRjtJQTVCRix3QkFBQTtFdkNtN0tGO0FBQ0Y7O0FHOXlLUTtFb0N0R0Y7SUFwRUYsd0JBQUE7RXZDNjlLRjtBQUNGOztBR3p6S1E7RW9DNUZKO0lBN0JBLHdCQUFBO0V2Q3U3S0Y7QUFDRjs7QXVDMzhLSTtFQW9EQTtJQW5ERSx3QkFBQTtFdkMrOEtKO0FBQ0Y7O0FHcjBLUTtFb0NyR0Y7SUE1QkYsd0JBQUE7RXZDMjhLRjtBQUNGOztBR3QwS1E7RW9DdEdGO0lBcEVGLHdCQUFBO0V2Q3EvS0Y7QUFDRjs7QUdqMUtRO0VvQzVGSjtJQTdCQSx3QkFBQTtFdkMrOEtGO0FBQ0Y7O0F1Q24rS0k7RUFvREE7SUFuREUsd0JBQUE7RXZDdStLSjtBQUNGOztBR3gxS1E7RW9DMUdGO0lBNUJGLHdCQUFBO0V2Q20rS0Y7QUFDRjs7QUc5MUtRO0VvQ3RHRjtJQXBFRix3QkFBQTtFdkM2Z0xGO0FBQ0Y7O0FHcDJLUTtFb0NqR0o7SUE3QkEsd0JBQUE7RXZDdStLRjtBQUNGOztBdUMzL0tJO0VBb0RBO0lBbkRFLHdCQUFBO0V2QysvS0o7QUFDRjs7QXVDdDhLRTs7RTlCc0hBLDZCQUFBO0VBQ0EscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsMkJBQUE7RUFDQSxpQ0FBQTtFQUNBLDhCQUFBO0VBQ0Esb0JBQUE7QVRxMUtGOztBdUMzOEtJO0U5QmdJRiwyQkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSw0QkFBQTtFQUNBLHFCQUFBO0VBQ0EsOEJBQUE7QVQrMEtGOztBdUM3OEtFOztFQUVFLHlCQUFBO0F2Q2c5S0o7QUcxNEtRO0VvQ3hFTjs7SUFLSSx5QkFBQTtFdkNrOUtKO0FBQ0Y7QUdoNUtRO0VvQ3hFTjs7SUFTSSx3QkFBQTtFdkNvOUtKO0FBQ0Y7O0F1Q2o5S0U7O0VBRUUsd0JBQUE7QXZDbzlLSjtBRzM1S1E7RW9DM0ROOztJQUtJLHdCQUFBO0V2Q3M5S0o7QUFDRjtBR2o2S1E7RW9DM0ROOztJQVNJLHlCQUFBO0V2Q3c5S0o7QUFDRjs7QXVDcDlLRTtFQUNFLGFBQUE7QXZDdTlLSjs7QXVDcjlLRTtFQUNFLGNBQUE7QXZDdzlLSjs7QXVDdDlLRTtFQUNFO0lBQ0UseUJBQUE7RXZDeTlLSjtFdUN2OUtFO0lBQ0Usd0JBQUE7RXZDeTlLSjtBQUNGO0F1Q3I5S0U7RUFDRSxhQUFBO0F2Q3U5S0o7O0F1Q3I5S0U7RUFDRTtJQUNFLHlCQUFBO0V2Q3c5S0o7RXVDdDlLRTtJQUNFLHdCQUFBO0V2Q3c5S0o7QUFDRjtBdUNwOUtFO0VBQ0UsYUFBQTtBdkNzOUtKOztBdUNwOUtFO0VBQ0UsY0FBQTtBdkN1OUtKOztBdUNyOUtFO0VBQ0UsYUFBQTtBdkN3OUtKOztBd0NsbkxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsNEJBRlU7RUN0QlIsdUNBQUE7RUFHRixtQ0FBQTtVQUFBLDJCQUFBO0EzQyttTEo7O0F3QzltTEk7RUVvQkEsd0JBRlU7QTFDZ21MZDs7QXdDOW5MSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLDRCQUZVO0VDdEJSLHVDQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBM0MybkxKOztBd0MxbkxJO0VFb0JBLHdCQUZVO0ExQzRtTGQ7O0F3QzFvTEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSwyQkFGVTtFQ3RCUix1Q0FBQTtFQUdGLG1DQUFBO1VBQUEsMkJBQUE7QTNDdW9MSjs7QXdDdG9MSTtFRW9CQSx3QkFGVTtBMUN3bkxkOztBd0N0cExJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsMkJBRlU7RUN0QlIsdUNBQUE7RUFHRixtQ0FBQTtVQUFBLDJCQUFBO0EzQ21wTEo7O0F3Q2xwTEk7RUVvQkEsd0JBRlU7QTFDb29MZDs7QXdDbHFMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLHdCQUZVO0VDdEJSLHVDQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBM0MrcExKOztBd0M5cExJO0VFb0JBLDJCQUZVO0ExQ2dwTGQ7O0F3QzlxTEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSx3QkFGVTtFQ3RCUix1Q0FBQTtFQUdGLG1DQUFBO1VBQUEsMkJBQUE7QTNDMnFMSjs7QXdDMXFMSTtFRW9CQSwyQkFGVTtBMUM0cExkOztBd0MxckxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsd0JBRlU7RUN0QlIsdUNBQUE7RUFHRixtQ0FBQTtVQUFBLDJCQUFBO0EzQ3VyTEo7O0F3Q3RyTEk7RUVvQkEsNEJBRlU7QTFDd3FMZDs7QXdDdHNMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLHdCQUZVO0VDdEJSLHVDQUFBO0VBR0YsbUNBQUE7VUFBQSwyQkFBQTtBM0Ntc0xKOztBd0Nsc0xJO0VFb0JBLDRCQUZVO0ExQ29yTGQ7O0F3Q2x0TEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSxVQUxxQjtFRXpCckIsNEJBQUE7QTVDdXRMSjs7QXdDN3NMSTtFRW9CQSxVQUxxQjtBMUNrc0x6Qjs7QXdDN3RMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLFVBTHFCO0VFekJyQiw0QkFBQTtBNUNrdUxKOztBd0N4dExJO0VFb0JBLFVBTHFCO0ExQzZzTHpCOztBd0N4dUxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsOENBTHFCO0VBS3JCLHFCQUZVO0VHdEJSLHVDQUFBO0VBQ0EsVUFBQTtBN0N3dUxOOztBd0NydUxJO0VFb0JBLDJDQUxxQjtFR1JuQixVQUFBO0E3Q211TE47O0F3Q3R2TEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSw4Q0FMcUI7RUFLckIsdUJBRlU7RUd0QlIsdUNBQUE7RUFDQSxVQUFBO0E3Q3N2TE47O0F3Q252TEk7RUVvQkEsMkNBTHFCO0VHUm5CLFVBQUE7QTdDaXZMTjs7QXdDcHdMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLDZDQUxxQjtFQUtyQix3QkFGVTtFR3RCUix1Q0FBQTtFQUNBLFVBQUE7QTdDb3dMTjs7QXdDandMSTtFRW9CQSwyQ0FMcUI7RUdSbkIsVUFBQTtBN0MrdkxOOztBd0NseExJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsNkNBTHFCO0VBS3JCLHNCQUZVO0VHdEJSLHVDQUFBO0VBQ0EsVUFBQTtBN0NreExOOztBd0Mvd0xJO0VFb0JBLDJDQUxxQjtFR1JuQixVQUFBO0E3QzZ3TE47O0F3Q2h5TEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSw4Q0FMcUI7RUFLckIsd0JBRlU7RUd0QlIsdUNBQUE7RUFDQSxVQUFBO0E3Q2d5TE47O0F3Qzd4TEk7RUVvQkEsMkNBTHFCO0VHUm5CLFVBQUE7QTdDMnhMTjs7QXdDOXlMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLDhDQUxxQjtFQUtyQix3QkFGVTtFR3RCUix1Q0FBQTtFQUNBLFVBQUE7QTdDOHlMTjs7QXdDM3lMSTtFRW9CQSwyQ0FMcUI7RUdSbkIsVUFBQTtBN0N5eUxOOztBd0M1ekxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsMkNBTHFCO0VBS3JCLHFCQUZVO0VHdEJSLHVDQUFBO0VBQ0EsVUFBQTtBN0M0ekxOOztBd0N6ekxJO0VFb0JBLDZDQUxxQjtFR1JuQixVQUFBO0E3Q3V6TE47O0F3QzEwTEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSwyQ0FMcUI7RUFLckIsdUJBRlU7RUd0QlIsdUNBQUE7RUFDQSxVQUFBO0E3QzAwTE47O0F3Q3YwTEk7RUVvQkEsNkNBTHFCO0VHUm5CLFVBQUE7QTdDcTBMTjs7QXdDeDFMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLDJDQUxxQjtFQUtyQix3QkFGVTtFR3RCUix1Q0FBQTtFQUNBLFVBQUE7QTdDdzFMTjs7QXdDcjFMSTtFRW9CQSw4Q0FMcUI7RUdSbkIsVUFBQTtBN0NtMUxOOztBd0N0MkxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsMkNBTHFCO0VBS3JCLHNCQUZVO0VHdEJSLHVDQUFBO0VBQ0EsVUFBQTtBN0NzMkxOOztBd0NuMkxJO0VFb0JBLDhDQUxxQjtFR1JuQixVQUFBO0E3Q2kyTE47O0F3Q3AzTEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSwyQ0FMcUI7RUFLckIsd0JBRlU7RUd0QlIsdUNBQUE7RUFDQSxVQUFBO0E3Q28zTE47O0F3Q2ozTEk7RUVvQkEsNkNBTHFCO0VHUm5CLFVBQUE7QTdDKzJMTjs7QXdDbDRMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLDJDQUxxQjtFQUtyQix3QkFGVTtFR3RCUix1Q0FBQTtFQUNBLFVBQUE7QTdDazRMTjs7QXdDLzNMSTtFRW9CQSw2Q0FMcUI7RUdSbkIsVUFBQTtBN0M2M0xOOztBd0NoNUxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUscUJBRlU7RUl6QlIsdUNBQUE7RUFDQSxVQUFBO0E5Q2s1TE47O0F3QzU0TEk7RUVvQkEsbUJBRlU7RUlkUixVQUFBO0E5QzY0TE47O0F3Qzc1TEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSxxQkFGVTtFSXpCUix1Q0FBQTtFQUNBLFVBQUE7QTlDKzVMTjs7QXdDejVMSTtFRW9CQSxtQkFGVTtFSWRSLFVBQUE7QTlDMDVMTjs7QXdDMTZMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLG1CQUZVO0VJekJSLHVDQUFBO0VBQ0EsVUFBQTtBOUM0NkxOOztBd0N0NkxJO0VFb0JBLHFCQUZVO0VJZFIsVUFBQTtBOUN1NkxOOztBd0N2N0xJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsbUJBRlU7RUl6QlIsdUNBQUE7RUFDQSxVQUFBO0E5Q3k3TE47O0F3Q243TEk7RUVvQkEscUJBRlU7RUlkUixVQUFBO0E5Q283TE47O0F3Q3A4TEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSw0QkFGVTtFSzFCUix1Q0FBQTtFQUNBLFVBQUE7QS9DdThMTjs7QXdDaDhMSTtFRW9CQSxvQkFGVTtFS2ZSLFVBQUE7QS9DazhMTjs7QXdDajlMSTtFQ2xCRiwwQkFBQTtFQUNBLGtDQUFBO0VDaURFLG9CQUZVO0VLMUJSLHVDQUFBO0VBQ0EsVUFBQTtBL0NvOUxOOztBd0M3OExJO0VFb0JBLDJCQUZVO0VLZlIsVUFBQTtBL0MrOExOOztBd0M5OUxJO0VDbEJGLDBCQUFBO0VBQ0Esa0NBQUE7RUNpREUsMkJBRlU7RUsxQlIsdUNBQUE7RUFDQSxVQUFBO0EvQ2krTE47O0F3QzE5TEk7RUVvQkEsb0JBRlU7RUtmUixVQUFBO0EvQzQ5TE47O0F3QzMrTEk7RUNsQkYsMEJBQUE7RUFDQSxrQ0FBQTtFQ2lERSxvQkFGVTtFSzFCUix1Q0FBQTtFQUNBLFVBQUE7QS9DOCtMTjs7QXdDditMSTtFRW9CQSw0QkFGVTtFS2ZSLFVBQUE7QS9DeStMTjs7QXlDdDlMTTtFQUFZLHFDQUFBO0F6QzA5TGxCOztBeUMxOUxNO0VBQVkscUNBQUE7QXpDODlMbEI7O0F5Q3g5TE07RUFBWSw2Q0FBQTtBekM0OUxsQjs7QXlDNTlMTTtFQUFZLDJDQUFBO0F6Q2crTGxCOztBeUNoK0xNO0VBQVksOENBQUE7QXpDbytMbEI7O0F5Q3ArTE07RUFBWSwrQ0FBQTtBekN3K0xsQjs7QXlDeCtMTTtFQUFZLGtEQUFBO0F6QzQrTGxCOztBeUM1K0xNO0VBQVksOEVBQUE7QXpDZy9MbEI7O0F5Q2gvTE07RUFBWSwrRUFBQTtBekNvL0xsQjs7QXlDcC9MTTtFQUFZLDhFQUFBO0F6Q3cvTGxCOztBeUNsL0xNO0VBQWtCLGtDQUFBO0F6Q3MvTHhCOztBeUN0L0xNO0VBQWtCLGtDQUFBO0F6QzAvTHhCOztBeUNsL0xFO0VPdEVBLHVCQUFBO0FoRDRqTUY7QTBDdmpNRTtFQUdJO0lBR0kseUJBQUE7RTFDcWpNUjtFMEN4ak1JO0lBR0ksMEJBQUE7RTFDd2pNUjtBQUNGOztBeUM3L0xFO0VPdkVBLDZCQUFBO0FoRHdrTUY7QTBDbmtNRTtFQUdJO0lBR0kseUJBQUE7RTFDaWtNUjtFMENwa01JO0lBR0ksb0JBQUE7RTFDb2tNUjtBQUNGOztBeUN4Z01FO0VPeEVBLDhCQUFBO0FoRG9sTUY7QTBDL2tNRTtFQUdJO0lBR0ksb0JBQUE7RTFDNmtNUjtFMENobE1JO0lBR0kseUJBQUE7RTFDZ2xNUjtBQUNGOztBeUNuaE1FO0VPekVBLDJCQUFBO0FoRGdtTUY7QTBDM2xNRTtFQUdJO0lBR0ksdUJBQUE7RTFDeWxNUjtFMEM1bE1JO0lBR0ksd0JBQUE7RTFDNGxNUjtFMEMvbE1JO0lBR0ksb0JBQUE7RTFDK2xNUjtBQUNGOztBeUNoaU1FOzs7O0VBSUUseUJBQUE7QXpDbWlNSjs7QXlDOWhNRTtFQUFZLG1DQUFBO0F6Q2tpTWQ7O0F5QzloTU07RUFBWSxvQ0FBQTtBekNraU1sQjs7QXlDbGlNTTtFQUFZLG9DQUFBO0F6Q3NpTWxCOztBeUNoaU1NO0VBQVksNENBQUE7QXpDb2lNbEI7O0F5Q3BpTU07RUFBWSwwQ0FBQTtBekN3aU1sQjs7QXlDeGlNTTtFQUFZLDZDQUFBO0F6QzRpTWxCOztBeUM1aU1NO0VBQVksOENBQUE7QXpDZ2pNbEI7O0F5Q2hqTU07RUFBWSxpREFBQTtBekNvak1sQjs7QXlDcGpNTTtFQUFZLDZFQUFBO0F6Q3dqTWxCOztBeUN4ak1NO0VBQVksOEVBQUE7QXpDNGpNbEI7O0F5QzVqTU07RUFBWSw2RUFBQTtBekNna01sQjs7QXlDMWpNTTtFQUFrQixpQ0FBQTtBekM4ak14Qjs7QXlDOWpNTTtFQUFrQixpQ0FBQTtBekNra014Qjs7QWlEM3FNQSxXQUFBO0FBRUE7RUFDSSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7RUFFQSxzQkFBQTtFQUVBLGlCQUFBO0VBRUEsbUJBQUE7RUFDQSx3Q0FBQTtBakQ2cU1KOztBaUQzcU1BO0VBQ0ksa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtBakQ4cU1KO0FpRDVxTUk7RUFDSSxhQUFBO0FqRDhxTVI7QWlEM3FNSTtFQUNJLGVBQUE7RUFDQSxZQUFBO0FqRDZxTVI7O0FpRDFxTUE7O0VBTUksK0JBQUE7QWpENnFNSjs7QWlEMXFNQTtFQUNJLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLE1BQUE7RUFDQSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBakQ2cU1KO0FpRDNxTUk7RUFFSSxXQUFBO0VBQ0EsY0FBQTtBakQ0cU1SO0FpRHpxTUk7RUFDSSxXQUFBO0FqRDJxTVI7QWlEeHFNSTtFQUNJLGtCQUFBO0FqRDBxTVI7O0FpRHZxTUE7RUFDSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFXQSxhQUFBO0FqRGdxTUo7QWlEMXFNSTtFQUNJLFlBQUE7QWpENHFNUjtBaUQxcU1JO0VBQ0ksY0FBQTtBakQ0cU1SO0FpRDFxTUk7RUFDSSxhQUFBO0FqRDRxTVI7QWlEdnFNSTtFQUNJLG9CQUFBO0FqRHlxTVI7QWlEdHFNSTtFQUNJLGNBQUE7QWpEd3FNUjtBaURycU1JO0VBQ0ksa0JBQUE7QWpEdXFNUjtBaURwcU1JO0VBQ0ksY0FBQTtFQUNBLFlBQUE7RUFDQSw2QkFBQTtBakRzcU1SOztBaURucU1BO0VBQ0ksYUFBQTtBakRzcU1KOztBa0QvdE1BLFdBQUE7QUFHSTtFQUNJLHNFQUFBO0FsRGd1TVI7O0FrRDV0TUEsVUFBQTtBQUVJO0VBQ0ksb0JBQUE7RUFDQSw4QkFBQTtFQUNBLHlNQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBbEQ4dE1SO0FrRDF0TUEsV0FBQTtBQUVBOztFQUVJLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBR0EsNkJBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7QWxEMnRNSjtBa0QxdE1JOzs7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtBbEQ4dE1SO0FrRDd0TVE7OztFQUNJLFVBakVhO0FsRGt5TXpCO0FrRDl0TUk7O0VBQ0ksYUFwRW1CO0FsRHF5TTNCO0FrRC90TUk7O0VBQ0ksb0JBbEZZO0VBbUZaLGVBQUE7RUFDQSxjQUFBO0VBQ0EsWUFuRlk7RUFvRlosYUE3RWdCO0VBOEVoQixtQ0FBQTtFQUNBLGtDQUFBO0FsRGt1TVI7O0FrRDl0TUE7RUFDSSxXQUFBO0FsRGl1TUo7QWtEaHVNSTtFQUNJLFVBQUE7RUFDQSxZQUFBO0FsRGt1TVI7QWtEaHVNSTtFQUNJLFlBOUZlO0FsRGcwTXZCO0FrRGp1TVE7RUFDSSxZQS9GVztBbERrME12Qjs7QWtEOXRNQTtFQUNJLFlBQUE7QWxEaXVNSjtBa0RodU1JO0VBQ0ksV0FBQTtFQUNBLFdBQUE7QWxEa3VNUjtBa0RodU1JO0VBQ0ksWUEzR2U7QWxENjBNdkI7QWtEanVNUTtFQUNJLFlBOUdXO0FsRGkxTXZCOztBa0Q5dE1BLFNBQUE7QUFFQTtFQUNJLG1CQUFBO0FsRGd1TUo7O0FrRDd0TUE7RUFDSSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtBbERndU1KO0FrRC90TUk7RUFDSSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7QWxEaXVNUjtBa0RodU1RO0VBQ0ksU0FBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7QWxEa3VNWjtBa0RqdU1ZO0VBQ0ksYUFBQTtBbERtdU1oQjtBa0RsdU1nQjtFQUNJLFVBcEpLO0FsRHczTXpCO0FrRGp1TVk7RUFDSSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsWUE5Sk07RUErSk4sV0FBQTtFQUNBLFlBQUE7RUFDQSxvQkF4S0k7RUF5S0osY0FqS0M7RUFrS0QsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBektFO0VBMEtGLGFBbEtXO0VBbUtYLG1DQUFBO0VBQ0Esa0NBQUE7QWxEbXVNaEI7QWtEaHVNUTtFQUNJLFlBaExNO0VBaUxOLGFBM0tZO0FsRDY0TXhCOztBbURoNk1BO2dFQUFBO0FBRUE7RUFDSSx1QkFBQTtBbkRtNk1KOztBbURoNk1BOztFQUVJLGNBQUE7RUFDQSx5QkFBQTtBbkRtNk1KOztBbURoNk1BO0VBQ0ksWUFBQTtFQUNBLHVCQUFBO0FuRG02TUo7O0FtRGg2TUE7RUFDSSxXQUFBO0VBQ0EsdUJBQUE7QW5EbTZNSjs7QW1EaDZNQTtFQUNJLFlBQUE7RUFDQSx1QkFBQTtBbkRtNk1KOztBbURoNk1BO0VBQ0ksdUJBQUE7QW5EbTZNSjs7QW1EaDZNQTtFQUNJLFdBQUE7RUFDQSx1QkFBQTtBbkRtNk1KOztBbURoNk1BO0VBQ0ksY0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QW5EbTZNSjs7QW1EaDZNQTtFQUNJLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBLEVBQUEsNkNBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0FuRG02TUo7O0FtRGg2TUE7RUFDSSx1QkFBQTtBbkRtNk1KOztBbURoNk1BO0VBQ0ksdUJBQUE7QW5EbTZNSjs7QW1EaDZNQTtFQUNJLHVCQUFBO0FuRG02TUo7O0FtRGg2TUE7RUFDSSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0FuRG02TUo7O0FtRGg2TUE7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7QW5EbTZNSjs7QW1EaDZNQSx3Q0FBQTtBQUNBO0VBQ0MsU0FBQTtFQUNBLDhCQUFBO0VBQ0EsNkJBQUE7VUFBQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EsNkJBQUE7RUFDQSxVQUFBO0VBQ0EsNEJBQUEsRUFBQSxxR0FBQTtBbkRtNk1EOztBbURoNk1BO0VBQ0Msc0JBQUE7RUFDQSxxQkFBQTtFQUNBLHVCQUFBO1VBQUEsZUFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHFCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxlQUFBO0VBQ0Esc0JBQUE7QW5EbTZNRDs7QW1EaDZNQTs0Q0FBQTtBQUdBO0VBQ0MsbUJBQUE7RUFDQSxvQkFBQTtBbkRrNk1EOztBbUQvNU1BO0VBQ0MsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FuRGs2TUQ7O0FtRC81TUE7RUFDQyxTQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QW5EazZNRDs7QW1ELzVNQTtFQUNDLFdBQUE7QW5EazZNRDs7QW1ELzVNQTtFQUNJLFdBQUE7RUFDQSxXQUFBO0FuRGs2TUo7O0FtRGg2TUE7RUFDSSxVQUFBO0FuRG02TUo7O0FtRGo2TUE7RUFDSSxlQUFBO0FuRG82TUo7O0FtRGw2TUE7RUFDSSxVQUFBO0FuRHE2TUo7O0FtRG42TUE7RUFDSSxVQUFBO0FuRHM2TUo7O0FtRHA2TUE7RUFDSSxlQUFBO0FuRHU2TUo7O0FtRHI2TUE7RUFDSSxlQUFBO0FuRHc2TUo7O0FtRHQ2TUE7RUFDSSxZQUFBO0FuRHk2TUo7O0FtRHY2TUE7RUFDSSxlQUFBO0FuRDA2TUo7O0FtRHY2TUE7Ozs7Ozs7O0VBUUMsV0FBQTtBbkQwNk1EOztBR2w2TVE7RWlEbExSO0lBRUUsMEI3Q2lFaUI7RVBzaE5qQjtBQUNGO0FHeDZNUTtFaURsTFI7SUFLRSwwQjdDK0RnQjtFUDBoTmhCO0FBQ0Y7O0FvRHZsTkE7RUFDQyxjNUNZYztFNENYZCxnQkFBQTtFQUNBLG1CQUFBO0FwRDBsTkQ7O0FvRHhsTkE7RUFDQyxjNUNZYTtFNENYYixnQkFBQTtFQUNBLG1CQUFBO0FwRDJsTkQ7O0FvRHpsTkE7RUFDQywwQkFBQTtBcEQ0bE5EO0FHNzdNUTtFaURoS1I7SUFHRSwwQkFBQTtFcEQ4bE5BO0FBQ0Y7QUdsOE1RO0VpRGhLUjtJQU1FLDBCQUFBO0VwRGdtTkE7QUFDRjs7QW9EN2xOQztFQUNDLGM1Q3BCTztFNENxQlAsOENuRDNCSztBRDJuTlA7QW9EOWxOQztFQUNDLGdDbkQvQk07QUQrbk5SOztBb0Q3bE5BO0VBQ0MsZ0JBQUE7QXBEZ21ORDtBb0QvbE5DO0VBQ0MsYzVDWlU7RTRDYVYsZ0NuRHRDTTtFbUR1Q04sbUJBQUE7QXBEaW1ORjs7QW9EN2xOQztFQUNDLG9DbkQ3Q1c7RW1EOENYLGVBQUE7RUFDQSxnQkFBQTtBcERnbU5GO0FHOTlNUTtFaURySVA7SUFLRSxlQUFBO0VwRGttTkQ7QUFDRjtBb0RqbU5FO0VBQ0MseUJBQUE7QXBEbW1OSDs7QW9EL2xOQTtFQUNDLGdCQUFBO0FwRGttTkQ7O0FvRDlsTkE7RUFDQyxtQkFBQTtBcERpbU5EOztBb0Q3bE5BO0VBQ0Usa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLFNBQUE7QXBEZ21ORjs7QW9EMWxORTtFQUNDLFFBQUE7QXBENmxOSDtBb0QzbE5FO0VBQ0MsUUFBQTtBcEQ2bE5IO0FHaGdOUTtFaUR6Rk47SUFDQyxRQUFBO0VwRDRsTkQ7RW9EMWxOQTtJQUNDLFFBQUE7RXBENGxORDtBQUNGOztBb0R2bE5BO0VBQ0MseUJBQUE7RUFDQSxjNUMzRk07RTRDNEZOLGlCQUFBO0VBQ0EsMEJBQUE7QXBEMGxORDs7QW9EdGxOQTtFQUNDLHFCQUFBO0VBQ0EseUJBQUE7QXBEeWxORDs7QXFEcnNOQztFQUNDLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxjN0NETTtBUnlzTlI7QXFEdHNOQztFQUNDLE1BQUE7RUFDQSxjcEI2R2tCO0VvQjVHbEIseUI3Q05NO0U2Q09OLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0FyRHdzTkY7QXFEdHNOQztFQUNDLGNwQnNHa0I7QWpDa21OcEI7O0FxRG5zTkE7RUMwR0UsYzlDM0hNO0U2Q29CUCx5QjdDckJPO0U2Q3NCUCxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0FyRHFzTkQ7QXNEaG1ORTs7RUFFRSxjOUM5SEk7QVJndU5SO0FzRGhtTkU7RUFDRSxjOUNqSUk7QVJtdU5SO0FzRGptTkk7RUFDRSxjOUNuSUU7RThDb0lGLHlCQUFBO0F0RG1tTk47QXNEbG1OTTtFQUNFLHlCQUFBO0F0RG9tTlI7QXNEbG1OTTtFQUNFLCtCQUFBO0F0RG9tTlI7QXNEem5ORTtFQUNFLGdCQUFBO0F0RDJuTko7QXFEeHROQztFQUNDLGdCQUFBO0VBQ0EsMEJBQUE7QXJEMHRORjtBcUR4dE5DO0VBQ0MsYzdDN0JNO0FSdXZOUjtBcUR4dE5DO0VBQ0MsYzdDaENNO0U2Q2lDTixXQUFBO0FyRDB0TkY7O0FxRHB0TkM7RUFDQyxXQUFBO0VBQ0EsZUFBQTtFQUNBLHdDQUFBO0VBQ0Esd0JBQUE7QXJEdXRORjtBR3RsTlE7RWtEcklQO0lDM0NHLDRCQUFBO0lBVUEsK0JBQUE7RXREaXdORjtBQUNGO0FHNWxOUTtFa0RySVA7SUN6Q0ssbUJBQUE7RXREOHdOSjtBQUNGO0FHam1OUTtFa0RySVA7SUN0Q0ssNEJBQUE7RXREZ3hOSjtBQUNGO0FHdG1OUTtFa0RySVA7SUMvQkssc0JBQUE7RXREOHdOSjtBQUNGO0FHM21OUTtFa0RySVA7SUM1QkssK0JBQUE7RXREZ3hOSjtBQUNGO0FxRDd1TkU7RUFDQyxxQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FyRCt1Tkg7QXFEN3VORTtFQUNDLHVCQUFBO0VBQ0EsMENBQUE7QXJEK3VOSDtBcUQ5dU5HO0VBQ0MsWUFBQTtBckRndk5KO0FHNW5OUTtFa0RySEw7SUFHRSxZQUFBO0VyRGt2Tkg7QUFDRjtBR2pvTlE7RWtEckhMO0lBTUUsWUFBQTtFckRvdk5IO0FBQ0Y7O0FxRC91TkE7RUFDQyxpQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsdUNBQUE7RUFDQSxrQkFBQTtFQ29EQyxjOUMzSE07RTZDeUVQLG1CN0MxRU87QVI0ek5SO0FzRC9yTkU7O0VBRUUsYzlDOUhJO0FSK3pOUjtBc0Qvck5FO0VBQ0UsYzlDaklJO0FSazBOUjtBc0Roc05JO0VBQ0UsYzlDbklFO0U4Q29JRix5QkFBQTtBdERrc05OO0FzRGpzTk07RUFDRSx5QkFBQTtBdERtc05SO0FzRGpzTk07RUFDRSwrQkFBQTtBdERtc05SO0FxRGp3TkU7RUFDQyw4QkFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxPQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7QXJEbXdOSDtBcURod05DO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0FyRGt3TkY7QXFEandORTtFQUNDLGdCQUFBO0VBQ0EsY0FBQTtBckRtd05IO0FxRGx3Tkc7RUFDQyxnQkFBQTtFQUNBLHlCQUFBO0FyRG93Tko7QXFEbndOSTtFQUNDLG9CQUFBO0FyRHF3Tkw7QXFEandOSTtFQUNDLGdCQUFBO0FyRG13Tkw7QXFEL3ZORTtFQUNDLGdCQUFBO0VBQ0EsZ0JBQUE7QXJEaXdOSDtBcURod05HO0VBQ0MsYzdDekdLO0FSMjJOVDs7QXFENXZOQztFQ3RIRyw0QkFBQTtFRHdIRixpQkFBQTtBckQrdk5GO0FHdnNOUTtFa0QxRFA7SUNwSEssa0JBQUE7RXREeTNOSjtBQUNGO0FHNXNOUTtFa0QxRFA7SUNqSEssNkJBQUE7RXREMjNOSjtBQUNGO0FxRHh3TkU7RUFDQyxrQkFBQTtFQUNBLFVBQUE7RUNqSEMsK0JBQUE7QXRENDNOSjtBcUR6d05JO0VBQ0MsZ0JBQUE7RUFDQSx5QkFBQTtBckQyd05MO0FxRHZ3Tkc7RUFDQyxnQkFBQTtFQUNBLGdCQUFBO0FyRHl3Tko7QXFEdndOSTtFQUNDLGM3Q2pJSTtFNkNrSUosMEJBQUE7QXJEeXdOTDtBR2x1TlE7RWtEdkROO0lDN0dJLG9CQUFBO0V0RDA0Tko7QUFDRjtBR3Z1TlE7RWtEdkROO0lDMUdJLCtCQUFBO0V0RDQ0Tko7QUFDRjtBcUQ5d05FO0VBQ0Msa0JBQUE7RUNySUMsK0JBQUE7RUR1SUQsVUFBQTtBckRneE5IO0FHanZOUTtFa0RsQ047SUNsSUksc0JBQUE7RXREeTVOSjtBQUNGO0FHdHZOUTtFa0RsQ047SUMvSEksK0JBQUE7RXREMjVOSjtBQUNGO0FxRHp4Tkc7RUFDQyxrQkFBQTtBckQyeE5KO0FxRDF4Tkk7RUFDQyxjQUFBO0FyRDR4Tkw7QXFEeHhORTtFQUNDLGtCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkFBQTtFQUNBLGtDQUFBO0FyRDB4Tkg7QXFEdnhORTtFQUNDLGtCQUFBO0FyRHl4Tkg7QXFEeHhORztFQUNDLGFBQUE7QXJEMHhOSjtBRzd3TlE7RWtEZEw7SUFHRSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxvQkFBQTtPQUFBLGlCQUFBO0VyRDR4Tkg7QUFDRjtBcUR4eE5FO0VBQ0Msa0JBQUE7RUFDQSxjQUFBO0FyRDB4Tkg7QXFEeHhORTtFQUNDLGFBQUE7RUFDQyxnQkFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsT0FBQTtFQUNBLE1BQUE7RUFDQSx5QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsOEJBQUE7QXJEMHhOSjtBcUR4eE5JO0VBQ0MsVUFBQTtFQUNBLG1CQUFBO0FyRDB4Tkw7QXFEdnhOSTtFQUNDLGNBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EsZ0NBQUE7RUFDQSx1QkFBQTtBckR5eE5MOztBcURueE5BO0VBQ0MsYUFBQTtBckRzeE5EO0FHNXpOUTtFa0RxQ1I7SUFHRSxjQUFBO0VyRHd4TkE7QUFDRjtBcUR2eE5DO0VDekdDLFNBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7QXREbTRORjtBcUQxeE5FO0VBQ0MscUJBQUE7RUFDQSxrQkFBQTtBckQ0eE5IO0FxRDN4Tkc7RUFDQyxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGM3Q2hPSTtFNkNpT0osZ0JBQUE7QXJENnhOSjtBcUQxeE5JO0VBQ0MsZUFBQTtBckQ0eE5MO0FxRHh4Tkk7RUFDQyxnQkFBQTtBckQweE5MO0FxRHR4Tkk7RUFDQyx5QnBCNUhlO0VvQjZIZixjN0MvT0c7RTZDZ1BILGtCQUFBO0FyRHd4Tkw7QXFEcHhOSTtFQUNDLFdBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa0NBQUE7RUFDRSxtQ0FBQTtFQUNBLDZCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBckRzeE5QO0FxRGx4Tkk7RUFDQyxrQ0FBQTtFQUNFLG1DQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0FyRG94TlA7QXFEanhORztFQUNDLGFBQUE7RUM3SkYsU0FBQTtFQUNBLFVBQUE7RUFDQSxxQkFBQTtFRDZKRSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUI3QzlRSTtFOENxREosNkJBQUE7RUFVQSw4QkFBQTtFRGlOQSwyQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0FyRHN4Tko7QUc1M05RO0VrRDZGTDtJQ2xORyw2QkFBQTtFdERxL05KO0FBQ0Y7QUdqNE5RO0VrRDZGTDtJQy9NRyw2QkFBQTtFdER1L05KO0FBQ0Y7QUd0NE5RO0VrRDZGTDtJQ3hNRyw4QkFBQTtFdERxL05KO0FBQ0Y7QUczNE5RO0VrRDZGTDtJQ3JNRyw4QkFBQTtFdER1L05KO0FBQ0Y7QXFEenlOSTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsU0FBQTtFQUNBLDJCQUFBO0FyRDJ5Tk47QXFEenlOSTtFQUNDLGNBQUE7QXJEMnlOTDtBcUQxeU5LO0VBQ0MsZ0JBQUE7QXJENHlOTjtBcUQxeU5LO0VBQ0MsbUJBQUE7QXJENHlOTjtBcUQxeU5LO0VBQ0MsY0FBQTtFQUNBLHlCN0N4U0U7RTZDeVNGLGM3QzFTRTtFNkMyU0YscUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QXJENHlOTjs7QUc3Nk5RO0VrRDBJUjtJQUVFLGFBQUE7RXJEc3lOQTtBQUNGO0FxRHJ5TkM7RUFDQyxjQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtBckR1eU5GO0FxRHR5TkU7RUFDQyxXQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QjdDclVLO0FSNm1PUjtBcUR2eU5HO0VBQ0MsZ0JBQUE7QXJEeXlOSjs7QXFEbHlOQTtFQUNDLG1CN0MvVU87RThDNEhOLGM5QzNITTtBUm9uT1I7QXNEeC9ORTs7RUFFRSxjOUM5SEk7QVJ3bk9SO0FzRHgvTkU7RUFDRSxjOUNqSUk7QVIybk9SO0FzRHovTkk7RUFDRSxjOUNuSUU7RThDb0lGLHlCQUFBO0F0RDIvTk47QXNEMS9OTTtFQUNFLHlCQUFBO0F0RDQvTlI7QXNEMS9OTTtFQUNFLCtCQUFBO0F0RDQvTlI7QXFEcnpOQztFQ25PQyxTQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VEbU9BLGlCQUFBO0FyRHl6TkY7QXFEdnpORztFQUNDLGNBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QXJEeXpOSjtBcUR0ek5JO0VBQ0MsV0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsNkJBQUE7RUFDQSxnQkFBQTtBckR3ek5MO0FxRHB6Tkk7RUFDQyxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0FyRHN6Tkw7QXFEbnpORztFQUNDLGFBQUE7RUNuUUYsU0FBQTtFQUNBLFVBQUE7RUFDQSxxQkFBQTtBdER5ak9GO0FxRHJ6Tks7RUFDQyxjQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FyRHV6Tk47O0FxRC95TkE7RUFDQyxjN0NoWU87RTZDaVlQLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFFBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7QXJEa3pORDs7QXFEaHpOQTtFQUNDLE9BQUE7RUFDRyxRQUFBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0VBQ0EsY3BCMVJnQjtBakM2a09wQjs7QXVEcnNPQTtFREVJLDRCQUFBO0VBVUEsK0JBQUE7QXREOHJPSjtBR3hoT1E7RW9EbExSO0lESU0sa0JBQUE7RXREMHNPSjtBQUNGO0FHN2hPUTtFb0RsTFI7SURPTSw2QkFBQTtFdEQ0c09KO0FBQ0Y7QUdsaU9RO0VvRGxMUjtJRGNNLHFCQUFBO0V0RDBzT0o7QUFDRjtBR3ZpT1E7RW9EbExSO0lEaUJNLGdDQUFBO0V0RDRzT0o7QUFDRjtBc0RwbU9FO0VBQ0UsZ0JBQUE7QXREc21PSjs7QXVEdHRPQTtFRFRJLDRCQUFBO0VBVUEsK0JBQUE7QXREMHRPSjtBR3BqT1E7RW9EdktSO0lEUE0saUJBQUE7RXREc3VPSjtBQUNGO0FHempPUTtFb0R2S1I7SURKTSw0QkFBQTtFdER3dU9KO0FBQ0Y7QUc5ak9RO0VvRHZLUjtJREdNLG9CQUFBO0V0RHN1T0o7QUFDRjtBR25rT1E7RW9EdktSO0lETU0sK0JBQUE7RXREd3VPSjtBQUNGO0F1RDN1T0M7RUFDQyx5QkFBQTtBdkQ2dU9GO0F1RDV1T0U7RUFDQyxjQUFBO0F2RDh1T0g7QXVEenVPQztFQUNDLHlCL0NsQk07QVI2dk9SO0F1RDF1T0U7RUFDQyxjQUFBO0F2RDR1T0g7QXVEdnVPQztFQUNDLG1CL0MzQk07RThDNEhOLGM5QzNITTtBUm93T1I7QXNEeG9PRTs7RUFFRSxjOUM5SEk7QVJ3d09SO0FzRHhvT0U7RUFDRSxjOUNqSUk7QVIyd09SO0FzRHpvT0k7RUFDRSxjOUNuSUU7RThDb0lGLHlCQUFBO0F0RDJvT047QXNEMW9PTTtFQUNFLHlCQUFBO0F0RDRvT1I7QXNEMW9PTTtFQUNFLCtCQUFBO0F0RDRvT1I7QXVEenZPRTtFQUNDLGNBQUE7QXZEMnZPSDtBdUR0dk9DO0VBQ0MseUIvQ2hDTztFOEM4SVAsYzlDbEpNO0FSNnhPUjtBc0R6b09FOztFQUVFLGM5Q3RKSTtBUml5T1I7QXNEeG9PRTtFQUNFLGM5QzFKSTtBUm95T1I7QXNEeG9PSTtFQUNFLGM5QzdKRTtFOEM4SkYseUJBQUE7QXREMG9PTjtBc0R4b09NO0VBQ0UseUJBQUE7QXREMG9PUjtBc0R2b09NO0VBQ0UseUJBQUE7QXREeW9PUjtBdUR4d09FO0VBQ0MsY0FBQTtBdkQwd09IO0F1RHh3T0U7RUFDQyxjL0NyQ0k7QVIreU9QO0F1RHJ3T0M7RUFDQyx5QnRCbUVrQjtBakNvc09wQjtBdUR0d09FO0VBQ0MsY0FBQTtBdkR3d09IO0F1RG53T0M7RUFDQyx5Qi9DNURXO0FSaTBPYjtBdURwd09FO0VBQ0MsY0FBQTtBdkRzd09IO0F1RGp3T0M7RUFDQyx5Qi9DakVVO0FSbzBPWjtBdURsd09FO0VBQ0MsY0FBQTtBdkRvd09IO0F1RC92T0M7RUFDQywwQy9DdERhO0FSdXpPZjtBdURod09FO0VBQ0MsY0FBQTtBdkRrd09IO0F1RDd2T0M7RUFDQywwQy9DN0RXO0FSNHpPYjtBdUQ3dk9FO0VBQ0MsY0FBQTtBdkQrdk9IO0F1RDF2T0M7RUFDQyx5Qi9DckVhO0FSaTBPZjtBdUQzdk9FO0VBQ0MsY0FBQTtBdkQ2dk9IO0F1RHh2T0M7RUR6RkcsK0JBQUE7QXREbzFPSjtBRzlxT1E7RW9EN0VQO0lEdkZLLG9CQUFBO0V0RHMxT0o7QUFDRjtBR25yT1E7RW9EN0VQO0lEcEZLLCtCQUFBO0V0RHcxT0o7QUFDRjtBc0Rodk9FO0VBQ0UsZ0JBQUE7QXREa3ZPSjtBdURwd09HO0VBQ0UsV0FBQTtFQUNBLFdBQUE7RUFDQSxtQi9DbkdJO0U4QzBCTCw4QkFBQTtBdERnMU9KO0FHanNPUTtFb0R6RUw7SURwRUcscUJBQUE7RXREazFPSjtBQUNGO0FHdHNPUTtFb0R6RUw7SURqRUcsOEJBQUE7RXREbzFPSjtBQUNGO0F1RDV3T0M7RUFDQyxrQkFBQTtBdkQ4d09GO0FzRHR3T0U7RUFDRSxnQkFBQTtBdER3d09KO0F1RC93T0U7RUFDQyxtQkFBQTtBdkRpeE9IOztBdUQzd09BO0VBQ0MsYUFBQTtFQUNBLDhCQUFBO0VBQ0Esa0JBQUE7QXZEOHdPRDtBRzF0T1E7RW9EdkRSO0lBS0UsY0FBQTtJQUNBLGtCQUFBO0V2RGd4T0E7QUFDRjtBdUQvd09DO0VBQ0MsYUFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QXZEaXhPRjtBR3p1T1E7RW9EL0NQO0lBU0UscUJBQUE7RXZEbXhPRDtBQUNGO0F1RGx4T0U7RUFFQyxZQUFBO0F2RG14T0g7QXVEanhPRTtFQUNDLFdBQUE7RUFDQSxjQUFBO0F2RG14T0g7QXVEanhPRTtFQUNDLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSx5QnRCbENpQjtFc0JtQ2pCLGMvQ3JKSztBUnc2T1I7QUc1dk9RO0VvRDVCTjtJQU9FLGtCQUFBO0lBQ0EsUUFBQTtFdkRxeE9GO0FBQ0Y7QXVEbnhPRTtFQUNDLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSx5QnRCN0NpQjtFc0I4Q2pCLGMvQ2hLSztBUnE3T1I7QUd6d09RO0VvRGpCTjtJQU9FLGtCQUFBO0lBQ0EsT0FBQTtFdkR1eE9GO0FBQ0Y7O0FzRHYwT0U7RUFDRSxnQkFBQTtBdEQwME9KO0F3RGw4T0U7RUFDQyxXQUFBO0VBQ0EsV0FBQTtFQUNBLG1CaERHTTtFOEMwQkwsOEJBQUE7QXREdzZPSjtBR3p4T1E7RXFEL0tOO0lGa0NJLHFCQUFBO0V0RDA2T0o7QUFDRjtBRzl4T1E7RXFEL0tOO0lGcUNJLDhCQUFBO0V0RDQ2T0o7QUFDRjtBd0Q1OE9FO0VBQ0Msa0JBQUE7RUZFQywrQkFBQTtBdEQ2OE9KO0FHdnlPUTtFcUR6S047SUZLSSxzQkFBQTtFdEQrOE9KO0FBQ0Y7QUc1eU9RO0VxRHpLTjtJRlFJLCtCQUFBO0V0RGk5T0o7QUFDRjtBd0R2OU9HO0VBQ0MsVUFBQTtBeER5OU9KO0FHcHpPUTtFcUR0S0w7SUFHRSxTQUFBO0V4RDI5T0g7QUFDRjtBd0R2OU9DO0VBQ0MsZ0JBQUE7QXhEeTlPRjs7QXdEbjlPQztFQUNDLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBeERzOU9GO0FHbDBPUTtFcUR2SlA7SUFLRSxzQkFBQTtFeER3OU9EO0FBQ0Y7QXdEdjlPRTtFQUNDLHlCQUFBO0F4RHk5T0g7QXdEdjlPRTtFQUNDLHlCQUFBO0F4RHk5T0g7QXdEdjlPRTtFQUNDLHlCQUFBO0F4RHk5T0g7QXdEdDlPRztFRmVDLDZCQUFBO0VBVUEsOEJBQUE7QXREaThPSjtBR3AxT1E7RXFEdElMO0lGaUJHLDZCQUFBO0V0RDY4T0o7QUFDRjtBR3oxT1E7RXFEdElMO0lGb0JHLDZCQUFBO0V0RCs4T0o7QUFDRjtBRzkxT1E7RXFEdElMO0lGMkJHLDhCQUFBO0V0RDY4T0o7QUFDRjtBR24yT1E7RXFEdElMO0lGOEJHLDhCQUFBO0V0RCs4T0o7QUFDRjtBc0RoNk9FO0VBQ0UsZ0JBQUE7QXREazZPSjtBd0R6K09HO0VGeENDLCtCQUFBO0F0RG9oUEo7QUc5Mk9RO0VxRDlITDtJRnRDRyx1QkFBQTtFdERzaFBKO0FBQ0Y7QUduM09RO0VxRDlITDtJRm5DRywrQkFBQTtFdER3aFBKO0FBQ0Y7QUd4M09RO0VxRDlITDtJQUdFLGlCQUFBO0V4RHUvT0g7QUFDRjtBd0RyL09HO0VBQ0MsaUJBQUE7QXhEdS9PSjtBd0RyL09HO0VBQ0MsV0FBQTtFQUNBLFdBQUE7RUFDQSxtQmhEdkRLO0U4QzBCTCw4QkFBQTtBdERxaFBKO0FHdDRPUTtFcURySEw7SUZ4QkcscUJBQUE7RXREdWhQSjtBQUNGO0FHMzRPUTtFcURySEw7SUZyQkcsOEJBQUE7RXREeWhQSjtBQUNGO0F3RDcvT0c7RUFDQyxpQkFBQTtBeEQrL09KO0F3RDcvT0c7RUY1REMsK0JBQUE7QXRENGpQSjtBR3Q1T1E7RXFEMUdMO0lGMURHLHVCQUFBO0V0RDhqUEo7QUFDRjtBRzM1T1E7RXFEMUdMO0lGdkRHLCtCQUFBO0V0RGdrUEo7QUFDRjtBR2g2T1E7RXFEMUdMO0lBR0UsaUJBQUE7RXhEMmdQSDtBQUNGOztBd0RuZ1BDO0VGckNDLCtCQUFBO0F0RDRpUEY7QUd6Nk9RO0VxRDlGUDtJRm5DRyx1QkFBQTtFdEQ4aVBGO0FBQ0Y7QUc5Nk9RO0VxRDlGUDtJRmhDRywrQkFBQTtFdERnalBGO0FBQ0Y7QXdEL2dQRTtFRjFFRSwrQkFBQTtBdEQ0bFBKO0FHdDdPUTtFcUQ1Rk47SUZ4RUksdUJBQUE7RXREOGxQSjtBQUNGO0FHMzdPUTtFcUQ1Rk47SUZyRUksK0JBQUE7RXREZ21QSjtBQUNGO0FzRHgvT0U7RUFDRSxnQkFBQTtBdEQwL09KO0F3RDVoUEc7RUFDQyxrQkFBQTtBeEQ4aFBKO0F3RDdoUEk7RUFDQyxtQkFBQTtFQUNBLFlBQUE7QXhEK2hQTDtBd0Q1aFBHO0VBQ0Msa0JBQUE7QXhEOGhQSjtBd0Q3aFBJO0VBQ0MsbUJBQUE7RUFDQSxZQUFBO0F4RCtoUEw7QXdENWhQRztFQUNDLGlCQUFBO0F4RDhoUEo7QXdENWhQRztFQUNDLFdBQUE7RUFDQSxXQUFBO0VBQ0EsbUJoRHBHSztFOEMwQkwsOEJBQUE7QXREeW1QSjtBRzE5T1E7RXFEeEVMO0lGckVHLHFCQUFBO0V0RDJtUEo7QUFDRjtBRy85T1E7RXFEeEVMO0lGbEVHLDhCQUFBO0V0RDZtUEo7QUFDRjs7QXdEamlQQTtFRm5ISSw0QkFBQTtFRXFISCxpQkFBQTtBeERvaVBEO0FHeitPUTtFcUQ3RFI7SUZqSE0saUJBQUE7RXREMnBQSjtBQUNGO0FHOStPUTtFcUQ3RFI7SUY5R00sNEJBQUE7RXRENnBQSjtBQUNGO0FHbi9PUTtFcUR6REw7SUFFRSxrQkFBQTtJQUNBLG1CQUFBO0V4RDhpUEg7QUFDRjtBd0Q3aVBJO0VGbEhBLHNCQUFBO0VFb0hDLGtCQUFBO0VGckVELDZCQUFBO0VBVUEsOEJBQUE7RUU2REMsOEJBQUE7QXhEZ2pQTDtBR2hnUFE7RXFEcERKO0lGaEhFLHVCQUFBO0V0RHdxUEo7QUFDRjtBR3JnUFE7RXFEcERKO0lGN0dFLG9CQUFBO0V0RDBxUEo7QUFDRjtBRzFnUFE7RXFEcERKO0lGakVFLDZCQUFBO0V0RG1vUEo7QUFDRjtBRy9nUFE7RXFEcERKO0lGOURFLDZCQUFBO0V0RHFvUEo7QUFDRjtBR3BoUFE7RXFEcERKO0lGdkRFLDhCQUFBO0V0RG1vUEo7QUFDRjtBR3poUFE7RXFEcERKO0lGcERFLDhCQUFBO0V0RHFvUEo7QUFDRjtBc0R0bFBFO0VBQ0UsZ0JBQUE7QXREd2xQSjtBd0Q5a1BLO0VBQ0MsMENoRDlHTztFZ0QrR1AseUJBQUE7QXhEZ2xQTjtBd0Q5a1BLO0VBQ0MseUJoRGpIUztFZ0RrSFQseUJBQUE7QXhEZ2xQTjtBd0Q5a1BLO0VBQ0MsMENoRHZIUztFZ0R3SFQseUJBQUE7QXhEZ2xQTjtBd0Q5a1BLO0VBQ0Msa0JBQUE7RUFDQSx5QmhEN0lFO0VnRDhJRixZQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0F4RGdsUE47QXdEL2tQTTtFQUNDLFlBQUE7QXhEaWxQUDtBd0Q3a1BLO0VBQ0Msa0JBQUE7RUFDQSxzQkFBQTtBeEQra1BOO0F3RDlrUE07RUFDQyxtQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0F4RGdsUFA7QXdENWtQSztFQUNDLGlCQUFBO0F4RDhrUE47QXdEM2tQSztFQUNDLGdCQUFBO0F4RDZrUE47QXdEM2tQSztFRjNKRCwyQkFBQTtFQVVBLDhCQUFBO0F0RGd1UEo7QUdqbFBRO0VxREVIO0lGekpDLGdCQUFBO0V0RDR1UEo7QUFDRjtBR3RsUFE7RXFERUg7SUZ0SkMsMkJBQUE7RXREOHVQSjtBQUNGO0FHM2xQUTtFcURFSDtJRi9JQyxtQkFBQTtFdEQ0dVBKO0FBQ0Y7QUdobVBRO0VxREVIO0lGNUlDLDhCQUFBO0V0RDh1UEo7QUFDRjtBd0RqbVBNO0VBQ0MsbUJBQUE7QXhEbW1QUDtBR3htUFE7RXFERUg7SUYzSkQsMkJBQUE7SUFVQSw4QkFBQTtFdEQ0dlBGO0FBQ0Y7QUc5bVBRO0VxREVIO0lGekpDLGdCQUFBO0V0RHl3UEo7QUFDRjtBR25uUFE7RXFERUg7SUZ0SkMsMkJBQUE7RXREMndQSjtBQUNGO0FHeG5QUTtFcURFSDtJRi9JQyxtQkFBQTtFdER5d1BKO0FBQ0Y7QUc3blBRO0VxREVIO0lGNUlDLDhCQUFBO0V0RDJ3UEo7QUFDRjtBd0RwblBDO0VGdktHLDJCQUFBO0F0RDh4UEo7QUdyb1BRO0VxRGNQO0lGcktLLGtCQUFBO0V0RGd5UEo7QUFDRjtBRzFvUFE7RXFEY1A7SUZsS0ssMkJBQUE7RXREa3lQSjtBQUNGOztBd0R6blBHO0VGNUxDLCtCQUFBO0VFOExBLGdDQUFBO0F4RDRuUEo7QUdwcFBRO0VxRHNCTDtJRjFMRyx1QkFBQTtFdEQ0elBKO0FBQ0Y7QUd6cFBRO0VxRHNCTDtJRnZMRywrQkFBQTtFdEQ4elBKO0FBQ0Y7QXdEaG9QQztFRmpLQywrQkFBQTtBdERveVBGO0FHanFQUTtFcUQ4QlA7SUYvSkcsdUJBQUE7RXREc3lQRjtBQUNGO0FHdHFQUTtFcUQ4QlA7SUY1SkcsK0JBQUE7RXREd3lQRjtBQUNGO0F3RDFvUEU7RUZ2TUUsK0JBQUE7QXREbzFQSjtBRzlxUFE7RXFEaUNOO0lGck1JLHNCQUFBO0V0RHMxUEo7QUFDRjtBR25yUFE7RXFEaUNOO0lGbE1JLCtCQUFBO0V0RHcxUEo7QUFDRjtBd0RucFBHO0VBQ0Msa0JBQUE7QXhEcXBQSjtBd0RqcFBFO0VBQ0MsaUJBQUE7QXhEbXBQSDtBd0Q5b1BFO0VBQ0Msa0JBQUE7QXhEZ3BQSDtBR2pzUFE7RXFEbURMO0lBRUUsdUNBQUE7RXhEZ3BQSDtBQUNGO0FHdHNQUTtFcURtREw7SUFLRSx1Q0FBQTtFeERrcFBIO0FBQ0Y7QUd0c1BRO0VxRDhDTDtJQVFFLGlCQUFBO0V4RG9wUEg7QUFDRjtBd0Qvb1BFO0VBQ0Msa0JBQUE7QXhEaXBQSDtBR250UFE7RXFEbUVMO0lBRUUscUNBQUE7RXhEa3BQSDtBQUNGO0FHeHRQUTtFcURtRUw7SUFNRSxxQ0FBQTtFeERtcFBIO0FBQ0Y7QUd4dFBRO0VxRDhETDtJQVdFLGlCQUFBO0V4RG1wUEg7QUFDRjtBd0Q5b1BFO0VBQ0Msa0JBQUE7QXhEZ3BQSDtBR3J1UFE7RXFEdUZMO0lBRUUscUNBQUE7RXhEZ3BQSDtBQUNGO0FHMXVQUTtFcUR1Rkw7SUFNRSxxQ0FBQTtFeERpcFBIO0FBQ0Y7QUcxdVBRO0VxRGtGTDtJQVdFLGlCQUFBO0V4RGlwUEg7QUFDRjtBd0Q3b1BDO0VGdlJHLDRCQUFBO0F0RHU2UEo7QUd2dlBRO0VxRHVHUDtJRnJSSyxpQkFBQTtFdER5NlBKO0FBQ0Y7QUc1dlBRO0VxRHVHUDtJRmxSSyw0QkFBQTtFdEQyNlBKO0FBQ0Y7O0F3RHBwUEE7RUFDQyxjQUFBO0VBQ0Esa0JBQUE7QXhEdXBQRDtBR3R3UFE7RXFENkdSO0lGN1JJLDRCQUFBO0lBVUEsK0JBQUE7SUF1QkEsOEJBQUE7RXREMjVQRjtBQUNGO0FHN3dQUTtFcUQ2R1I7SUYzUk0sa0JBQUE7RXREKzdQSjtBQUNGO0FHbHhQUTtFcUQ2R1I7SUZ4Uk0sNkJBQUE7RXREaThQSjtBQUNGO0FHdnhQUTtFcUQ2R1I7SUZqUk0scUJBQUE7RXREKzdQSjtBQUNGO0FHNXhQUTtFcUQ2R1I7SUY5UU0sZ0NBQUE7RXREaThQSjtBQUNGO0FHanlQUTtFcUQ2R1I7SUYxUE0sbUJBQUE7RXREazdQSjtBQUNGO0FHdHlQUTtFcUQ2R1I7SUZ2UE0sOEJBQUE7RXREbzdQSjtBQUNGO0FHM3lQUTtFcURtSE47SUFDQyx1QkFBQTtFeEQyclBEO0FBQ0Y7QUdoelBRO0VxRHNITjtJQUNDLHlCQUFBO0V4RDZyUEQ7QUFDRjtBd0QzclBDO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0NBQUE7QXhENnJQRjtBRzF6UFE7RXFEMEhQO0lBS0Usa0JBQUE7SUFDQSxVQUFBO0lBQ0EsWUFBQTtJQUNBLE1BQUE7SUFDQSxTQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7RXhEK3JQRDtBQUNGO0F3RDdyUEM7RUZ4VEcsNEJBQUE7RUFVQSwrQkFBQTtFQStDQSw2QkFBQTtFQVVBLDhCQUFBO0VFeVBGLGlCQUFBO0VBQ0EseUJoRHpUTTtBUnkvUFI7QUc3MFBRO0VxRHdJUDtJRnRUSyxpQkFBQTtFdEQrL1BKO0FBQ0Y7QUdsMVBRO0VxRHdJUDtJRm5USyw0QkFBQTtFdERpZ1FKO0FBQ0Y7QUd2MVBRO0VxRHdJUDtJRjVTSyxvQkFBQTtFdEQrL1BKO0FBQ0Y7QUc1MVBRO0VxRHdJUDtJRnpTSywrQkFBQTtFdERpZ1FKO0FBQ0Y7QUdqMlBRO0VxRHdJUDtJRjdQSyw2QkFBQTtFdEQwOVBKO0FBQ0Y7QUd0MlBRO0VxRHdJUDtJRjFQSyw2QkFBQTtFdEQ0OVBKO0FBQ0Y7QUczMlBRO0VxRHdJUDtJRm5QSyw4QkFBQTtFdEQwOVBKO0FBQ0Y7QUdoM1BRO0VxRHdJUDtJRmhQSyw4QkFBQTtFdEQ0OVBKO0FBQ0Y7QXNENzZQRTtFQUNFLGdCQUFBO0F0RCs2UEo7QUd4M1BRO0VxRHdJUDtJQU9FLFVBQUE7SUFDQSxhQUFBO0V4RDZ1UEQ7QUFDRjs7QXdEeHVQQTtFQUNDLGNBQUE7RUFDQSxrQkFBQTtBeEQydVBEO0FHbjRQUTtFcURzSlI7SUZ0VUksNEJBQUE7RXREdWpRRjtBQUNGO0FHeDRQUTtFcURzSlI7SUZwVU0sa0JBQUE7RXREMGpRSjtBQUNGO0FHNzRQUTtFcURzSlI7SUZqVU0sNkJBQUE7RXRENGpRSjtBQUNGO0FHbDVQUTtFcUQ0Sk47SUFDQyx1QkFBQTtFeER5dlBEO0FBQ0Y7QUd2NVBRO0VxRGdLTjtJQUNDLHlCQUFBO0V4RDB2UEQ7QUFDRjtBd0R2dlBDO0VBQ0MsYUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0NBQUE7QXhEeXZQRjtBR2o2UFE7RXFEcUtQO0lBTUUsa0JBQUE7SUFDQSxVQUFBO0lBQ0EsWUFBQTtJQUNBLE1BQUE7SUFDQSxTQUFBO0lBQ0EsT0FBQTtJQUNBLFFBQUE7RXhEMHZQRDtBQUNGO0F3RHh2UEM7RUFDQyxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBeEQwdlBGO0F3RHp2UEU7RUFDQyxtQmhEcldLO0VnRHNXTCxrQkFBQTtFQUNBLGdCQUFBO0F4RDJ2UEg7QXdEMXZQRztFQUNDLGtCQUFBO0VGN1dBLDRCQUFBO0VFK1dBLG9CQUFBO0VBQ0EsbUJoRDVXSTtBUndtUVI7QUc1N1BRO0VxRDRMTDtJRjFXRyxtQkFBQTtFdEQ4bVFKO0FBQ0Y7QUdqOFBRO0VxRDRMTDtJRnZXRyw0QkFBQTtFdERnblFKO0FBQ0Y7QUd0OFBRO0VxRDRMTDtJRm5UQyw2QkFBQTtJQVVBLDhCQUFBO0V0RHdqUUY7QUFDRjtBRzU4UFE7RXFENExMO0lGalRHLDZCQUFBO0V0RHFrUUo7QUFDRjtBR2o5UFE7RXFENExMO0lGOVNHLDZCQUFBO0V0RHVrUUo7QUFDRjtBR3Q5UFE7RXFENExMO0lGdlNHLDhCQUFBO0V0RHFrUUo7QUFDRjtBRzM5UFE7RXFENExMO0lGcFNHLDhCQUFBO0V0RHVrUUo7QUFDRjtBd0Q1eFBJO0VBQ0MsbUJBQUE7QXhEOHhQTDtBd0Q1eFBJO0VGdFZBLDhCQUFBO0F0RHFuUUo7QUd0K1BRO0VxRHVNSjtJRnBWRSxxQkFBQTtFdER1blFKO0FBQ0Y7QUczK1BRO0VxRHVNSjtJRmpWRSw4QkFBQTtFdER5blFKO0FBQ0Y7QXdEcHlQSTtFQUNDLGtCQUFBO0VBQ0EsWUFBQTtBeERzeVBMO0F3RHJ5UEs7RUFDQyxTQUFBO0F4RHV5UE47QXdEdHlQTTtFQUNDLFNBQUE7RUFDQSxRQUFBO0VBQ0EsYUFBQTtBeER3eVBQO0F3RHZ5UE87RUFDQyxlQUFBO0F4RHl5UFI7O0F3RDd4UEM7RUFDQyxnQkFBQTtFQUNBLGVBQUE7QXhEZ3lQRjtBd0QveFBFO0VBQ0MsbUJBQUE7QXhEaXlQSDtBd0RoeVBHO0VBQ0MsZ0JBQUE7QXhEa3lQSjtBd0RoeVBHO0VGcFRELHdDQUFBO0VFc1RFLHlCaEQ3WlM7RWdEOFpULHFCQUFBO0VBQ0EsbUJBQUE7QXhEa3lQSjtBR2hoUVE7RXFEME9MO0lGbFRDLHdDQUFBO0V0RDRsUUY7QUFDRjtBR3JoUVE7RXFEME9MO0lGL1NDLHdDQUFBO0V0RDhsUUY7QUFDRjtBRzFoUVE7RXFEME9MO0lBTUUsbUJBQUE7RXhEOHlQSDtBQUNGO0F3RDd5UEk7RUFDQyxnQkFBQTtBeEQreVBMO0F3RDd5UEk7RUFDQyx5QnZCaFRlO0V1QmlUZixtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxjaER2YUc7RWdEd2FILGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLDJCQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0F4RCt5UEw7QUdualFRO0VxRHFQSjtJQWlCRSxXQUFBO0V4RGl6UEo7QUFDRjtBd0QveVBJO0VBQ0MsY0FBQTtBeERpelBMO0F3RDd5UEU7RUZ4VkEsd0NBQUE7QXREd29RRjtBRzlqUVE7RXFEOFFOO0lGdFZFLHdDQUFBO0V0RDBvUUY7QUFDRjtBR25rUVE7RXFEOFFOO0lGblZFLHdDQUFBO0V0RDRvUUY7QUFDRjtBc0Rob1FFO0VBQ0UsZ0JBQUE7QXREa29RSjtBd0R6elBJO0VBQ0MsZ0JBQUE7QXhEMnpQTDs7QXdEbnpQQTtFRjNjSSw0QkFBQTtFQVVBLCtCQUFBO0F0RHl2UUo7QUdubFFRO0VxRDJSUjtJRnpjTSxvQkFBQTtFdERxd1FKO0FBQ0Y7QUd4bFFRO0VxRDJSUjtJRnRjTSw0QkFBQTtFdER1d1FKO0FBQ0Y7QUc3bFFRO0VxRDJSUjtJRi9iTSx1QkFBQTtFdERxd1FKO0FBQ0Y7QUdsbVFRO0VxRDJSUjtJRjViTSwrQkFBQTtFdER1d1FKO0FBQ0Y7QXdEMTBQQztFQUVDLG1CQUFBO0F4RDIwUEY7QXNEbHFRRTtFQUNFLGdCQUFBO0F0RG9xUUo7QUc3bVFRO0VxRDZSUDtJQUlFLGdCQUFBO0lGOVlDLDhCQUFBO0V0RCt0UUY7QUFDRjtBR25uUVE7RXFENlJQO0lGeFlLLDhCQUFBO0V0RGt1UUo7QUFDRjtBR3huUVE7RXFENlJQO0lGcllLLDhCQUFBO0V0RG91UUo7QUFDRjtBd0R2MVBFO0VBQ0MsZ0JBQUE7RUFDQSxjaERyZEs7QVI4eVFSOztBeURwelFBO0VBQ0MseUJqREtPO0U4QzRITixjOUMzSE07QVJrelFSO0FzRHRyUUU7O0VBRUUsYzlDOUhJO0FSc3pRUjtBc0R0clFFO0VBQ0UsYzlDaklJO0FSeXpRUjtBc0R2clFJO0VBQ0UsYzlDbklFO0U4Q29JRix5QkFBQTtBdER5clFOO0FzRHhyUU07RUFDRSx5QkFBQTtBdEQwclFSO0FzRHhyUU07RUFDRSwrQkFBQTtBdEQwclFSO0F5RHYwUUM7RUhBRyw0QkFBQTtFQVVBLCtCQUFBO0F0RGkwUUo7QUczcFFRO0VzRGhMUDtJSEVLLG9CQUFBO0V0RDYwUUo7QUFDRjtBR2hxUVE7RXNEaExQO0lIS0ssNEJBQUE7RXREKzBRSjtBQUNGO0FHcnFRUTtFc0RoTFA7SUhZSyx1QkFBQTtFdEQ2MFFKO0FBQ0Y7QUcxcVFRO0VzRGhMUDtJSGVLLCtCQUFBO0V0RCswUUo7QUFDRjtBeUQ3MVFFO0VIK0JFLDhCQUFBO0F0RGkwUUo7QXNEMXVRRTtFQUNFLGdCQUFBO0F0RDR1UUo7QUdyclFRO0VzRDlLTjtJSGlDSSxxQkFBQTtFdERzMFFKO0FBQ0Y7QUcxclFRO0VzRDlLTjtJSG9DSSw4QkFBQTtFdER3MFFKO0FBQ0Y7QUcvclFRO0VzRDlLTjtJQUlFLGdCQUFBO0V6RDYyUUY7QUFDRjtBeUQ1MlFHO0VBQ0MsY2pERks7QVJnM1FUO0F5RDcyUUk7RUFDQyxjakRQRztBUnMzUVI7QXlENTJRRztFQUNDLGdCQUFBO0F6RDgyUUo7QXlEejJRSztFSDZGSCxTQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0F0RCt3UUY7QXlEejJRRztFQUNDLGtCQUFBO0F6RDIyUUo7QUdydFFRO0VzRHZKTDtJQUdFLGdCQUFBO0V6RDYyUUg7QUFDRjtBeUQzMlFZO0VBQ0ksMEJBQUE7RUFDQSxnQkFBQTtBekQ2MlFoQjtBeUQxMlFJO0VINkVGLFNBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7RUc3RUcsYUFBQTtFQUNBLHVCQUFBO0F6RDgyUUw7QUdydVFRO0VzRDVJSjtJQUtFLHlCQUFBO0lIUkYsOEJBQUE7RXREeTNRRjtBQUNGO0FHM3VRUTtFc0Q1SUo7SUhERSxxQkFBQTtFdEQ0M1FKO0FBQ0Y7QUdodlFRO0VzRDVJSjtJSEVFLDhCQUFBO0V0RDgzUUo7QUFDRjtBeUR6M1FLO0VBQ0Msa0JBQUE7QXpEMjNRTjtBeUQxM1FNO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCakQ3Q0U7RWlEOENGLGNqRGxEQztFaURtREQsa0NBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0F6RDQzUVA7QXlEMTNRUTtFQUNDLGFqRHhERDtBUm83UVI7QXlEejNRTztFQUNDLHlDQUFBO0F6RDIzUVI7QXlEeDNRTTtFQUNDLGVBQUE7QXpEMDNRUDtBeUR0M1FJO0VBQ0MsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QXpEdzNRTDtBR2x4UVE7RXNEekdKO0lBS0UsYUFBQTtJQUNBLHlCQUFBO0V6RDAzUUo7RXlEejNRSTtJQUNDLGNqRDNFQztFUnM4UU47QUFDRjtBeURyM1FDO0VBQ0MseUJqRHBGTTtFaURxRk4sMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUhxQ0EsYzlDM0hNO0FSODhRUjtBc0RsMVFFOztFQUVFLGM5QzlISTtBUms5UVI7QXNEbDFRRTtFQUNFLGM5Q2pJSTtBUnE5UVI7QXNEbjFRSTtFQUNFLGM5Q25JRTtFOENvSUYseUJBQUE7QXREcTFRTjtBc0RwMVFNO0VBQ0UseUJBQUE7QXREczFRUjtBc0RwMVFNO0VBQ0UsK0JBQUE7QXREczFRUjtBR256UVE7RXNEMUZQO0lBT0UsZ0JBQUE7RXpEMDRRRDtBQUNGO0F5RHo0UUU7RUFDQyxnQkFBQTtFQUNBLGVBQUE7QXpEMjRRSDtBRzV6UVE7RXNEakZOO0lBSUUscUJBQUE7RXpENjRRRjtBQUNGO0F5RDM0UUU7RUhXQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0F0RG00UUY7QUd0MFFRO0VzRDFFTjtJQUdFLHFCQUFBO0V6RGk1UUY7QUFDRjtBeURoNVFHO0VBQ0MscUJBQUE7QXpEazVRSjtBeURqNVFJO0VBQ0MsY2pEMUdHO0VpRDJHSCxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7QXpEbTVRTDtBeURqNVFJO0VBQ0MsZUFBQTtBekRtNVFMO0FHeDFRUTtFc0Q1REo7SUFHRSxpQkFBQTtJQUNBLDhCQUFBO0lBQ0EsZ0JBQUE7RXpEcTVRSjtBQUNGO0F5RG41UUk7RUFDQyxnQkFBQTtFQUNBLGtCQUFBO0F6RHE1UUw7O0EwRHRoUkE7RUpHSSw0QkFBQTtFQVVBLCtCQUFBO0F0RDhnUko7QUd4MlFRO0V1RG5MUjtJSktNLGlCQUFBO0V0RDBoUko7QUFDRjtBRzcyUVE7RXVEbkxSO0lKUU0sNEJBQUE7RXRENGhSSjtBQUNGO0FHbDNRUTtFdURuTFI7SUplTSxvQkFBQTtFdEQwaFJKO0FBQ0Y7QUd2M1FRO0V1RG5MUjtJSmtCTSwrQkFBQTtFdEQ0aFJKO0FBQ0Y7O0EwRDVpUkk7RUFDSSxxQkFBQTtFQUNBLG1CQUFBO0ExRCtpUlI7QTBEOWlSUTtFQUNJLGdCQUFBO0ExRGdqUlo7QTBEL2lSWTtFQUNJLGNsREhSO0VrRElRLG9DekRSSDtBRHlqUmI7QTBEOWlSUTtFQUNJLGtCQUFBO0ExRGdqUlo7QUczNFFRO0V1RHRLQTtJQUdRLGlCQUFBO0UxRGtqUmQ7QUFDRjtBMERoalJRO0VBQ0ksYUFBQTtBMURralJaO0EwRGpqUlk7RUFDSSxZQUFBO0ExRG1qUmhCOztBMkR6a1JBO0VMR0ksNEJBQUE7RUFVQSwrQkFBQTtBdERpa1JKO0FHMzVRUTtFd0RuTFI7SUxLTSxpQkFBQTtFdEQ2a1JKO0FBQ0Y7QUdoNlFRO0V3RG5MUjtJTFFNLDRCQUFBO0V0RCtrUko7QUFDRjtBR3I2UVE7RXdEbkxSO0lMZU0sb0JBQUE7RXRENmtSSjtBQUNGO0FHMTZRUTtFd0RuTFI7SUxrQk0sK0JBQUE7RXREK2tSSjtBQUNGOztBMkQvbFJBO0VMQUksNEJBQUE7RUFVQSwrQkFBQTtFS1BBLHVCQUFBO0VBQ0EsZ0NBQUE7QTNEa21SSjtBR3Q3UVE7RXdEaExSO0lMRU0sb0JBQUE7RXREd21SSjtBQUNGO0FHMzdRUTtFd0RoTFI7SUxLTSw0QkFBQTtFdEQwbVJKO0FBQ0Y7QUdoOFFRO0V3RGhMUjtJTFlNLHVCQUFBO0V0RHdtUko7QUFDRjtBR3I4UVE7RXdEaExSO0lMZU0sK0JBQUE7RXREMG1SSjtBQUNGO0FzRGxnUkU7RUFDRSxnQkFBQTtBdERvZ1JKO0FHNzhRUTtFd0RoTFI7SUFNUSxtQkFBQTtFM0QyblJOO0FBQ0Y7QTJEMW5SSTtFQUNJLGNBQUE7QTNENG5SUjtBR3I5UVE7RXdEcktKO0lBRVEsYUFBQTtFM0Q0blJWO0FBQ0Y7QTJEMW5SWTtFQUNJLGdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQkFBQTtBM0Q0blJoQjtBRy85UVE7RXdEaEtJO0lBS1EsMEJBQUE7RTNEOG5SbEI7QUFDRjtBMkQxblJJO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0VMNUJKLDRCQUFBO0VBVUEsK0JBQUE7QXREZ3BSSjtBRzErUVE7RXdEdEpKO0lMeEJFLG1CQUFBO0V0RDRwUko7QUFDRjtBRy8rUVE7RXdEdEpKO0lMckJFLDRCQUFBO0V0RDhwUko7QUFDRjtBR3AvUVE7RXdEdEpKO0lMZEUsc0JBQUE7RXRENHBSSjtBQUNGO0FHei9RUTtFd0R0Sko7SUxYRSwrQkFBQTtFdEQ4cFJKO0FBQ0Y7QUc5L1FRO0V3RHRKSjtJTDFCQSxjQUFBO0lBVUEsaUJBQUE7RXREeXFSRjtBQUNGO0FHcGdSUTtFd0R0Sko7SUx4QkUsY0FBQTtFdERzclJKO0FBQ0Y7QUd6Z1JRO0V3RHRKSjtJTHJCRSxjQUFBO0V0RHdyUko7QUFDRjtBRzlnUlE7RXdEdEpKO0lMZEUsaUJBQUE7RXREc3JSSjtBQUNGO0FHbmhSUTtFd0R0Sko7SUxYRSxpQkFBQTtFdER3clJKO0FBQ0Y7QTJEcHFSWTtFQUNJLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG1CbkRwQ1I7RW1EcUNRLGNuRHBDUjtFbURxQ1EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBM0RzcVJoQjtBMkRscVJRO0VBQ0ksZ0JBQUE7QTNEb3FSWjtBMkRqcVJJO0VBQ0ksYUFBQTtFQUNBLHlCQUFBO0VBQ0EsaUJBQUE7QTNEbXFSUjtBMkRscVJRO0VBQ0ksb0JBQUE7RUFDQSxlQUFBO0EzRG9xUlo7QTJEanFSSTtFQUNJLGFBQUE7QTNEbXFSUjtBMkRscVJRO0VBQ0ksWUFBQTtBM0RvcVJaOztBNEQxdVJBO0VOYUksK0JBQUE7QXREaXVSSjtBRzNqUlE7RXlEbkxSO0lOZU0sb0JBQUE7RXREbXVSSjtBQUNGO0FHaGtSUTtFeURuTFI7SU5rQk0sK0JBQUE7RXREcXVSSjtBQUNGOztBNERudlJJO0VOK0JBLDhCQUFBO0F0RHd0Uko7QUd6a1JRO0V5RDlLSjtJTmlDRSxxQkFBQTtFdEQwdFJKO0FBQ0Y7QUc5a1JRO0V5RDlLSjtJTm9DRSw4QkFBQTtFdEQ0dFJKO0FBQ0Y7QUdubFJRO0V5RDlLSjtJTnFCQSxhQUFBO0lBVUEsZ0JBQUE7RXREdXVSRjtBQUNGO0FHemxSUTtFeUQ5S0o7SU51QkUsYUFBQTtFdERvdlJKO0FBQ0Y7QUc5bFJRO0V5RDlLSjtJTjBCRSxhQUFBO0V0RHN2Uko7QUFDRjtBR25tUlE7RXlEOUtKO0lOaUNFLGdCQUFBO0V0RG92Uko7QUFDRjtBR3htUlE7RXlEOUtKO0lOb0NFLGdCQUFBO0V0RHN2Uko7QUFDRjtBNERyeFJZO0VBQ0ksY0FBQTtFQUNBLGNwREZUO0VvREdTLG1CQUFBO0E1RHV4UmhCO0E0RHR4UmdCO0VBQ0ksZ0JBQUE7QTVEd3hScEI7QTREbnhSSTtFTmxCQSw0QkFBQTtFQVVBLCtCQUFBO0VBdUJBLDhCQUFBO0VBd0JBLDZCQUFBO0VBVUEsOEJBQUE7RU03Q0ksa0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0E1RHV4UlI7QUcvblJRO0V5RDlKSjtJTmhCRSxtQkFBQTtFdERpelJKO0FBQ0Y7QUdwb1JRO0V5RDlKSjtJTmJFLDRCQUFBO0V0RG16Uko7QUFDRjtBR3pvUlE7RXlEOUpKO0lOTkUsc0JBQUE7RXREaXpSSjtBQUNGO0FHOW9SUTtFeUQ5Sko7SU5IRSwrQkFBQTtFdERtelJKO0FBQ0Y7QUducFJRO0V5RDlKSjtJTmlCRSxxQkFBQTtFdERveVJKO0FBQ0Y7QUd4cFJRO0V5RDlKSjtJTm9CRSw4QkFBQTtFdERzeVJKO0FBQ0Y7QUc3cFJRO0V5RDlKSjtJTnlDRSw2QkFBQTtFdERzeFJKO0FBQ0Y7QUdscVJRO0V5RDlKSjtJTjRDRSw2QkFBQTtFdER3eFJKO0FBQ0Y7QUd2cVJRO0V5RDlKSjtJTm1ERSw4QkFBQTtFdERzeFJKO0FBQ0Y7QUc1cVJRO0V5RDlKSjtJTnNERSw4QkFBQTtFdER3eFJKO0FBQ0Y7QTREeDBSUTtFQUNJLDBDQUFBO0E1RDAwUlo7QTREeDBSUTtFQUNJLGNwRDFCSjtFb0QyQkkscUJBQUE7QTVEMDBSWjtBNER4MFJRO0VBQ0ksYUFBQTtFQUNBLDhCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBNUQwMFJaO0E0RHowUlk7RUFDSSwwQkFBQTtFQUNBLGtCQUFBO0E1RDIwUmhCO0E0RDEwUmdCO0VBQ0ksY0FBQTtFQUNBLG9CQUFBO0VBQ0EsY3BEbkNiO0FSKzJSUDtBNEQxMFJnQjtFQUNJLGlCQUFBO0VBQ0EsY3BEdkNiO0FSbTNSUDtBNEQzMFJvQjtFQUNJLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QTVENjBSeEI7QTREeDBSUTtFQUNJLGtCQUFBO0E1RDAwUlo7QTREejBSWTtFQUNJLGlCQUFBO0E1RDIwUmhCO0FHdnRSUTtFeURySEk7SUFHUSxxQ0FBQTtFNUQ2MFJsQjtBQUNGO0FHNXRSUTtFeURySEk7SUFPUSxxQ0FBQTtFNUQ4MFJsQjtBQUNGO0FHNXRSUTtFeUQxSEk7SUFZUSxpQkFBQTtFNUQ4MFJsQjtBQUNGO0E0RDMwUlE7RUFDSSxpQkFBQTtBNUQ2MFJaO0E0RDEwUkk7RUFVSSxtQkFBQTtBNURtMFJSO0E0RDUwUlE7RUFDSSxtQkFBQTtBNUQ4MFJaO0E0RDUwUlE7RUFDSSxjcERoRko7RW9EaUZJLDBCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0E1RDgwUlo7O0E0RHYwUkk7RU45RkEsNEJBQUE7RUFVQSwrQkFBQTtBdERnNlJKO0FHMXZSUTtFeURsRko7SU41RkUsaUJBQUE7RXRENDZSSjtBQUNGO0FHL3ZSUTtFeURsRko7SU56RkUsNEJBQUE7RXREODZSSjtBQUNGO0FHcHdSUTtFeURsRko7SU5sRkUsb0JBQUE7RXRENDZSSjtBQUNGO0FHendSUTtFeURsRko7SU4vRUUsK0JBQUE7RXREODZSSjtBQUNGO0E0RDcxUkk7RUFDSSxtQnBEL0ZBO0FSODdSUjtBNEQ5MVJRO0VObkdKLDRCQUFBO0VBVUEsK0JBQUE7QXREMjdSSjtBR3J4UlE7RXlEN0VBO0lOakdGLG1CQUFBO0V0RHU4Uko7QUFDRjtBRzF4UlE7RXlEN0VBO0lOOUZGLDRCQUFBO0V0RHk4Uko7QUFDRjtBRy94UlE7RXlEN0VBO0lOdkZGLHNCQUFBO0V0RHU4Uko7QUFDRjtBR3B5UlE7RXlEN0VBO0lOcEZGLCtCQUFBO0V0RHk4Uko7QUFDRjtBNERwM1JZO0VBQ0ksbUJwRHJHVDtFb0RzR1MsMEJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBNURzM1JoQjtBNERuM1JRO0VBQ0ksb0JBQUE7RUFDQSxnQkFBQTtBNURxM1JaOztBNEQvMlJRO0VBQ0ksZ0JBQUE7QTVEazNSWjtBNEQvMlJJO0VONUhBLDRCQUFBO0VBVUEsK0JBQUE7QXREcStSSjtBRy96UlE7RXlEcERKO0lOMUhFLG1CQUFBO0V0RGkvUko7QUFDRjtBR3AwUlE7RXlEcERKO0lOdkhFLDRCQUFBO0V0RG0vUko7QUFDRjtBR3owUlE7RXlEcERKO0lOaEhFLHNCQUFBO0V0RGkvUko7QUFDRjtBRzkwUlE7RXlEcERKO0lON0dFLCtCQUFBO0V0RG0vUko7QUFDRjtBNERwNFJZO0VBQ0ksZ0JBQUE7QTVEczRSaEI7QTREajRSUTtFQUNJLG1CQUFBO0E1RG00Ulo7O0E0RC8zUkE7RUFDSSxjQUFBO0E1RGs0Uko7O0E0RDczUkk7RUFDSSxtQkFBQTtBNURnNFJSOztBNEQ3M1JBO0VBQ0ksbUJwRGxKSTtFOEM0SE4sYzlDM0hNO0VvRG1KSixpQkFBQTtFQUNBLDBCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtBNURnNFJKO0FzRDU1UkU7O0VBRUUsYzlDOUhJO0FSNGhTUjtBc0Q1NVJFO0VBQ0UsYzlDaklJO0FSK2hTUjtBc0Q3NVJJO0VBQ0UsYzlDbklFO0U4Q29JRix5QkFBQTtBdEQrNVJOO0FzRDk1Uk07RUFDRSx5QkFBQTtBdERnNlJSO0FzRDk1Uk07RUFDRSwrQkFBQTtBdERnNlJSO0E0RGg1Ukk7RUFDSSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0E1RGs1UlI7QUdsNFJRO0V5RDVCUjtJQWVRLGFBQUE7RTVEbTVSTjtBQUNGO0E0RGo1UlE7RUFDSSxZQUFBO0E1RG01Ulo7O0E0RDk0Ukk7RUFDSSxhQUFBO0VBQ0EsbUJwRDNLQTtFOEM0SE4sYzlDM0hNO0VvRDRLQSxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QTVEaTVSUjtBc0RyOFJFOztFQUVFLGM5QzlISTtBUnFrU1I7QXNEcjhSRTtFQUNFLGM5Q2pJSTtBUndrU1I7QXNEdDhSSTtFQUNFLGM5Q25JRTtFOENvSUYseUJBQUE7QXREdzhSTjtBc0R2OFJNO0VBQ0UseUJBQUE7QXREeThSUjtBc0R2OFJNO0VBQ0UsK0JBQUE7QXREeThSUjtBNERqNlJRO0VBQ0kseUJBQUE7QTVEbTZSWjs7QTZENWxTQTtFQUNJLGlGQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQ0FBQTtFQUNBLG9DQUFBO0VQOEhGLGM5QzNITTtFcURESixrQkFBQTtBN0QrbFNKO0FzRGwrUkU7O0VBRUUsYzlDOUhJO0FSa21TUjtBc0RsK1JFO0VBQ0UsYzlDaklJO0FScW1TUjtBc0RuK1JJO0VBQ0UsYzlDbklFO0U4Q29JRix5QkFBQTtBdERxK1JOO0FzRHArUk07RUFDRSx5QkFBQTtBdERzK1JSO0FzRHArUk07RUFDRSwrQkFBQTtBdERzK1JSO0E2RC9tU0k7RVBKQSw0QkFBQTtFQVVBLCtCQUFBO0VBK0NBLDZCQUFBO0VBVUEsOEJBQUE7RU81REksb0NBQUE7RUFDQSxrQkFBQTtBN0RtblNSO0FHMzhSUTtFMEQ1S0o7SVBGRSxrQkFBQTtFdEQ2blNKO0FBQ0Y7QUdoOVJRO0UwRDVLSjtJUENFLDZCQUFBO0V0RCtuU0o7QUFDRjtBR3I5UlE7RTBENUtKO0lQUUUscUJBQUE7RXRENm5TSjtBQUNGO0FHMTlSUTtFMEQ1S0o7SVBXRSxnQ0FBQTtFdEQrblNKO0FBQ0Y7QUcvOVJRO0UwRDVLSjtJUHVERSw2QkFBQTtFdER3bFNKO0FBQ0Y7QUdwK1JRO0UwRDVLSjtJUDBERSw2QkFBQTtFdEQwbFNKO0FBQ0Y7QUd6K1JRO0UwRDVLSjtJUGlFRSw4QkFBQTtFdER3bFNKO0FBQ0Y7QUc5K1JRO0UwRDVLSjtJUG9FRSw4QkFBQTtFdEQwbFNKO0FBQ0Y7QXNEM2lTRTtFQUNFLGdCQUFBO0F0RDZpU0o7QTZENXBTUTtFQUNJLG9DNURaQztFNERhRCxnQkFBQTtBN0Q4cFNaO0E2RDVwU1E7RUFDSSxjckRYSjtBUnlxU1I7QTZEM3BTWTtFQUNJLGNyRGhCUjtBUjZxU1I7QTZEOXBTWTtFQUNJLGNyRGhCUjtBUjZxU1I7QTZEMXBTUTtFQUNJLGtCQUFBO0VBQ0EsdUJBQUE7QTdENHBTWjtBNkQzcFNZO0VBQ0ksY3JEdEJSO0VxRHVCUSx5QkFBQTtBN0Q2cFNoQjtBNkQ1cFNnQjtFQUNJLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxjckQzQlo7QVJ5clNSOztBNkR4cFNBO0VBQ0ksMkJBQUE7QTdEMnBTSjs7QTZEdnBTSTtFQUNJLGdCQUFBO0VBQ0EsY0FBQTtBN0QwcFNSO0E2RHpwU1E7RUFDSSxvQzVEL0NDO0FEMHNTYjtBNkR2cFNZO0VBQ0ksbUJyRDVDUDtFcUQ2Q08sY3JEakRSO0VxRGtEUSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0Esb0M1RDFESDtFNEQyREcsZ0JBQUE7RUFDQSxnQkFBQTtBN0R5cFNoQjtBNkR0cFNnQjtFQUNJLFdBQUE7QTdEd3BTcEI7QTZEenBTZ0I7RUFDSSxXQUFBO0E3RHdwU3BCOztBOER4dFNJO0VBQ0ksbUJ0REZPO0U4Q3VKYixjOUNsSk07QVJ5dFNSO0FzRHJrU0U7O0VBRUUsYzlDdEpJO0FSNnRTUjtBc0Rwa1NFO0VBQ0UsYzlDMUpJO0FSZ3VTUjtBc0Rwa1NJO0VBQ0UsYzlDN0pFO0U4QzhKRix5QkFBQTtBdERza1NOO0FzRHBrU007RUFDRSx5QkFBQTtBdERza1NSO0FzRG5rU007RUFDRSx5QkFBQTtBdERxa1NSO0E4RDN1U1E7RUFDSSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QTlENnVTWjtBR2xrU1E7RTJEOUtBO0lSUUosZ0NBQUE7SVFGWSw0QkFBQTtFOUQrdVNkO0FBQ0Y7QUd4a1NRO0UyRDlLQTtJUlVGLHFCQUFBO0V0RGd2U0o7QUFDRjtBRzdrU1E7RTJEOUtBO0lSYUYsZ0NBQUE7RXREa3ZTSjtBQUNGO0E4RHh2U1k7RUFDSSwrQkFBQTtBOUQwdlNoQjtBOER2dlNnQjtFQUNJLHNCQUFBO0tBQUEsbUJBQUE7RUFDQSxPQUFBO0VBQ0EsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QTlEeXZTcEI7QUc1bFNRO0UyRGxLUTtJQU9RLGtCQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxjQUFBO0U5RDJ2U3RCO0FBQ0Y7QUcvbFNRO0UyRHZLUTtJQWFRLGNBQUE7SUFDQSxrQkFBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0U5RDZ2U3RCO0FBQ0Y7QUd2bVNRO0UyRHZLUTtJQW1CUSxjQUFBO0U5RCt2U3RCO0FBQ0Y7QThEMXZTUTtFUnZDSiw0QkFBQTtFQVVBLCtCQUFBO0F0RDJ4U0o7QUdyblNRO0UyRHpJQTtJUnJDRixvQkFBQTtFdER1eVNKO0FBQ0Y7QUcxblNRO0UyRHpJQTtJUmxDRiw0QkFBQTtFdER5eVNKO0FBQ0Y7QUcvblNRO0UyRHpJQTtJUjNCRix1QkFBQTtFdER1eVNKO0FBQ0Y7QUdwb1NRO0UyRHpJQTtJUnhCRiwrQkFBQTtFdER5eVNKO0FBQ0Y7QUd6b1NRO0UyRHpJQTtJUnZDSiw0QkFBQTtJQVVBLCtCQUFBO0V0RG96U0Y7QUFDRjtBRy9vU1E7RTJEeklBO0lSckNGLG1CQUFBO0V0RGkwU0o7QUFDRjtBR3BwU1E7RTJEeklBO0lSbENGLDRCQUFBO0V0RG0wU0o7QUFDRjtBR3pwU1E7RTJEeklBO0lSM0JGLHNCQUFBO0V0RGkwU0o7QUFDRjtBRzlwU1E7RTJEeklBO0lSeEJGLCtCQUFBO0V0RG0wU0o7QUFDRjtBOER2eVNZO0VBQ0csaUJBQUE7QTlEeXlTZjtBR3RxU1E7RTJEcElJO0lBR1EsY0FBQTtFOUQyeVNsQjtBQUNGO0E4RHh5U1E7RUFDSSxjdEQ1Q0w7QVJzMVNQOztBOERweVNBO0VSMURJLDRCQUFBO0VBVUEsK0JBQUE7RVFrREEsV0FBQTtFQUNBLHlCdER6REk7QVJpMlNSO0FHcnJTUTtFMkR0SFI7SVJ4RE0sb0JBQUE7RXREdTJTSjtBQUNGO0FHMXJTUTtFMkR0SFI7SVJyRE0sNEJBQUE7RXREeTJTSjtBQUNGO0FHL3JTUTtFMkR0SFI7SVI5Q00sdUJBQUE7RXREdTJTSjtBQUNGO0FHcHNTUTtFMkR0SFI7SVIzQ00sK0JBQUE7RXREeTJTSjtBQUNGO0E4RDN6U0k7RUFDSSxhQUFBO0VBQ0EsbUJBQUE7QTlENnpTUjtBOEQzelNRO0VSK0NOLFNBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7RVEvQ1UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTtBOUQrelNaO0E4RDl6U1k7RUFDSSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLHlCdEQvRVI7RXNEZ0ZRLFVBQUE7QTlEZzBTaEI7QThEN3pTZ0I7RUFDSSxXQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFNBQUE7RUFDQSw2QkFBQTtFQUNBLGtDQUFBO0VBQ0EsbUNBQUE7RUFDQSxVQUFBO0E5RCt6U3BCO0FHOXVTUTtFMkQ5R0E7SUFpQ1ksWUFBQTtJQUNBLGlCQUFBO0lBQ0EsWUFBQTtJQUNBLFlBQUE7RTlEK3pTbEI7RThEN3pTa0I7SUFFSSxhQUFBO0U5RDh6U3RCO0FBQ0Y7QThEM3pTWTtFQUNJLFdBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFQUNBLFFBQUE7RUFDQSwwQkFBQTtFQUNBLGtCQUFBO0VBQ0EseUJ0RGxIUjtFc0RtSFEsNkJBQUE7RUFDQSwrQkFBQTtFQUNBLDhCQUFBO0VBQ0EsVUFBQTtBOUQ2elNoQjtBR3Z3U1E7RTJEbEVJO0lBY1EseUJBQUE7SUFDQSxzQkFBQTtJQUNBLGdCQUFBO0lBQ0EsY0FBQTtJQUNBLGVBQUE7SUFDQSxjQUFBO0lBQ0EsY0FBQTtJQUNBLGNBQUE7SUFDQSxjdERqSVo7RVJnOFNOO0FBQ0Y7QUdweFNRO0UyRGxFSTtJQTBCUSwwQkFBQTtJQUNBLGNBQUE7RTlEZzBTbEI7QUFDRjtBRzF4U1E7RTJEckNRO0lBRVEsV0FBQTtJQUNBLG1CdEQzSFQ7SXNENEhTLFdBQUE7SUFDQSxrQkFBQTtJQUNBLGFBQUE7SUFDQSxXQUFBO0lBQ0EsT0FBQTtFOURpMFN0QjtBQUNGO0E4RC96U2dCO0VBQ0kseUJBQUE7RUFDQSxRQUFBO0VBQ0EsY3REdEpaO0VzRHVKWSxnQ0FBQTtBOURpMFNwQjtBRzN5U1E7RTJEMUJRO0lBTVEsY0FBQTtJQUNBLGN0RHJKakI7SXNEc0ppQixnQkFBQTtFOURtMFN0QjtBQUNGO0FHbHpTUTtFMkRkZ0I7SUFDSSxXQUFBO0lBQ0EsbUJ0RGpLcEI7SXNEa0tvQixXQUFBO0lBQ0Esa0JBQUE7SUFDQSxhQUFBO0lBQ0EsV0FBQTtJQUNBLE9BQUE7RTlEbTBTMUI7QUFDRjtBOEQvelNnQjtFQUNJLGNBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBO0E5RGkwU3BCO0FHbDBTUTtFMkRGUTtJQUtRLGFBQUE7SUFDQSxzQkFBQTtFOURtMFN0QjtBQUNGO0E4RGgwU2dCO0VBQ0ksZUFBQTtFQUNBLGdDQUFBO0E5RGswU3BCO0FHNTBTUTtFMkRRUTtJQUlRLGdCQUFBO0U5RG8wU3RCO0FBQ0Y7QThEbDBTZ0I7RUFDSSxhQUFBO0E5RG8wU3BCO0E4RG4wU29CO0VBQ0ksNkJBQUE7QTlEcTBTeEI7QUd2MVNRO0UyRGlCWTtJQUdRLGFBQUE7RTlEdTBTMUI7QUFDRjtBOERwMFNnQjtFQUNJLGdDQUFBO0E5RHMwU3BCO0FHLzFTUTtFMkR3QlE7SUFHUSxnQkFBQTtFOUR3MFN0QjtBQUNGO0E4RG4wU1E7RUFDSSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0E5RHEwU1o7QUcxMlNRO0UyRGlDQTtJQU1RLGlCQUFBO0lBQ0EsY0FBQTtFOUR1MFNkO0FBQ0Y7QThEaDBTd0I7RUFDSSx5QkFBQTtFQUNBLGN0RC9OcEI7QVJpaVRSO0FHcDNTUTtFMkRnRGdCO0lBSVEsY3REak94QjtFUnFpVE47QUFDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uLmVvdD9waGMzbWRcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5lb3Q/cGhjM21kI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLndvZmYyP3BoYzNtZFwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi50dGY/cGhjM21kXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLndvZmY/cGhjM21kXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24uc3ZnP3BoYzNtZCNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuW2NsYXNzXj1pY29uLV0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBuZXZlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tcGxheWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5pY29uLW5ldy10YWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWV4dGVybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLW91dHNpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tcG9wb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tYmxhbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwubGFyZ2UsIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwudGlueSwgLnJldmVhbCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKiwgW2RhdGEtd2hhdGludGVudD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9dG91Y2hdICosXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqLFxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAqOmZvY3VzLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGlucHV0PXRvdWNoXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJm1lZC1sZz01Mi41ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJub3RvLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzLjEyMzA3NjkyMzFyZW07XG4gIG1hcmdpbjogMCAwIDEuMjMwNzY5MjMwOHJlbTtcbiAgcGFkZGluZzogMC42MTUzODQ2MTU0cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxLjIzMDc2OTIzMDhyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblt0eXBlPXRleHRdOmZvY3VzLCBbdHlwZT1wYXNzd29yZF06Zm9jdXMsIFt0eXBlPWRhdGVdOmZvY3VzLCBbdHlwZT1kYXRldGltZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cywgW3R5cGU9bW9udGhdOmZvY3VzLCBbdHlwZT13ZWVrXTpmb2N1cywgW3R5cGU9ZW1haWxdOmZvY3VzLCBbdHlwZT1udW1iZXJdOmZvY3VzLCBbdHlwZT1zZWFyY2hdOmZvY3VzLCBbdHlwZT10ZWxdOmZvY3VzLCBbdHlwZT10aW1lXTpmb2N1cywgW3R5cGU9dXJsXTpmb2N1cywgW3R5cGU9Y29sb3JdOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbnRleHRhcmVhW3Jvd3NdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTtcbn1cblxuW3R5cGU9ZmlsZV0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBtYXJnaW46IDAgMCAxLjIzMDc2OTIzMDhyZW07XG59XG5cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuW3R5cGU9cmFkaW9dICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjE1Mzg0NjE1NHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjIzMDc2OTIzMDhyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbFtmb3JdLFxuW3R5cGU9cmFkaW9dICsgbGFiZWxbZm9yXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGFiZWwgPiBbdHlwZT1jaGVja2JveF0sXG5sYWJlbCA+IFt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbi1yaWdodDogMC42MTUzODQ2MTU0cmVtO1xufVxuXG5bdHlwZT1maWxlXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAxLjIzMDc2OTIzMDhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBhZGRpbmc6IDAuNjkyMzA3NjkyM3JlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNjE1Mzg0NjE1NHJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yMzA3NjkyMzA4cmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjIzMDc2OTIzMDhyZW07XG59XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MTUzODQ2MTU0cmVtO1xufVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMzg0NjE1Mzg0NnJlbSAwO1xuICBwYWRkaW5nOiAxLjUzODQ2MTUzODVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG59XG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMjMwNzY5MjMwOHJlbTtcbiAgcGFkZGluZzogMCAwLjIzMDc2OTIzMDhyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMy4xMjMwNzY5MjMxcmVtO1xuICBtYXJnaW46IDAgMCAxLjIzMDc2OTIzMDhyZW07XG4gIHBhZGRpbmc6IDAuNjE1Mzg0NjE1NHJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS4yMzA3NjkyMzA4cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xLjIzMDc2OTIzMDhyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODQ2MTUzODQ2MnJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwICkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gIH1cbn1cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZWRlYjtcbn1cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjYxNTM4NDYxNTRyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjMwNzY5MjMwOHJlbTtcbiAgZm9udC1zaXplOiAwLjkyMzA3NjkyMzFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNztcbn1cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwibm90by1zZXJpZlwiLCBzZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cbmgxIHNtYWxsLCAuaDEgc21hbGwsXG5oMiBzbWFsbCwgLmgyIHNtYWxsLFxuaDMgc21hbGwsIC5oMyBzbWFsbCxcbmg0IHNtYWxsLCAuaDQgc21hbGwsXG5oNSBzbWFsbCwgLmg1IHNtYWxsLFxuaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xNTM4NDYxNTM4cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG59XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODQ2MTUzODQ2MnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjUzODQ2MTUzODVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNTM4NDYxNTM4NXJlbTtcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zODQ2MTUzODQ2cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG59XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDEuMzA3NjkyMzA3N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xufVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxLjIzMDc2OTIzMDhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNTM4NDYxNTM4NXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEsIC5oMSB7XG4gICAgZm9udC1zaXplOiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjE1Mzg0NjE1MzhyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjY5MjMwNzY5MjNyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjIzMDc2OTIzMDhyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy4yMzA3NjkyMzA4cmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMi4zMDc2OTIzMDc3cmVtO1xuICB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMS42OTIzMDc2OTIzcmVtO1xuICB9XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS44NDYxNTM4NDYycmVtO1xuICB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMS4zODQ2MTUzODQ2cmVtO1xuICB9XG59XG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMEE2MDk5O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDk1Mzg0O1xufVxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogOTIuMzA3NjkyMzA3N3JlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuOTIzMDc2OTIzMXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItbGVmdDogMDtcbn1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS45MjMwNzY5MjMxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxLjkyMzA3NjkyMzFyZW07XG4gIHBhZGRpbmc6IDAuNjkyMzA3NjkyM3JlbSAxLjUzODQ2MTUzODVyZW0gMCAxLjQ2MTUzODQ2MTVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTtcbn1cbmJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjOGE4YThhO1xufVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xNTM4NDYxNTM4cmVtIDAuMzA3NjkyMzA3N3JlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjAxNTYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5jaXRlLWJsb2NrOmJlZm9yZSwgY2l0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuLmNvZGUtaW5saW5lLCBjb2RlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nOiAwLjE1Mzg0NjE1MzhyZW0gMC4zODQ2MTUzODQ2cmVtIDAuMDc2OTIzMDc2OXJlbTtcbn1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWVkaXVtLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBwcmludC1jb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDtcbiAgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbmFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcbmFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gIH1cbiAgcHJlLFxuYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbmltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbmgyLFxuaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICB9XG59XG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjk2MTUzODQ2MTVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45NjE1Mzg0NjE1cmVtO1xuICBtYXgtd2lkdGg6IDkyLjMwNzY5MjMwNzdyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzQ2MTUzODQ2MnJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjUzODQ2MTUzODVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTYxNTM4NDYxNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjk2MTUzODQ2MTVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS4zNDYxNTM4NDYycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4zNDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNTM4NDYxNTM4NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNTM4NDYxNTM4NXJlbTtcbiAgfVxufVxuLmdyaWQtY29udGFpbmVyLmZ1bGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2VsbC5hdXRvIHtcbiAgZmxleDogMSAxIDA7XG59XG4uY2VsbC5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLXNocmluaywgLmdyaWQteCA+IC5zbWFsbC1mdWxsLCAuZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleC1iYXNpczogYXV0bztcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteCA+IC5zbWFsbC0xMiwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMiwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuOTYxNTM4NDYxNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45NjE1Mzg0NjE1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4zNDYxNTM4NDYycmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41Mzg0NjE1Mzg1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTM4NDYxNTM4NXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjkyMzA3NjkyMzFyZW0pO1xuICBtYXJnaW4tbGVmdDogMC45NjE1Mzg0NjE1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTYxNTM4NDYxNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM0NjE1Mzg0NjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjM0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjUzODQ2MTUzODVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiBjYWxjKDc1JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZC1sZy1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZC1sZy0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWQtbGctMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZC1sZy0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZC1sZy00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWQtbGctNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWQtbGctNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZC1sZy04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkLWxnLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjk2MTUzODQ2MTVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC45NjE1Mzg0NjE1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4zNDYxNTM4NDYycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4zNDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjUzODQ2MTUzODVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45NjE1Mzg0NjE1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTYxNTM4NDYxNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjM0NjE1Mzg0NjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjM0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjUzODQ2MTUzODVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC45NjE1Mzg0NjE1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTYxNTM4NDYxNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM0NjE1Mzg0NjJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjM0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjUzODQ2MTUzODVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlO1xufVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyMCUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzE0Mjg1NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxNDI4NTclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG59XG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS45MjMwNzY5MjMxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMzMzMzMyUgKyAxLjkyMzA3NjkyMzFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMS45MjMwNzY5MjMxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS45MjMwNzY5MjMxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMzMzMzMzJSArIDEuOTIzMDc2OTIzMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAxLjkyMzA3NjkyMzFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjkyMzA3NjkyMzFyZW0gLyAyKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzMzMzMzMlICsgMS45MjMwNzY5MjMxcmVtIC8gMik7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDEuOTIzMDc2OTIzMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuOTIzMDc2OTIzMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMzMzMzMzJSArIDEuOTIzMDc2OTIzMXJlbSAvIDIpO1xufVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDEuOTIzMDc2OTIzMXJlbSAvIDIpO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDIuNjkyMzA3NjkyM3JlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMzMzMzMzJSArIDIuNjkyMzA3NjkyM3JlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMi42OTIzMDc2OTIzcmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDIuNjkyMzA3NjkyM3JlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzMzMzMzMlICsgMi42OTIzMDc2OTIzcmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAyLjY5MjMwNzY5MjNyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMi42OTIzMDc2OTIzcmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgKyAyLjY5MjMwNzY5MjNyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDIuNjkyMzA3NjkyM3JlbSAvIDIpO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAyLjY5MjMwNzY5MjNyZW0gLyAyKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzMzMzMzMlICsgMi42OTIzMDc2OTIzcmVtIC8gMik7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDIuNjkyMzA3NjkyM3JlbSAvIDIpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY2NjY2NjclICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NjY2NjY3JSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NjY2NjY3JSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzMzMzMzMlICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NjY2NjY3JSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMzMzMzMzJSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY2NjY2NjclICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDMuMDc2OTIzMDc2OXJlbSAvIDIpO1xuICB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgKyAzLjA3NjkyMzA3NjlyZW0gLyAyKTtcbiAgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY2NjY2NjclICsgMy4wNzY5MjMwNzY5cmVtIC8gMik7XG4gIH1cbn1cbi5ncmlkLXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG4uZ3JpZC15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG59XG4uZ3JpZC15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5ncmlkLXkgPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC15ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkgPiAueGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54bGFyZ2UtMSwgLmdyaWQteSA+IC54bGFyZ2UtMiwgLmdyaWQteSA+IC54bGFyZ2UtMywgLmdyaWQteSA+IC54bGFyZ2UtNCwgLmdyaWQteSA+IC54bGFyZ2UtNSwgLmdyaWQteSA+IC54bGFyZ2UtNiwgLmdyaWQteSA+IC54bGFyZ2UtNywgLmdyaWQteSA+IC54bGFyZ2UtOCwgLmdyaWQteSA+IC54bGFyZ2UtOSwgLmdyaWQteSA+IC54bGFyZ2UtMTAsIC5ncmlkLXkgPiAueGxhcmdlLTExLCAuZ3JpZC15ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuLmdyaWQteSA+IC5zbWFsbC0xMiwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzMzMzMzMlO1xufVxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NjY2NjY3JTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNSB7XG4gIGhlaWdodDogNDEuNjY2NjY2NjY2NyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IDUwJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogNTguMzMzMzMzMzMzMyU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTgge1xuICBoZWlnaHQ6IDY2LjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiA3NSU7XG59XG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbn1cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY2NjY2NjclO1xufVxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMiwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IDc1JTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMiwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgIGhlaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTYxNTM4NDYxNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTYxNTM4NDYxNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgIG1hcmdpbi10b3A6IC0xLjM0NjE1Mzg0NjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLTEuNTM4NDYxNTM4NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjk2MTUzODQ2MTVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjk2MTUzODQ2MTVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDEuMzQ2MTUzODQ2MnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zNDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDEuNTM4NDYxNTM4NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuOTYxNTM4NDYxNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuOTYxNTM4NDYxNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMS4zNDYxNTM4NDYycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjM0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41Mzg0NjE1Mzg1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuOTIzMDc2OTIzMXJlbSk7XG4gIG1hcmdpbi10b3A6IDAuOTYxNTM4NDYxNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC45NjE1Mzg0NjE1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuMzQ2MTUzODQ2MnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAxLjUzODQ2MTUzODVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogY2FsYygyNSUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbn1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxufVxuLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLXkueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC45NjE1Mzg0NjE1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC45NjE1Mzg0NjE1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0xLjM0NjE1Mzg0NjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0xLjUzODQ2MTUzODVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNTM4NDYxNTM4NXJlbTtcbiAgfVxufVxuLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMS45MjMwNzY5MjMxcmVtKTtcbiAgbWFyZ2luLXRvcDogMC45NjE1Mzg0NjE1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjk2MTUzODQ2MTVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMS4zNDYxNTM4NDYycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICAgIG1hcmdpbi10b3A6IDEuNTM4NDYxNTM4NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDEuOTIzMDc2OTIzMXJlbSk7XG59XG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMS45MjMwNzY5MjMxcmVtKTtcbn1cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjkyMzA3NjkyMzFyZW0pO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjY2NjY2NyUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY2NjY2NjclIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAyLjY5MjMwNzY5MjNyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NjY2NjY3JSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkLWxnLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZC1sZy0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWQtbGctMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMzMzMzMzJSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NjY2NjY3JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjY2NjY2NyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzMzMzMzMlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMzMzMzMyUgLSAzLjA3NjkyMzA3NjlyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY2NjY2NjclIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS45MjMwNzY5MjMxcmVtKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDIuNjkyMzA3NjkyM3JlbSk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDMuMDc2OTIzMDc2OXJlbSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMi42OTIzMDc2OTIzcmVtKTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4wNzY5MjMwNzY5cmVtKTtcbiAgfVxufVxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjkyMzA3NjkyMzFyZW0gMy40NjE1Mzg0NjE1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuYnV0dG9uIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b24udGlueSB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmJ1dHRvbiwgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLnN1Y2Nlc3MsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLndhcm5pbmcsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgY29sb3I6IGJsYWNrO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM3Njc2NzY7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gIGNvbG9yOiAjM2IzYjNiO1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgY29sb3I6ICMxNTc1Mzk7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmYWUwMDtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICBjb2xvcjogIzgwNTcwMDtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gIGNvbG9yOiAjNjcyNTFhO1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG59XG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjNzY3Njc2O1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICMzYjNiM2I7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMxNTc1Mzk7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6ICM4MDU3MDA7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0LCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNjYzRiMzc7XG59XG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgY29sb3I6ICM2NzI1MWE7XG59XG4uYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuNGVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwLjRlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAzLjQ2MTUzODQ2MTVyZW07XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc2Vjb25kYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zdWNjZXNzOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuYWxlcnQ6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNztcbn1cbi5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICB0b3A6IC0wLjFlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG5hLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiK1wiO1xufVxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCTXCI7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG4udGFiczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzBkMGQwZDtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjkyMzA3NjkyMzFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnRhYnMtdGl0bGUgPiBhIHtcbiAgb3V0bGluZTogMDtcbn1cbi50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiBibGFjaztcbn1cbi50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbn1cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vZmYtY2FudmFzIHtcbiAgb3V0bGluZTogMDtcbn1cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHotaW5kZXg6IDEyO1xufVxuLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgb3V0bGluZTogMDtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHotaW5kZXg6IDEyO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG5cbi5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IC0xM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1yaWdodC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAxM3B4IDAgMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG5cbi5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xufVxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cbmh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnJldmVhbCB7XG4gIG91dGxpbmU6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG4ucmV2ZWFsIC5jb2x1bW4ge1xuICBtaW4td2lkdGg6IDA7XG59XG4ucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogOTIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuLnJldmVhbC5jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnRpbnkge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWF4LXdpZHRoOiA5Mi4zMDc2OTIzMDc3cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogOTIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbC5sYXJnZSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDkyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbi5yZXZlYWwuZnVsbCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1O1xuICB3aWR0aDogMTAwJTtcbn1cbi5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgdG9wOiAwO1xufVxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyO1xufVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0O1xufVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1O1xufVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2O1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMztcbiAgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1Mi40OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyLjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LWZvci1pZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItaWUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pcy1zdHVjayAuc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDtcbn1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7XG59XG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbiAgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4gIH1cbn1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWNjdy0xdHVybjtcbn1cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnO1xufVxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xuICB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuICB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cbn1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xufVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDtcbn1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDtcbn1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDtcbn1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbltkaXI9cnRsXSAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogcmlnaHQ7XG59XG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDBweDtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbi5zbGljay1uZXh0OmhvdmVyLFxuLnNsaWNrLW5leHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLCAuc2xpY2stcHJldjpmb2N1czpiZWZvcmUsXG4uc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUsXG4uc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlLFxuLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4yNTtcbn1cbi5zbGljay1wcmV2OmJlZm9yZSxcbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgb3BhY2l0eTogMC43NTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7XG59XG5bZGlyPXJ0bF0gLnNsaWNrLXByZXYge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTI1cHg7XG59XG4uc2xpY2stcHJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGkFwiO1xufVxuW2Rpcj1ydGxdIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7XG59XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4O1xufVxuW2Rpcj1ydGxdIC5zbGljay1uZXh0IHtcbiAgbGVmdDogLTI1cHg7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpJcIjtcbn1cbltkaXI9cnRsXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGkFwiO1xufVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNsaWNrLWRvdHMgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4uc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogYmxhY2s7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogYmxhY2s7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5cbi8qID1Xb3JkUHJlc3MgQ29yZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXB4IGF1dG8gNXB4IGF1dG87XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbmEgaW1nLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDtcbiAgbWF4LXdpZHRoOiA5NiU7IC8qIEltYWdlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEgKi9cbiAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogOTguNSU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBjb2xvcjogIzQ0NDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cbi8qIFdvcmRQcmVzcyBHYWxsZXJ5IFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZ2FsbGVyeSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuXG4uZ2FsbGVyeTphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuXG4uZ2FsbGVyeS1pdGVtIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogNTAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMzJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDE2LjY2NjclO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxNC4yODU3JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDExLjExMTElO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoMm4rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoM24rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNG4rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNW4rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoNm4rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoN24rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoOG4rMSksXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbTpudGgtY2hpbGQoOW4rMSkge1xuICBjbGVhcjogbGVmdDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMS4xNTM4NDYxNTM4cmVtO1xuICB9XG59XG5cbnAuc21hbGxlci5ibHVlIHtcbiAgY29sb3I6ICM0N0I3RDE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbnAuc21hbGxlci5wdXJwbGUge1xuICBjb2xvcjogIzJBMjM0MztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxucC5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yMzA3NjkyMzA4cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgcC5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjQ2MTUzODQ2MTVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIHAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG5cbmgxLnllbGxvdyB7XG4gIGNvbG9yOiAjRkJFNTREO1xuICBmb250LWZhbWlseTogXCJub3RvLXNhbnMtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG59XG5oMS5zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBcIm5vdG8tc2VyaWZcIiwgc2VyaWY7XG59XG5cbmgyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbmgyLnNlcmlmLmJsdWUge1xuICBjb2xvcjogIzFmN2VhZDtcbiAgZm9udC1mYW1pbHk6IFwibm90by1zZXJpZlwiLCBzZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuaDMuc2Fucy1zZXJpZiB7XG4gIGZvbnQtZmFtaWx5OiBcIm5vdG8tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMy5zYW5zLXNlcmlmIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cbmgzLnNhbnMtc2VyaWYuYmx1ZSB7XG4gIGNvbG9yOiAjMEE2MDk5ICFpbXBvcnRhbnQ7XG59XG5cbmEge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udmVydGljYWwtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucmV2ZXJzZS1tb2JpbGUgPiAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gIG9yZGVyOiAyO1xufVxuLnJldmVyc2UtbW9iaWxlID4gLmNlbGw6bGFzdC1jaGlsZCB7XG4gIG9yZGVyOiAxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVyc2UtbW9iaWxlID4gLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5yZXZlcnNlLW1vYmlsZSA+IC5jZWxsOmxhc3QtY2hpbGQge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5cbi50ZXh0LWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMEE2MDk5O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5idXR0b24ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hY2Nlc3NpYmlsaXR5LW5hdiAuc2tpcC10by1tYWluIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDAwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICB6LWluZGV4OiA5OTk5O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5hY2Nlc3NpYmlsaXR5LW5hdiAuc2tpcC10by1tYWluOmZvY3VzIHtcbiAgdG9wOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMnB4IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci10b3A6IDA7XG59XG4uYWNjZXNzaWJpbGl0eS1uYXYgLnNraXAtdG8tbWFpbjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYWxlcnQtYmFyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuLmFsZXJ0LWJhciBoMSwgLmFsZXJ0LWJhciBoMiwgLmFsZXJ0LWJhciBoMywgLmFsZXJ0LWJhciBoNCwgLmFsZXJ0LWJhciBoNSwgLmFsZXJ0LWJhciBoNixcbi5hbGVydC1iYXIgLmgxLCAuYWxlcnQtYmFyIC5oMiwgLmFsZXJ0LWJhciAuaDMsIC5hbGVydC1iYXIgLmg0LCAuYWxlcnQtYmFyIC5oNSwgLmFsZXJ0LWJhciAuaDYge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5hbGVydC1iYXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmFsZXJ0LWJhciBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmFsZXJ0LWJhciBhLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xufVxuLmFsZXJ0LWJhciBhLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4uYWxlcnQtYmFyID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5hbGVydC1iYXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4wNzY5MjMwNzY5cmVtO1xufVxuLmFsZXJ0LWJhciBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYWxlcnQtYmFyIC5jbG9zZS1idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdG9wOiAwLjNyZW07XG59XG5cbmhlYWRlci5oZWFkZXIgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgaGVpZ2h0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaGVhZGVyLmhlYWRlciAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjkyMzA3NjkyMzFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGhlYWRlci5oZWFkZXIgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaGVhZGVyLmhlYWRlciAubmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoZWFkZXIuaGVhZGVyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlci5oZWFkZXIgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5oZWFkZXIuaGVhZGVyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciAubG9nbyB7XG4gIHRyYW5zaXRpb246IDIwMG1zIGFsbDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTY1cHg7XG59XG5oZWFkZXIuaGVhZGVyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lci5pcy1zdHVjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG5oZWFkZXIuaGVhZGVyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lci5pcy1zdHVjayAubG9nbyB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGhlYWRlci5oZWFkZXIgLm5hdmlnYXRpb24tY29udGFpbmVyLmlzLXN0dWNrIC5sb2dvIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGhlYWRlci5oZWFkZXIgLm5hdmlnYXRpb24tY29udGFpbmVyLmlzLXN0dWNrIC5sb2dvIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gIH1cbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4ucGFnZS1oZWFkZXIgaDEsIC5wYWdlLWhlYWRlciBoMiwgLnBhZ2UtaGVhZGVyIGgzLCAucGFnZS1oZWFkZXIgaDQsIC5wYWdlLWhlYWRlciBoNSwgLnBhZ2UtaGVhZGVyIGg2LFxuLnBhZ2UtaGVhZGVyIC5oMSwgLnBhZ2UtaGVhZGVyIC5oMiwgLnBhZ2UtaGVhZGVyIC5oMywgLnBhZ2UtaGVhZGVyIC5oNCwgLnBhZ2UtaGVhZGVyIC5oNSwgLnBhZ2UtaGVhZGVyIC5oNiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2UtaGVhZGVyIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5wYWdlLWhlYWRlciBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhZ2UtaGVhZGVyIGEuYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG59XG4ucGFnZS1oZWFkZXIgYS5idXR0b246aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnBhZ2UtaGVhZGVyLmhhcy1pbWFnZSAub3ZlcmxheSwgLnBhZ2UtaGVhZGVyLnBhZ2UtaGVhZGVyLWltYWdlIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbn1cbi5wYWdlLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG4ucGFnZS1oZWFkZXIgLmhlYWRlci1jb250ZW50IHAge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5wYWdlLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQgcC5zbWFsbGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wYWdlLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQgcC5zbWFsbGVyLmJsdWUsIC5wYWdlLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQgcC5zbWFsbGVyLnB1cnBsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnBhZ2UtaGVhZGVyIC5oZWFkZXItY29udGVudCBwIGltZy5oZWFkZXItbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS1oZWFkZXIgLmhlYWRlci1jb250ZW50IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5wYWdlLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQgaDEueWVsbG93IHtcbiAgY29sb3I6ICNGQkU1NEQ7XG59XG5cbi5ob21lIC5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiA3LjY5MjMwNzY5MjNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhvbWUgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ob21lIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDEyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbi5ob21lIC5wYWdlLWhlYWRlciAucGFnZS1oZWFkZXItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZy1ib3R0b206IDMuODQ2MTUzODQ2MnJlbTtcbn1cbi5ob21lIC5wYWdlLWhlYWRlciAucGFnZS1oZWFkZXItY29udGVudCBwLnNtYWxsZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmhvbWUgLnBhZ2UtaGVhZGVyIC5wYWdlLWhlYWRlci1jb250ZW50IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5ob21lIC5wYWdlLWhlYWRlciAucGFnZS1oZWFkZXItY29udGVudCBoMS55ZWxsb3cge1xuICBjb2xvcjogI0ZCRTU0RDtcbiAgZm9udC1zaXplOiA0LjYxNTM4NDYxNTRyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaG9tZSAucGFnZS1oZWFkZXIgLnBhZ2UtaGVhZGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaG9tZSAucGFnZS1oZWFkZXIgLnBhZ2UtaGVhZGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjE1Mzg0NjE1MzhyZW07XG4gIH1cbn1cbi5ob21lIC5wYWdlLWhlYWRlciAuZmlsbS1sb2dvcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ob21lIC5wYWdlLWhlYWRlciAuZmlsbS1sb2dvcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhvbWUgLnBhZ2UtaGVhZGVyIC5maWxtLWxvZ29zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG4uaG9tZSAucGFnZS1oZWFkZXIgLmZpbG0tbG9nb3MgLmZpbG0tbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5ob21lIC5wYWdlLWhlYWRlciAuZmlsbS1sb2dvcyAuZmlsbS1sb2dvIGltZyB7XG4gIG1heC13aWR0aDogODAlO1xufVxuLmhvbWUgLnBhZ2UtaGVhZGVyLnBhZ2UtaGVhZGVyLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuLmhvbWUgLnBhZ2UtaGVhZGVyLnBhZ2UtaGVhZGVyLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhvbWUgLnBhZ2UtaGVhZGVyLnBhZ2UtaGVhZGVyLXZpZGVvIHZpZGVvLmJhY2tncm91bmQtdmlkZW8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhvbWUgLnBhZ2UtaGVhZGVyLnBhZ2UtaGVhZGVyLXZpZGVvIHZpZGVvLmJhY2tncm91bmQtdmlkZW8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG4uaG9tZSAucGFnZS1oZWFkZXIgLnBvcC11cC1idXR0b24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmhvbWUgLnBhZ2UtaGVhZGVyIC5wb3AtdXAtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi5ob21lIC5wYWdlLWhlYWRlciAucG9wLXVwLWNvbnRhaW5lci5vcGVuIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5ob21lIC5wYWdlLWhlYWRlciAucG9wLXVwLWNvbnRhaW5lciAudmlkZW8tYm94IHtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDkwJTtcbiAgd2lkdGg6IDcwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwYWRkaW5nOiAxcmVtIDNyZW0gMnJlbTtcbn1cblxubmF2Lm1haW4tbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIG5hdi5tYWluLW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbm5hdi5tYWluLW5hdiA+IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbm5hdi5tYWluLW5hdiA+IHVsID4gbGk6bGFzdC1jaGlsZCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxubmF2Lm1haW4tbmF2ID4gdWwgPiBsaS5uYXYtYnV0dG9uID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA1cHggc29saWQgIzAwMDAwMDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbm5hdi5tYWluLW5hdiA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5uYXYtb3BlbiA+IGE6OmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDAwMDAwO1xufVxubmF2Lm1haW4tbmF2ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZy1sZWZ0OiAwLjM4NDYxNTM4NDZyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzg0NjE1Mzg0NnJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDM7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBuYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUge1xuICAgIHBhZGRpbmctbGVmdDogMC41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBuYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUge1xuICAgIHBhZGRpbmctbGVmdDogMC42MTUzODQ2MTU0cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBuYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNTM4NDYxNTM4NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgbmF2Lm1haW4tbmF2ID4gdWwgPiBsaSA+IHVsLnN1Yi1tZW51IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYxNTM4NDYxNTRyZW07XG4gIH1cbn1cbm5hdi5tYWluLW5hdiA+IHVsID4gbGkgPiB1bC5zdWItbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjMDAwMDAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbm5hdi5tYWluLW5hdiA+IHVsID4gbGkgPiB1bC5zdWItbWVudSA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cbm5hdi5tYWluLW5hdiA+IHVsID4gbGkgPiB1bC5zdWItbWVudSA+IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5uYXYubWFpbi1uYXYgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUgPiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tb2JpbGUtbmF2LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1vYmlsZS1uYXYtdG9nZ2xlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogNDRweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG4ubW9iaWxlLW5hdi10b2dnbGUgYSBkaXYge1xuICBoZWlnaHQ6IDRweDtcbiAgd2lkdGg6IDM1cHg7XG4gIG1hcmdpbi1sZWZ0OiA5cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5tb2JpbGUtbmF2LXRvZ2dsZSBhIGRpdjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm9mZi1jYW52YXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5vZmYtY2FudmFzIGgxLCAub2ZmLWNhbnZhcyBoMiwgLm9mZi1jYW52YXMgaDMsIC5vZmYtY2FudmFzIGg0LCAub2ZmLWNhbnZhcyBoNSwgLm9mZi1jYW52YXMgaDYsXG4ub2ZmLWNhbnZhcyAuaDEsIC5vZmYtY2FudmFzIC5oMiwgLm9mZi1jYW52YXMgLmgzLCAub2ZmLWNhbnZhcyAuaDQsIC5vZmYtY2FudmFzIC5oNSwgLm9mZi1jYW52YXMgLmg2IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ub2ZmLWNhbnZhcyBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ub2ZmLWNhbnZhcyBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm9mZi1jYW52YXMgYS5idXR0b24uaG9sbG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbn1cbi5vZmYtY2FudmFzIGEuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi5vZmYtY2FudmFzIHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cbi5vZmYtY2FudmFzIHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5vZmYtY2FudmFzIHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2ZmZmZmZjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5vZmYtY2FudmFzIHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ubmF2LW9wZW4gPiBhOjphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZmZmZjtcbn1cbi5vZmYtY2FudmFzIHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiA+IGxpIHVsLnN1Yi1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4ub2ZmLWNhbnZhcyB1bC5vZmYtY2FudmFzLW5hdmlnYXRpb24gPiBsaSB1bC5zdWItbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDhweCA0MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uY2xvc2Utb2ZmLWNhbnZhcyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLmNsb3NlLW9mZi1jYW52YXM6Zm9jdXMge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogNy42OTIzMDc2OTIzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNy42OTIzMDc2OTIzcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDEyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMi4zMDc2OTIzMDc3cmVtO1xuICB9XG59XG4ucGFnZS1oZWFkZXIgLmNlbGwgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnZS1zZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IDMuODQ2MTUzODQ2MnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuODQ2MTUzODQ2MnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNi4xNTM4NDYxNTM4cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi50cmFuc3BhcmVudC1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG4ucGFnZS1zZWN0aW9uLnRyYW5zcGFyZW50LWJnICsgLnBhZ2Utc2VjdGlvbi50cmFuc3BhcmVudC1iZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi53aGl0ZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4ucGFnZS1zZWN0aW9uLndoaXRlLWJnICsgLnBhZ2Utc2VjdGlvbi53aGl0ZS1iZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoMSwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoMiwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoMywgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoNCwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoNSwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBoNixcbi5wYWdlLXNlY3Rpb24uYmxhY2stYmcgLmgxLCAucGFnZS1zZWN0aW9uLmJsYWNrLWJnIC5oMiwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyAuaDMsIC5wYWdlLXNlY3Rpb24uYmxhY2stYmcgLmg0LCAucGFnZS1zZWN0aW9uLmJsYWNrLWJnIC5oNSwgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyAuaDYge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5wYWdlLXNlY3Rpb24uYmxhY2stYmcgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBhLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xufVxuLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyBhLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4ucGFnZS1zZWN0aW9uLmJsYWNrLWJnICsgLnBhZ2Utc2VjdGlvbi5ibGFjay1iZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFNTREO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIGgxLCAucGFnZS1zZWN0aW9uLnllbGxvdy1iZyBoMiwgLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcgaDMsIC5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIGg0LCAucGFnZS1zZWN0aW9uLnllbGxvdy1iZyBoNSwgLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcgaDYsXG4ucGFnZS1zZWN0aW9uLnllbGxvdy1iZyAuaDEsIC5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIC5oMiwgLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcgLmgzLCAucGFnZS1zZWN0aW9uLnllbGxvdy1iZyAuaDQsIC5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIC5oNSwgLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcgLmg2IHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnZS1zZWN0aW9uLnllbGxvdy1iZyBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnZS1zZWN0aW9uLnllbGxvdy1iZyBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcgYS5idXR0b24uaG9sbG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDAwMDtcbn1cbi5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIGEuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi5wYWdlLXNlY3Rpb24ueWVsbG93LWJnICsgLnBhZ2Utc2VjdGlvbi55ZWxsb3ctYmcge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5wYWdlLXNlY3Rpb24ueWVsbG93LWJnIGEge1xuICBjb2xvcjogIzBBNjA5OTtcbn1cbi5wYWdlLXNlY3Rpb24uYmx1ZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnZS1zZWN0aW9uLmJsdWUtYmcgKyAucGFnZS1zZWN0aW9uLmJsdWUtYmcge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5wYWdlLXNlY3Rpb24ubGlnaHQtZ3JleS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG59XG4ucGFnZS1zZWN0aW9uLmxpZ2h0LWdyZXktYmcgKyAucGFnZS1zZWN0aW9uLmxpZ2h0LWdyZXktYmcge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5wYWdlLXNlY3Rpb24uZGFyay1ncmV5LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbn1cbi5wYWdlLXNlY3Rpb24uZGFyay1ncmV5LWJnICsgLnBhZ2Utc2VjdGlvbi5kYXJrLWdyZXktYmcge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi5wYWdlLXNlY3Rpb24ubGlnaHQteWVsbG93LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDE5MCwgNjUsIDAuMjUpO1xufVxuLnBhZ2Utc2VjdGlvbi5saWdodC15ZWxsb3ctYmcgKyAucGFnZS1zZWN0aW9uLmxpZ2h0LXllbGxvdy1iZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi5saWdodC1ibHVlLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MSwgMTgzLCAyMDksIDAuMjUpO1xufVxuLnBhZ2Utc2VjdGlvbi5saWdodC1ibHVlLWJnICsgLnBhZ2Utc2VjdGlvbi5saWdodC1ibHVlLWJnIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4ucGFnZS1zZWN0aW9uLmxpZ2h0LXB1cnBsZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWVlZmM7XG59XG4ucGFnZS1zZWN0aW9uLmxpZ2h0LXB1cnBsZS1iZyArIC5wYWdlLXNlY3Rpb24ubGlnaHQtcHVycGxlLWJnIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG4ucGFnZS1zZWN0aW9uIC5pbnRyby1zZWN0aW9uLCAucGFnZS1zZWN0aW9uIC5pbnRybyB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjg0NjE1Mzg0NjJyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uIC5pbnRyby1zZWN0aW9uLCAucGFnZS1zZWN0aW9uIC5pbnRybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24gLmludHJvLXNlY3Rpb24sIC5wYWdlLXNlY3Rpb24gLmludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4xNTM4NDYxNTM4cmVtO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uIC5pbnRyby1zZWN0aW9uIC5jZWxsID4gKjpsYXN0LWNoaWxkLCAucGFnZS1zZWN0aW9uIC5pbnRybyAuY2VsbCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS1zZWN0aW9uIC5pbnRyby1zZWN0aW9uIC5jZWxsIC55ZWxsb3ctYm9yZGVyLCAucGFnZS1zZWN0aW9uIC5pbnRybyAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI0ZCRTU0RDtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNTM4NDYxNTM4cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbiAuaW50cm8tc2VjdGlvbiAuY2VsbCAueWVsbG93LWJvcmRlciwgLnBhZ2Utc2VjdGlvbiAuaW50cm8gLmNlbGwgLnllbGxvdy1ib3JkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbiAuaW50cm8tc2VjdGlvbiAuY2VsbCAueWVsbG93LWJvcmRlciwgLnBhZ2Utc2VjdGlvbiAuaW50cm8gLmNlbGwgLnllbGxvdy1ib3JkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5wYWdlLXNlY3Rpb24gdWwgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhZ2Utc2VjdGlvbiB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4ucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLmRvdHMsIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMuY3VycmVudCB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMuZG90cyB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwIDVweDtcbn1cbi5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLm5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5wcmV2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLnBhZ2Utc2VjdGlvbi5vbmUtY29sdW1uIC5jZWxsID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24ub25lLWNvbHVtbiAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI0ZCRTU0RDtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNTM4NDYxNTM4cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5vbmUtY29sdW1uIC5jZWxsIC55ZWxsb3ctYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ub25lLWNvbHVtbiAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NDYxNTM4NDYycmVtO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLm9uZS1jb2x1bW4gLmNlbGwgLnB1cnBsZS1hcnJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ub25lLWNvbHVtbiAuY2VsbCAucHVycGxlLWFycm93IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLm9uZS1jb2x1bW4gLmNlbGwgLnB1cnBsZS1hcnJvdyB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMDc2OTIzMDc2OXJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5vbmUtY29sdW1uIC5jZWxsIC5wdXJwbGUtYXJyb3cgaW1nIHtcbiAgd2lkdGg6IDEwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ub25lLWNvbHVtbiAuY2VsbCAucHVycGxlLWFycm93IGltZyB7XG4gICAgd2lkdGg6IDUlO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLm9uZS1jb2x1bW4gKyAud2hpdGUtYmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4uY29udGFpbmVyLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMnJlbSAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4uY29udGFpbmVyLXdpZHRoIHtcbiAgICBtYXJnaW46IDUwcHggYXV0byA5MHB4O1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4uY29udGFpbmVyLXdpZHRoLmxpZ2h0LXllbGxvdy1iZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMGJlNDE7XG59XG4ucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4uY29udGFpbmVyLXdpZHRoLmxpZ2h0LWJsdWUtYmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDdCN0QxO1xufVxuLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uLmNvbnRhaW5lci13aWR0aC5saWdodC1wdXJwbGUtYmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQURCQ0Y0O1xufVxuLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uLmNvbnRhaW5lci13aWR0aCAudHdvLWNvbHVtbi1jb250ZW50ID4gLmNlbGwge1xuICBwYWRkaW5nLWxlZnQ6IDEuOTIzMDc2OTIzMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS45MjMwNzY5MjMxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uLmNvbnRhaW5lci13aWR0aCAudHdvLWNvbHVtbi1jb250ZW50ID4gLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMi42OTIzMDc2OTIzcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4uY29udGFpbmVyLXdpZHRoIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbi5jb250YWluZXItd2lkdGggLnR3by1jb2x1bW4tY29udGVudCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjY5MjMwNzY5MjNyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbi5jb250YWluZXItd2lkdGggLnR3by1jb2x1bW4tY29udGVudCA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiAudHdvLWNvbHVtbi1jb250ZW50ID4gLmNlbGwgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjg4NDYxNTM4NDZyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4gLnR3by1jb2x1bW4tY29udGVudCA+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiAudHdvLWNvbHVtbi1jb250ZW50ID4gLmNlbGwgaW1nICsgKiB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xufVxuLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogI0ZCRTU0RDtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNTM4NDYxNTM4cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi50d28tY29sdW1uIC50d28tY29sdW1uLWNvbnRlbnQgPiAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4gLnR3by1jb2x1bW4tY29udGVudCA+IC5jZWxsIC55ZWxsb3ctYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiAudHdvLWNvbHVtbi1jb250ZW50LnJldmVyc2UtbW9iaWxlID4gLmNlbGw6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiAudHdvLWNvbHVtbi1jb250ZW50LnJldmVyc2UtbW9iaWxlID4gLmNlbGw6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjg4NDYxNTM4NDZyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4gLnR3by1jb2x1bW4tY29udGVudC5yZXZlcnNlLW1vYmlsZSA+IC5jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4gLnR3by1jb2x1bW4tY29udGVudC5yZXZlcnNlLW1vYmlsZSA+IC5jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjYxNTM4NDYxNTRyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiAudHdvLWNvbHVtbi1jb250ZW50LnJldmVyc2UtbW9iaWxlID4gLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogLTIuODg0NjE1Mzg0NnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC5jZWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDIuODg0NjE1Mzg0NnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC5jZWxsID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAuY2VsbCAuY29udGVudC1ibG9ja3MtaW1hZ2UuY2lyY2xlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC5jZWxsIC5jb250ZW50LWJsb2Nrcy1pbWFnZS5jaXJjbGUgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgd2lkdGg6IDI3NXB4O1xufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC5jZWxsIC5jb250ZW50LWJsb2Nrcy1pbWFnZS5pY29uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2NrcyAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC5jZWxsIC5jb250ZW50LWJsb2Nrcy1pbWFnZS5pY29uIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHdpZHRoOiAxMDBweDtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAuY2VsbCAuY29udGVudC1ibG9ja3MtaW1hZ2UgKyAqIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzIC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLmNlbGwgLnllbGxvdy1ib3JkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6ICNGQkU1NEQ7XG4gIG1hcmdpbi1ib3R0b206IDEuMTUzODQ2MTUzOHJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAuY2VsbCAueWVsbG93LWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzIC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLmNlbGwgLnllbGxvdy1ib3JkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuXG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQge1xuICBwYWRkaW5nLXRvcDogMy44NDYxNTM4NDYycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCB7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCB7XG4gICAgcGFkZGluZy10b3A6IDYuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIHtcbiAgICBtYXJnaW4tbGVmdDogLTM4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzhweDtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEuOTIzMDc2OTIzMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS45MjMwNzY5MjMxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMi42OTIzMDc2OTIzcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNjkyMzA3NjkyM3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwubGlnaHQtYmx1ZS1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNzEsIDE4MywgMjA5LCAwLjI1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3QjdEMTtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbC5saWdodC1wdXJwbGUtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlZWZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQURCQ0Y0O1xufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsLmxpZ2h0LXllbGxvdy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQwLCAxOTAsIDY1LCAwLjI1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwYmU0MTtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCAuY29udGVudC1ibG9ja3MtaW1hZ2UuY2lyY2xlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMjE1cHg7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIGhlaWdodDogMjE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogNDBweCBhdXRvIDIwcHg7XG59XG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgLmNvbnRlbnQtYmxvY2tzLWltYWdlLmNpcmNsZSBpbWcge1xuICB3aWR0aDogMjc1cHg7XG59XG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgLmNvbnRlbnQtYmxvY2tzLWltYWdlLmljb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNDBweCBhdXRvIDIwcHg7XG59XG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgLmNvbnRlbnQtYmxvY2tzLWltYWdlLmljb24gaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIC5jb250ZW50LWJsb2Nrcy1pbWFnZSArICoge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCBwIHtcbiAgbWFyZ2luLXRvcDogMS41Mzg0NjE1Mzg1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgcCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIHAge1xuICAgIG1hcmdpbi10b3A6IDIuNDYxNTM4NDYxNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjQ2MTUzODQ2MTVyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jb250ZW50LWJsb2Nrcy10b29sa2l0IC5jb250ZW50LWJsb2Nrcy1jb250YWluZXIgLnRvb2xraXQtYmxvY2tzIC5jZWxsIHAge1xuICAgIG1hcmdpbi10b3A6IDEuNTM4NDYxNTM4NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgcCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCBwIHtcbiAgICBtYXJnaW4tdG9wOiAyLjQ2MTUzODQ2MTVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgLmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciAudG9vbGtpdC1ibG9ja3MgLmNlbGwgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCAuY29udGVudC1ibG9ja3MtY29udGFpbmVyIC50b29sa2l0LWJsb2NrcyAuY2VsbCBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjQ2MTUzODQ2MTVyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCArIC5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDAuMzg0NjE1Mzg0NnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY29udGVudC1ibG9ja3MtdG9vbGtpdCArIC5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQgKyAucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDAuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuXG4ucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzLnNwYWNpbmctYm90dG9tIC5zcGFjZS1ib3JkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMy4yNjkyMzA3NjkycmVtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3Muc3BhY2luZy1ib3R0b20gLnNwYWNlLWJvcmRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3Muc3BhY2luZy1ib3R0b20gLnNwYWNlLWJvcmRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDUuMjMwNzY5MjMwOHJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAubG9nby1ibG9ja3MtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogLTIuODg0NjE1Mzg0NnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgLmxvZ28tYmxvY2tzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgLmxvZ28tYmxvY2tzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAubG9nby1ibG9ja3MtY29udGFpbmVyIC5jZWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMTUzODQ2MTUzOHJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgLmxvZ28tYmxvY2tzLWNvbnRhaW5lciAuY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAubG9nby1ibG9ja3MtY29udGFpbmVyIC5jZWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NDYxNTM4NDYycmVtO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzIC5sb2dvLWJsb2Nrcy1jb250YWluZXIgLmNlbGwgLmxvZ28tYmxvY2tzLWltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAubG9nby1ibG9ja3MtY29udGFpbmVyIGltZyB7XG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xufVxuLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAudGhyZWUtYmxvY2tzIC5jZWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAudGhyZWUtYmxvY2tzIC5jZWxsIGltZyB7XG4gICAgbWF4LWhlaWdodDogY2FsYygoMzMuMzMzdncgLSAzNXB4KSAvIDIpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzIC50aHJlZS1ibG9ja3MgLmNlbGwgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKCgzMy4zMzN2dyAtIDQwcHgpIC8gMik7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAudGhyZWUtYmxvY2tzIC5jZWxsIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTMwcHg7XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgLmZvdXItYmxvY2tzIC5jZWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAuZm91ci1ibG9ja3MgLmNlbGwgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKCgyNXZ3IC0gMzVweCkgLyAwLjcpO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzIC5mb3VyLWJsb2NrcyAuY2VsbCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoKDI1dncgLSA0MHB4KSAqIDAuNyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAuZm91ci1ibG9ja3MgLmNlbGwgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5sb2dvLWJsb2NrcyAuZml2ZS1ibG9ja3MgLmNlbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzIC5maXZlLWJsb2NrcyAuY2VsbCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoKDIwdncgLSAzNXB4KSAvIDAuNyk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgLmZpdmUtYmxvY2tzIC5jZWxsIGltZyB7XG4gICAgbWF4LWhlaWdodDogY2FsYygoMjB2dyAtIDQwcHgpICogMC43KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzIC5maXZlLWJsb2NrcyAuY2VsbCBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEzMHB4O1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzICsgLmNvbnRlbnQtYmxvY2tzLndoaXRlLWJnIHtcbiAgcGFkZGluZy10b3A6IDMuODQ2MTUzODQ2MnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3MgKyAuY29udGVudC1ibG9ja3Mud2hpdGUtYmcge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmxvZ28tYmxvY2tzICsgLmNvbnRlbnQtYmxvY2tzLndoaXRlLWJnIHtcbiAgICBwYWRkaW5nLXRvcDogNi4xNTM4NDYxNTM4cmVtO1xuICB9XG59XG5cbi5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkge1xuICAgIHBhZGRpbmctdG9wOiA3LjY5MjMwNzY5MjNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDcuNjkyMzA3NjkyM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjg0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkge1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSB7XG4gICAgcGFkZGluZy10b3A6IDEyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkge1xuICAgIG1hcmdpbi1ib3R0b206IDYuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5ncmlkLXguY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5ncmlkLXgucmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSAuaW1hZ2UtYmcge1xuICBoZWlnaHQ6IDIyNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5pbWFnZS1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDMuODQ2MTUzODQ2MnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuODQ2MTUzODQ2MnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAzLjM2NTM4NDYxNTRyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDMuMzY1Mzg0NjE1NHJlbTtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkgLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkgLmNlbGwge1xuICAgIHBhZGRpbmctdG9wOiA2LjE1Mzg0NjE1MzhyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSAuY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSAuY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuNzExNTM4NDYxNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUuMzg0NjE1Mzg0NnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjcxMTUzODQ2MTVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uaW1hZ2Utb3ZlcmxheSAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogNS4zODQ2MTUzODQ2cmVtO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLmltYWdlLW92ZXJsYXkgLmNlbGwgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IC5jZWxsIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY2Fyb3VzZWwtb3ZlcmxheSB7XG4gICAgcGFkZGluZy10b3A6IDcuNjkyMzA3NjkyM3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY2Fyb3VzZWwtb3ZlcmxheSB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IHtcbiAgICBwYWRkaW5nLXRvcDogMTIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5ncmlkLXguY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5ncmlkLXgucmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY2Fyb3VzZWwtb3ZlcmxheSAuaW1hZ2UtYmcge1xuICBoZWlnaHQ6IDIyNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5pbWFnZS1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCB7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDIuNjkyMzA3NjkyM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSB7XG4gICAgcGFkZGluZy10b3A6IDMuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgLnQtc2xpZGUge1xuICAgIHBhZGRpbmctdG9wOiA0LjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY2Fyb3VzZWwtb3ZlcmxheSAuY2Fyb3VzZWwgLnQtc2xpZGVyIC50LXNsaWRlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuNDYxNTM4NDYxNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjQ2MTUzODQ2MTVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0Ljg0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1LjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSB7XG4gICAgcGFkZGluZy1yaWdodDogNC44NDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgLnQtc2xpZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUuNTM4NDYxNTM4NXJlbTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgLnQtc2xpZGUgLnNsaWRlLWNvcHkge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgLnQtc2xpZGUgLnQtcG9zaXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyLjY5MjMwNzY5MjNyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSAudC1wb3NpdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciAudC1zbGlkZSAudC1wb3NpdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC4zMDc2OTIzMDc3cmVtO1xuICB9XG59XG4ucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciB1bC5zbGljay1kb3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDIwcHg7XG59XG4ucGFnZS1zZWN0aW9uLmNhcm91c2VsLW92ZXJsYXkgLmNhcm91c2VsIC50LXNsaWRlciB1bC5zbGljay1kb3RzIGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgdWwuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IC5jYXJvdXNlbCAudC1zbGlkZXIgdWwuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnBhZ2Utc2VjdGlvbi5leHBhbmRhYmxlLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnBhZ2Utc2VjdGlvbi5leHBhbmRhYmxlLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSB7XG4gIHBhZGRpbmc6IDEuMTUzODQ2MTUzOHJlbSAxLjUzODQ2MTUzODVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogNjNweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxLjUzODQ2MTUzODVyZW0gMS45MjMwNzY5MjMxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMS45MjMwNzY5MjMxcmVtIDIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5leHBhbmRhYmxlLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDczcHg7XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB3aWR0aDogMzNweDtcbiAgaGVpZ2h0OiAzM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBmb250LXNpemU6IDEuODQ2MTUzODQ2MnJlbTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICByaWdodDogMjVweDtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi5leHBhbmRhYmxlLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDEuMTUzODQ2MTUzOHJlbSAxLjUzODQ2MTUzODVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMS41Mzg0NjE1Mzg1cmVtIDEuOTIzMDc2OTIzMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5leHBhbmRhYmxlLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuOTIzMDc2OTIzMXJlbSAyLjMwNzY5MjMwNzdyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wYWdlLXNlY3Rpb24uZXhwYW5kYWJsZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IHVsICsgcCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5wYWdlLXNlY3Rpb24uY3RhIHtcbiAgcGFkZGluZy10b3A6IDMuMjY5MjMwNzY5MnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDMuMjY5MjMwNzY5MnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogNC4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jdGEge1xuICAgIHBhZGRpbmctdG9wOiA1LjIzMDc2OTIzMDhyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY3RhIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jdGEge1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjIzMDc2OTIzMDhyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY3RhIC5jdGEtY29weSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4ucGFnZS1zZWN0aW9uLmN0YSAuY3RhLWNvcHkgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jdGEgLmN0YS1jb3B5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuOTIzMDc2OTIzMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLXNlY3Rpb24uY3RhIC5jdGEtY29weSB7XG4gICAgcGFkZGluZy1yaWdodDogMi42OTIzMDc2OTIzcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2Utc2VjdGlvbi5jdGEgLmN0YS1jb3B5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbi5wYWdlLXNlY3Rpb24uY3RhIC5jdGEtYnV0dG9uIC5idXR0b24uaG9sbG93IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmZvb3Rlci5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5mb290ZXIgaDEsIGZvb3Rlci5mb290ZXIgaDIsIGZvb3Rlci5mb290ZXIgaDMsIGZvb3Rlci5mb290ZXIgaDQsIGZvb3Rlci5mb290ZXIgaDUsIGZvb3Rlci5mb290ZXIgaDYsXG5mb290ZXIuZm9vdGVyIC5oMSwgZm9vdGVyLmZvb3RlciAuaDIsIGZvb3Rlci5mb290ZXIgLmgzLCBmb290ZXIuZm9vdGVyIC5oNCwgZm9vdGVyLmZvb3RlciAuaDUsIGZvb3Rlci5mb290ZXIgLmg2IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5mb290ZXIuZm9vdGVyIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5mb290ZXIgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmZvb3Rlci5mb290ZXIgYS5idXR0b24uaG9sbG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbn1cbmZvb3Rlci5mb290ZXIgYS5idXR0b246aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMi44ODQ2MTUzODQ2cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi44ODQ2MTUzODQ2cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwge1xuICBtYXJnaW4tYm90dG9tOiAxLjkyMzA3NjkyMzFyZW07XG59XG5mb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwgYSB7XG4gIGNvbG9yOiAjRkJFNTREO1xufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLW5hdmlnYXRpb24gLmZvb3Rlci1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1jb250YWN0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLWNvbnRhY3Qge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsIC5kaXNjbGFpbWVyIHtcbiAgZm9udC1zaXplOiAwLjc2OTIzMDc2OTJyZW07XG4gIG1hcmdpbi10b3A6IDM1cHg7XG59XG5mb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbC5mb290ZXItc29jaWFsIHVsLnNvY2lhbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1zb2NpYWwgdWwuc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1zb2NpYWwgdWwuc29jaWFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBmb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbC5mb290ZXItc29jaWFsIHVsLnNvY2lhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5mb290ZXIuZm9vdGVyIC5mb290ZXItY29udGVudCAuY2VsbC5mb290ZXItc29jaWFsIHVsLnNvY2lhbCBsaSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1zb2NpYWwgdWwuc29jaWFsIGxpIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRTU0RDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1zb2NpYWwgdWwuc29jaWFsIGxpIGEgc3ZnIHBhdGgge1xuICBmaWxsOiAjMDAwMDAwO1xufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLXNvY2lhbCB1bC5zb2NpYWwgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUxLCAyMjksIDc3LCAwLjcpO1xufVxuZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLXNvY2lhbCB1bC5zb2NpYWwgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbmZvb3Rlci5mb290ZXIgLmZvb3Rlci1jb250ZW50IC5jZWxsLmZvb3Rlci1zb2NpYWwgLnN1YnNjcmliZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMTVweCBhdXRvIDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLXNvY2lhbCAuc3Vic2NyaWJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgZm9vdGVyLmZvb3RlciAuZm9vdGVyLWNvbnRlbnQgLmNlbGwuZm9vdGVyLXNvY2lhbCAuc3Vic2NyaWJlIGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICB9XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMDc2OTIzMDc2OXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuZm9vdGVyLmZvb3RlciAuY29weXJpZ2h0IGgxLCBmb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgaDIsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCBoMywgZm9vdGVyLmZvb3RlciAuY29weXJpZ2h0IGg0LCBmb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgaDUsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCBoNixcbmZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDEsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDIsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDMsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDQsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDUsIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCAuaDYge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCBhLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xufVxuZm9vdGVyLmZvb3RlciAuY29weXJpZ2h0IGEuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuZm9vdGVyLmZvb3RlciAuY29weXJpZ2h0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBmb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgdWwgbGkgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5mb290ZXIuZm9vdGVyIC5jb3B5cmlnaHQgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGZvb3Rlci5mb290ZXIgLmNvcHlyaWdodCB1bCBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgfVxufVxuZm9vdGVyLmZvb3RlciAuY29weXJpZ2h0IHVsIGxpOmxhc3QtY2hpbGQgYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuLnByZXNzLWludHJvIHtcbiAgcGFkZGluZy10b3A6IDEuNTM4NDYxNTM4NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTM4NDYxNTM4NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcmVzcy1pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcmVzcy1pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDIuNDYxNTM4NDYxNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByZXNzLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByZXNzLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40NjE1Mzg0NjE1cmVtO1xuICB9XG59XG5cbi5wcmVzcy1pdGVtIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuLnByZXNzLWl0ZW0gaDMge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnByZXNzLWl0ZW0gaDMucG9zdC1saXN0LXRpdGxlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm5vdG8tc2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuLnByZXNzLWl0ZW0gLnByZXNzLWJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcmVzcy1pdGVtIC5wcmVzcy1idXR0b24ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4ucHJlc3MtaXRlbSAucG9zdC1saXN0LWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5wcmVzcy1pdGVtIC5wb3N0LWxpc3QtaW1hZ2UgaW1nIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4uc2NyZWVuaW5nLWludHJvIHtcbiAgcGFkZGluZy10b3A6IDEuNTM4NDYxNTM4NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTM4NDYxNTM4NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zY3JlZW5pbmctaW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2NyZWVuaW5nLWludHJvIHtcbiAgICBwYWRkaW5nLXRvcDogMi40NjE1Mzg0NjE1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2NyZWVuaW5nLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNjcmVlbmluZy1pbnRybyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNDYxNTM4NDYxNXJlbTtcbiAgfVxufVxuXG4udXBjb21pbmctaXRlbSB7XG4gIHBhZGRpbmctdG9wOiAyLjg4NDYxNTM4NDZyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjg4NDYxNTM4NDZyZW07XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0ge1xuICAgIHBhZGRpbmctdG9wOiA0LjYxNTM4NDYxNTRyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjYxNTM4NDYxNTRyZW07XG4gIH1cbn1cbi51cGNvbWluZy1pdGVtID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4udXBjb21pbmctaXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXBjb21pbmctaXRlbSAuc2NyZWVuaW5nLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbi51cGNvbWluZy1pdGVtIC5zY3JlZW5pbmctbWV0YSAuZGF0ZSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zODQ2MTUzODQ2cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0gLnNjcmVlbmluZy1tZXRhIC5kYXRlIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjkyMzA3NjkyM3JlbTtcbiAgfVxufVxuLnVwY29taW5nLWl0ZW0gLm1pZC1jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgcGFkZGluZy10b3A6IDEuMTUzODQ2MTUzOHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMTUzODQ2MTUzOHJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIC5taWQtY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0gLm1pZC1jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudXBjb21pbmctaXRlbSAubWlkLWNlbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIC5taWQtY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuODQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0gLm1pZC1jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIC5taWQtY2VsbCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudXBjb21pbmctaXRlbSAubWlkLWNlbGwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnVwY29taW5nLWl0ZW0gLm1pZC1jZWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC51cGNvbWluZy1pdGVtIC5taWQtY2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbi51cGNvbWluZy1pdGVtIC5taWQtY2VsbCAuY2F0LW5hbWUgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXgtd2lkdGg6IDExMnB4O1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY3Vyc29yOiBpbmhlcml0O1xufVxuLnVwY29taW5nLWl0ZW0gLm1pZC1jZWxsIC5sb2NhdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4udXBjb21pbmctaXRlbSAucHJlc3MtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udXBjb21pbmctaXRlbSAucHJlc3MtYnV0dG9uIC50ZXh0LWJ1dHRvbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udXBjb21pbmctaXRlbSAucG9zdC1saXN0LWltYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51cGNvbWluZy1pdGVtIC5wb3N0LWxpc3QtaW1hZ2UgaW1nIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4ucmVzb3VyY2UtaW50cm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJlc291cmNlLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlc291cmNlLWludHJvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi40NjE1Mzg0NjE1cmVtO1xuICB9XG59XG5cbi5yZXNvdXJjZS1saXN0IC5zaWRlLW5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXNvdXJjZS1saXN0IC5zaWRlLW5hdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMDc2OTIzMDc2OXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJlc291cmNlLWxpc3QgLnNpZGUtbmF2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5yZXNvdXJjZS1saXN0IC5zaWRlLW5hdiAucmVzb3VyY2UtZmlsdGVyLWNhdGVnb3J5IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwQTYwOTk7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ucmVzb3VyY2UtbGlzdCAuc2lkZS1uYXYgLnJlc291cmNlLWZpbHRlci1jYXRlZ29yeSBhLmFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICBwYWRkaW5nLXRvcDogMS45MjMwNzY5MjMxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS45MjMwNzY5MjMxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjkyMzA3NjkyMzFyZW07XG4gIHBhZGRpbmctbGVmdDogMC45NjE1Mzg0NjE1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjk2MTUzODQ2MTVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuMDc2OTIzMDc2OXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS4zNDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbi5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbTpsYXN0LW9mLXR5cGUge1xuICBwYWRkaW5nLWJvdHRvbTogMy4wNzY5MjMwNzY5cmVtICFpbXBvcnRhbnQ7XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gLmxlYXJuLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gLmxlYXJuLWdyaWQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gLmxlYXJuLWdyaWQgYS5yZWFkLW1vcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjMEE2MDk5O1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIC5sZWFybi1ncmlkIGEud2Vic2l0ZS1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMEE2MDk5O1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIC5sZWFybi1ncmlkIGEud2Vic2l0ZS1saW5rOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbiAgZm9udC1mYW1pbHk6IGljb21vb247XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDVweDtcbn1cbi5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbSAucG9zdC1saXN0LWltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtbGlzdC1pdGVtIC5wb3N0LWxpc3QtaW1hZ2UgaW1nIHtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gLnBvc3QtbGlzdC1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoKDIwdncgLSAzNXB4KSAvIDAuNyk7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5yZXNvdXJjZS1saXN0IC5wb3N0LWxpc3QtaXRlbSAucG9zdC1saXN0LWltYWdlIGltZyB7XG4gICAgbWF4LWhlaWdodDogY2FsYygoMjB2dyAtIDQwcHgpICogMC43KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW0gLnBvc3QtbGlzdC1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEzMHB4O1xuICB9XG59XG4ucmVzb3VyY2UtbGlzdCAucG9zdC1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtdGl0bGUgaDMge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnJlc291cmNlLWxpc3QgLnBvc3QtdGl0bGUgLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDAuNzY5MjMwNzY5MnJlbTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIG1hcmdpbjogMCA1cHg7XG59XG5cbi5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2Uge1xuICBwYWRkaW5nLXRvcDogNC42MTUzODQ2MTU0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNC42MTUzODQ2MTU0cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnNpbmdsZS1yZXNvdXJjZSB7XG4gICAgcGFkZGluZy10b3A6IDZyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2Uge1xuICAgIHBhZGRpbmctdG9wOiA3LjM4NDYxNTM4NDZyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1oZWFkZXIuc2luZ2xlLXJlc291cmNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4zODQ2MTUzODQ2cmVtO1xuICB9XG59XG4ucGFnZS1oZWFkZXIuc2luZ2xlLXJlc291cmNlLCAucGFnZS1oZWFkZXIuY2F0ZWdvcnktaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2UgLmNhdC1idXR0b25zLCAucGFnZS1oZWFkZXIuY2F0ZWdvcnktaGVhZGVyIC5jYXQtYnV0dG9ucyB7XG4gIHBhZGRpbmctdG9wOiAxLjE1Mzg0NjE1MzhyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjE1Mzg0NjE1MzhyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1oZWFkZXIuc2luZ2xlLXJlc291cmNlIC5jYXQtYnV0dG9ucywgLnBhZ2UtaGVhZGVyLmNhdGVnb3J5LWhlYWRlciAuY2F0LWJ1dHRvbnMge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2UgLmNhdC1idXR0b25zLCAucGFnZS1oZWFkZXIuY2F0ZWdvcnktaGVhZGVyIC5jYXQtYnV0dG9ucyB7XG4gICAgcGFkZGluZy10b3A6IDEuODQ2MTUzODQ2MnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnNpbmdsZS1yZXNvdXJjZSAuY2F0LWJ1dHRvbnMsIC5wYWdlLWhlYWRlci5jYXRlZ29yeS1oZWFkZXIgLmNhdC1idXR0b25zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1oZWFkZXIuc2luZ2xlLXJlc291cmNlIC5jYXQtYnV0dG9ucywgLnBhZ2UtaGVhZGVyLmNhdGVnb3J5LWhlYWRlciAuY2F0LWJ1dHRvbnMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbi5wYWdlLWhlYWRlci5zaW5nbGUtcmVzb3VyY2UgLmNhdC1idXR0b25zIC5idXR0b24sIC5wYWdlLWhlYWRlci5jYXRlZ29yeS1oZWFkZXIgLmNhdC1idXR0b25zIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMzQzNDM0O1xuICBmb250LXNpemU6IDEuMDc2OTIzMDc2OXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiA1cHggMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4ucGFnZS1oZWFkZXIuc2luZ2xlLXJlc291cmNlIC50ZXh0LWJ1dHRvbiwgLnBhZ2UtaGVhZGVyLmNhdGVnb3J5LWhlYWRlciAudGV4dC1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNpbmdsZS1yZXNvdXJjZSBpbWcucmVzb3VyY2UtbG9nbyB7XG4gIG1heC13aWR0aDogMzY1cHg7XG59XG4uc2luZ2xlLXJlc291cmNlIC5yZXNvdXJjZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDEuOTIzMDc2OTIzMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuOTIzMDc2OTIzMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaW5nbGUtcmVzb3VyY2UgLnJlc291cmNlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaW5nbGUtcmVzb3VyY2UgLnJlc291cmNlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaW5nbGUtcmVzb3VyY2UgLnJlc291cmNlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaW5nbGUtcmVzb3VyY2UgLnJlc291cmNlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjA3NjkyMzA3NjlyZW07XG4gIH1cbn1cbi5zaW5nbGUtcmVzb3VyY2UgLnJlc291cmNlLWNvbnRlbnQgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnNpbmdsZS1yZXNvdXJjZSAucmVzb3VyY2Utd2Vic2l0ZSAuYnV0dG9uIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLnJlbGF0ZWQtbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG5mb3JtLnJlc291cmNlLWZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5tb2JpbGUtcmVzb3VyY2VzIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEuMzg0NjE1Mzg0NnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5tb2JpbGUtcmVzb3VyY2VzIGgxLCAubW9iaWxlLXJlc291cmNlcyBoMiwgLm1vYmlsZS1yZXNvdXJjZXMgaDMsIC5tb2JpbGUtcmVzb3VyY2VzIGg0LCAubW9iaWxlLXJlc291cmNlcyBoNSwgLm1vYmlsZS1yZXNvdXJjZXMgaDYsXG4ubW9iaWxlLXJlc291cmNlcyAuaDEsIC5tb2JpbGUtcmVzb3VyY2VzIC5oMiwgLm1vYmlsZS1yZXNvdXJjZXMgLmgzLCAubW9iaWxlLXJlc291cmNlcyAuaDQsIC5tb2JpbGUtcmVzb3VyY2VzIC5oNSwgLm1vYmlsZS1yZXNvdXJjZXMgLmg2IHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubW9iaWxlLXJlc291cmNlcyBhIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ubW9iaWxlLXJlc291cmNlcyBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1vYmlsZS1yZXNvdXJjZXMgYS5idXR0b24uaG9sbG93IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbn1cbi5tb2JpbGUtcmVzb3VyY2VzIGEuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi5tb2JpbGUtcmVzb3VyY2VzOmFmdGVyIHtcbiAgY29udGVudDogXCIrXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW9iaWxlLXJlc291cmNlcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1vYmlsZS1yZXNvdXJjZXMuYWN0aXZlOmFmdGVyIHtcbiAgY29udGVudDogXCItXCI7XG59XG5cbi5yZXNvdXJjZS1uYXYubW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEuMDc2OTIzMDc2OXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ucmVzb3VyY2UtbmF2Lm1vYmlsZSBoMSwgLnJlc291cmNlLW5hdi5tb2JpbGUgaDIsIC5yZXNvdXJjZS1uYXYubW9iaWxlIGgzLCAucmVzb3VyY2UtbmF2Lm1vYmlsZSBoNCwgLnJlc291cmNlLW5hdi5tb2JpbGUgaDUsIC5yZXNvdXJjZS1uYXYubW9iaWxlIGg2LFxuLnJlc291cmNlLW5hdi5tb2JpbGUgLmgxLCAucmVzb3VyY2UtbmF2Lm1vYmlsZSAuaDIsIC5yZXNvdXJjZS1uYXYubW9iaWxlIC5oMywgLnJlc291cmNlLW5hdi5tb2JpbGUgLmg0LCAucmVzb3VyY2UtbmF2Lm1vYmlsZSAuaDUsIC5yZXNvdXJjZS1uYXYubW9iaWxlIC5oNiB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnJlc291cmNlLW5hdi5tb2JpbGUgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnJlc291cmNlLW5hdi5tb2JpbGUgYS5idXR0b24ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5yZXNvdXJjZS1uYXYubW9iaWxlIGEuYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG59XG4ucmVzb3VyY2UtbmF2Lm1vYmlsZSBhLmJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4ucmVzb3VyY2UtbmF2Lm1vYmlsZSBhIHtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLnZpZGVvLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDYvamVzcy1zdHJhaWdodC1jdS1zY2FsZWQuanBlZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnZpZGVvLXdyYXAgaDEsIC52aWRlby13cmFwIGgyLCAudmlkZW8td3JhcCBoMywgLnZpZGVvLXdyYXAgaDQsIC52aWRlby13cmFwIGg1LCAudmlkZW8td3JhcCBoNixcbi52aWRlby13cmFwIC5oMSwgLnZpZGVvLXdyYXAgLmgyLCAudmlkZW8td3JhcCAuaDMsIC52aWRlby13cmFwIC5oNCwgLnZpZGVvLXdyYXAgLmg1LCAudmlkZW8td3JhcCAuaDYge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi52aWRlby13cmFwIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi52aWRlby13cmFwIGEuYnV0dG9uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udmlkZW8td3JhcCBhLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xufVxuLnZpZGVvLXdyYXAgYS5idXR0b246aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiA3LjY5MjMwNzY5MjNyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3LjY5MjMwNzY5MjNyZW07XG4gIHBhZGRpbmctbGVmdDogMy44NDYxNTM4NDYycmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAzLjg0NjE1Mzg0NjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIuMzA3NjkyMzA3N3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA1LjM4NDYxNTM4NDZyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52aWRlby13cmFwIC5wcm90ZWN0LXZpZGVvX3dyYXBwZXIge1xuICAgIHBhZGRpbmctbGVmdDogNi4xNTM4NDYxNTM4cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAudmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1LjM4NDYxNTM4NDZyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52aWRlby13cmFwIC5wcm90ZWN0LXZpZGVvX3dyYXBwZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwibm90by1zYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4udmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIGxhYmVsIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIGlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyLCAudmlkZW8td3JhcCAucHJvdGVjdC12aWRlb193cmFwcGVyIGlucHV0W3R5cGU9ZW1haWxdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnZpZGVvLXdyYXAgLnByb3RlY3QtdmlkZW9fd3JhcHBlciAudG9wX2xhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi52aWRlby13cmFwIC5wcm90ZWN0LXZpZGVvX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjtcbn1cbi52aWRlby13cmFwIC5wcm90ZWN0LXZpZGVvX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dFt0eXBlPXN1Ym1pdF06YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZ2Zvcm0tYm9keSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbmZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwibm90by1zYW5zXCIsIHNhbnMtc2VyaWY7XG59XG5mb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGJhY2tncm91bmQ6ICNGQkU1NEQ7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDEwcHggMzVweDtcbiAgZm9udC1zaXplOiAxLjM4NDYxNTM4NDZyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIm5vdG8tc2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcCBpbnB1dFt0eXBlPXBhc3N3b3JkXTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc3Nztcbn1cblxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4ucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIgaDEsIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlciBoMiwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIGgzLCAucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIgaDQsIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlciBoNSwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIGg2LFxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oMSwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oMiwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oMywgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oNCwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oNSwgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIC5oNiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIGEge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlciBhLmJ1dHRvbiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIGEuYnV0dG9uLmhvbGxvdyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDAwMDA7XG59XG4ucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIgYS5idXR0b246aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmZ1bGwtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5mdWxsLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDExLjUzODQ2MTUzODVyZW07XG4gICAgcGFkZGluZy10b3A6IDcuNjkyMzA3NjkyM3JlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5mdWxsLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmZ1bGwtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTguNDYxNTM4NDYxNXJlbTtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmZ1bGwtaGVhZGVyIGgxIHtcbiAgcGFkZGluZy1ib3R0b206IDIuMzA3NjkyMzA3N3JlbTtcbn1cbi5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5mdWxsLWhlYWRlciBpbWcuYmFja2dyb3VuZCB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5mdWxsLWhlYWRlciBpbWcuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3R0b206IC0xNzVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIuZnVsbC1oZWFkZXIgaW1nLmJhY2tncm91bmQge1xuICAgIGJvdHRvbTogLTEzNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmZ1bGwtaGVhZGVyIGltZy5iYWNrZ3JvdW5kIHtcbiAgICBib3R0b206IC0xMjBweDtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmhhcy1pbWFnZSB7XG4gIHBhZGRpbmctdG9wOiAyLjg4NDYxNTM4NDZyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjg4NDYxNTM4NDZyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIuaGFzLWltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmhhcy1pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDQuNjE1Mzg0NjE1NHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmhhcy1pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5oYXMtaW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjYxNTM4NDYxNTRyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5oYXMtaW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxLjE1Mzg0NjE1MzhyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMTUzODQ2MTUzOHJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5oYXMtaW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1oZWFkZXIudG9vbGtpdC1oZWFkZXIuaGFzLWltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NDYxNTM4NDYycmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmhhcy1pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5oYXMtaW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjg0NjE1Mzg0NjJyZW07XG4gIH1cbn1cbi5wYWdlLWhlYWRlci50b29sa2l0LWhlYWRlci5oYXMtaW1hZ2UgLmhlYWRlci1pbWFnZSB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyLmhhcy1pbWFnZSAuaGVhZGVyLWltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuLnBhZ2UtaGVhZGVyLnRvb2xraXQtaGVhZGVyIGEge1xuICBjb2xvcjogIzBBNjA5OTtcbn1cblxuLnBhZ2UtbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjk2MTUzODQ2MTVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjk2MTUzODQ2MTVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2UtbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxLjUzODQ2MTUzODVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41Mzg0NjE1Mzg1cmVtO1xuICB9XG59XG4ucGFnZS1uYXZpZ2F0aW9uIC5jZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM3cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgei1pbmRleDogNTtcbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgei1pbmRleDogNjtcbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTIuNXB4O1xuICB0b3A6IDE2cHg7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCAjZmZmZmZmO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyOjpiZWZvcmUsIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogN3B4IDEwcHg7XG4gIG9yZGVyOiAyO1xuICBmb250LXNpemU6IDEuMDc2OTIzMDc2OXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAwMDAwO1xuICB6LWluZGV4OiA1O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBvcmRlcjogaW5pdGlhbDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIGEge1xuICAgIGZvbnQtc2l6ZTogMS4yMzA3NjkyMzA4cmVtO1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1uYXZpZ2F0aW9uIC5jZWxsID4gLnBhZ2UtbmF2aWdhdGlvbi1jb250YWluZXIgYTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAjNDdCN0QxO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG9yZGVyOiAxO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1uYXZpZ2F0aW9uIC5jZWxsID4gLnBhZ2UtbmF2aWdhdGlvbi1jb250YWluZXIgYS5pcy1hY3RpdmUge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGNvbG9yOiAjMEE2MDk5O1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGhlaWdodDogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDAwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gIH1cbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIGE6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKS5pcy1hY3RpdmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMDAwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKS5pcy1hY3RpdmUge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cbi5wYWdlLW5hdmlnYXRpb24gLmNlbGwgPiAucGFnZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmlzLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtbmF2aWdhdGlvbiAuY2VsbCA+IC5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIGEuaXMtYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG59XG4ucGFnZS1uYXZpZ2F0aW9uIC5jZWxsIGEuYnV0dG9uIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nOiA5cHggMTVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb24gLmNlbGwgYS5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ucGFnZS1uYXZpZ2F0aW9uOm5vdCguaXMtc3R1Y2spIC5jZWxsID4gZGl2IGE6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wYWdlLW5hdmlnYXRpb246bm90KC5pcy1zdHVjaykgLmNlbGwgPiBkaXYgYTpmaXJzdC1jaGlsZCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gIH1cbn0iLCIvLyBGb250cyBmb3IgdXNlIGluIHRoZSBwcm9qZWN0XG5cbiRzYW5zLXNlcmlmOiAnbm90by1zYW5zJywgc2Fucy1zZXJpZjtcbiRzZXJpZjogJ25vdG8tc2VyaWYnLCBzZXJpZjtcbiRjb25kOiAnbm90by1zYW5zLWNvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4kbm9ybWFsOiBub3JtYWw7XG4kYm9sZDogYm9sZDtcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvaWNvbW9vbi5lb3Q/cGhjM21kJyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90P3BoYzNtZCNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9pY29tb29uLndvZmYyP3BoYzNtZCcpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9pY29tb29uLnR0Zj9waGMzbWQnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmP3BoYzNtZCcpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uc3ZnP3BoYzNtZCNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICBzcGVhazogbmV2ZXI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tcGxheWVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tbmV3LXRhYjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLW91dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWV4dGVybmFsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLmljb24tb3V0c2lkZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLXBvcG91dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuXG4uaWNvbi1ibGFuazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcbiRtZWRpdW0tZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiRsYXJnZS1mb250LXNpemU6IHJlbS1jYWxjKDE1cHgpO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiRib2R5LXNhZmUtcGFkZGluZzogZmFsc2U7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogJG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6ICRib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBcInNtYWxsXCI6IDAsXG4gIFwibWVkaXVtXCI6IDY0MHB4LFxuICBcIm1lZC1sZ1wiIDogODQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pO1xuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIFwiaGlkcGktMVwiOiAxLFxuICBcImhpZHBpLTEtNVwiOiAxLjUsXG4gIFwiaGlkcGktMlwiOiAyLFxuICBcInJldGluYVwiOiAyLFxuICBcImhpZHBpLTNcIjogM1xuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIFwic21hbGxcIjogMjVweCxcbiAgXCJtZWRpdW1cIjogMzVweCxcbiAgXCJsYXJnZVwiOiA0MHB4XG4pO1xuJGdyaWQtcm93LWd1dHRlcjogKFxuICBcInNtYWxsXCI6IDUwcHgsXG4gIFwibWVkaXVtXCI6IDcwcHgsXG4gIFwibGFyZ2VcIjogOTBweFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDNiLiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgXCJzbWFsbFwiOiAyNXB4LFxuICBcIm1lZGl1bVwiOiAzNXB4LFxuICBcImxhcmdlXCI6IDQwcHhcbik7XG4kZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzOiAoXG4gIFwic21hbGxcIjogNTBweCxcbiAgXCJtZWRpdW1cIjogNjVweCxcbiAgXCJsYXJnZVwiOiA4MHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyAzYy4gQ2FyZCBQYWRkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjYXJkLXBhZGRpbmctaG9yaXpvbnRhbDogKFxuICBcInNtYWxsXCI6IDIwcHgsXG4gIFwibWVkaXVtXCI6IDI1cHgsXG4gIFwibGFyZ2VcIjogMzBweFxuKTtcbiRjYXJkLXBhZGRpbmctdmVydGljYWw6IChcbiAgXCJzbWFsbFwiOiAxNXB4LFxuICBcIm1lZGl1bVwiOiAyMHB4LFxuICBcImxhcmdlXCI6IDI1cHhcbik7XG5cblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJHNlcmlmO1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiAkbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjU7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIFwic21hbGxcIjogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBcIm1lZGl1bVwiOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyOCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMiksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIFwibGFyZ2VcIjogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDIpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTgpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogaW5oZXJpdDtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlO1xuJGFuY2hvci1jb2xvcjogJGJsdWU7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjogdW5kZXJsaW5lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiRoci1tYXJnaW46IHJlbS1jYWxjKDI1KSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogbm9uZTtcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IGluaGVyaXQ7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJztcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMyc7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogaW5oZXJpdDtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogaW5oZXJpdDtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiBpbmhlcml0O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogaW5oZXJpdDtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IG5vbmU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGluaGVyaXQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDA7XG4kYnV0dG9uLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYyg0NSk7XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMnB4O1xuJGJ1dHRvbi1zaXplczogKFxuICBcInRpbnlcIjogMC42cmVtLFxuICBcInNtYWxsXCI6IDAuNzVyZW0sXG4gIFwiZGVmYXVsdFwiOiAxcmVtLFxuICBcImxhcmdlXCI6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtc2l6ZXM6IChcbiAgXCJzbWFsbFwiOiAwLjVyZW0sXG4gIFwiZGVmYXVsdFwiOiAxcmVtLFxuICBcImxhcmdlXCI6IDNyZW0sXG4pO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgXCJzbWFsbFwiOiAwLjY2cmVtLFxuICBcIm1lZGl1bVwiOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgXCJzbWFsbFwiOiAwLjMzZW0sXG4gIFwibWVkaXVtXCI6IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBcInNtYWxsXCI6IDEuNWVtLFxuICBcIm1lZGl1bVwiOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIFwidGlueVwiOiAxMDBweCxcbiAgXCJzbWFsbFwiOiAyMDBweCxcbiAgXCJsYXJnZVwiOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAxcmVtO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiBpbmhlcml0O1xuJGxhYmVsLXBhZGRpbmc6IHJlbS1jYWxjKDUpIHJlbS1jYWxjKDEwKTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgXCJzbWFsbFwiOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIFwic21hbGxcIjogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICogLjUpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuIiwiLy8gQ29sb3JzIGZvciB1c2UgaW4gdGhlIHByb2plY3RcbiR0b29sa2l0LWdyYXk6ICNmMmYyZjI7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRncmV5OiAjMzQzNDM0O1xuJGRhcmstZ3JheTogIzhhOGE4YTtcbiRibGFjazogIzAwMDAwMDtcbiR3aGl0ZTogI2ZmZmZmZjtcblxuLy8gVGhlbWUgQ29sb3JzXG4keWVsbG93OiAjRkJFNTREO1xuJGJsdWU6ICMwQTYwOTk7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG5cdFwicHJpbWFyeVwiOiAjMDAwMDAwLFxuXHRcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuXHRcInN1Y2Nlc3NcIjogIzNhZGI3Nixcblx0XCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG5cdFwiYWxlcnRcIjogI2NjNGIzNyxcbik7XG5cbi8vIFRvb2xraXQgQ29sb3JzXG4kdG9vbGtpdC15ZWxsb3c6ICNmMGJlNDE7XG4kdG9vbGtpdC1ibHVlOiAjNDdCN0QxO1xuJHB1cnBsZTogI0FEQkNGNDtcbiRsaWdodC15ZWxsb3c6IHJnYmEoI2YwYmU0MSwgLjI1KTtcbiRsaWdodC1ibHVlOiByZ2JhKCM0N0I3RDEsIC4yNSk7XG4kbGlnaHQtcHVycGxlOiAjZWFlZWZjO1xuJGRhcmstcHVycGxlOiAjMkEyMzQzO1xuJGJsdWUtbGluZTogIzFmN2VhZDsiLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAqIDAuNSArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgJWNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJWNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgfVxuXG4gICVjb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJHZlcnRpY2FsOiAkdmVydGljYWwsICRvdXRwdXQ6IChzaXplIGd1dHRlcnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogcGFkZGluZywgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBtYXJnaW4sICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAvLyAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiO1xuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgKiAwLjU7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogMC41O1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJG1nYzogcmVtLWNhbGMoJG1nKTtcbiAgICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAkbWdjOiAwcmVtO1xuICAgIH1cbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ2N9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIGJyZWFrcG9pbnQgdG8gdXNlIGZvciB0aGUgY2VsbCBnZW5lcmF0aW9uLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIGNvcnJlY3RseSBvdGhlcndpc2UuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkbikpO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsLCAkb3V0cHV0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIHBhZGRpbmctI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIHRvIG9mZnNldCBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ30gVGhlIGNlbGwgb2Zmc2V0IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJHNpemU6IHh5LWNlbGwtc2l6ZSgkbik7XG5cbiAgJG9mZnNldDogJHNpemU7XG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpKTtcbiAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICRndXR0ZXI6IDByZW07XG4gICAgfVxuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9IC8gMikpO1xuICB9XG4gIEByZXR1cm4gJG9mZnNldDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgeHktY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBmb3IgYCRndXR0ZXJzYC4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLiBJZiBhIGxpc3QgaXMgZ2l2ZW4sIG1lZGlhLXF1ZXJpZXMgd2lsbCBiZSBnZW5lcmF0ZWQuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIFNldHMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgb2Zmc2V0LiBJZiBzZXQgdG8gdHJ1ZSB3aWxsIGFwcGx5IG1hcmdpbi10b3AgaW5zdGVhZC5cbkBtaXhpbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICAgICBAaWYgJGd1dHRlciA9PSAwIHtcbiAgICAgICAgICAkZ3V0dGVyOiAwcmVtO1xuICAgICAgICB9XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgIGhlaWdodDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgd2lkdGg6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTW9kaWZpZXMgYSBjZWxsIHRvIGdpdmUgaXQgXCJibG9ja1wiIGJlaGF2aW9yIChvdmVyZmxvdyBhdXRvLCBpbmVydGlhbCBzY3JvbGxpbmcpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrKFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHByb3BlcnR5OiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgJ292ZXJmbG93LXknLCAnb3ZlcmZsb3cteCcpO1xuXG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLy8vIENvbnRhaW5lciBmb3IgaW5zaWRlIGEgZ3JpZCBmcmFtZSBjb250YWluaW5nIG11bHRpcGxlIGJsb2Nrcy4gVHlwaWNhbGx5IHVzZWRcbi8vLyBhcyBhIG1vZGlmaWVyIGZvciBhIGAuY2VsbGAgdG8gYWxsb3cgdGhlIGNlbGwgdG8gcGFzcyBhbG9uZyBmbGV4IHNpemluZ1xuLy8vIGNvbnN0cmFpbnRzIC8gZnJvbSBwYXJlbnRzIHRvIGNoaWxkcmVuLlxuQG1peGluIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJHByaW1hcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi4vaW1nL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9V29yZFByZXNzIENvcmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWxpZ25ub25lIHtcbiAgICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLmFsaWduY2VudGVyLFxuZGl2LmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCBhdXRvIDVweCBhdXRvO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbmEgaW1nLmFsaWdubm9uZSB7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjA7XG4gICAgbWF4LXdpZHRoOiA5NiU7IC8qIEltYWdlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEgKi9cbiAgICBwYWRkaW5nOiA1cHggM3B4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuLndwLWNhcHRpb24gaW1nIHtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogOTguNSU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLndwLWNhcHRpb24gcC53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG4vKiBUZXh0IG1lYW50IG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzLiAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMXB4O1xuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50OyAvKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3JkcyBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS4gKi9cbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdGNsaXA6IGF1dG8gIWltcG9ydGFudDtcblx0Y2xpcC1wYXRoOiBub25lO1xuXHRjb2xvcjogIzQ0NDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRoZWlnaHQ6IGF1dG87XG5cdGxlZnQ6IDVweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0cGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dG9wOiA1cHg7XG5cdHdpZHRoOiBhdXRvO1xuXHR6LWluZGV4OiAxMDAwMDA7XG5cdC8qIEFib3ZlIFdQIHRvb2xiYXIuICovXG59XG5cbi8qIFdvcmRQcmVzcyBHYWxsZXJ5IFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5nYWxsZXJ5IHtcblx0bWFyZ2luLWxlZnQ6IC0wLjVlbTtcblx0bWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG5cbi5nYWxsZXJ5OmFmdGVyIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGNsZWFyOiBib3RoO1xufVxuXG4uZ2FsbGVyeS1pdGVtIHtcblx0bWFyZ2luOiAwO1xuXHRmbG9hdDogbGVmdDtcblx0cGFkZGluZzogMC41ZW07XG59XG5cbi5nYWxsZXJ5LWl0ZW0gaW1nIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogNTAlXG59XG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlXG59XG4uZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDI1JVxufVxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAyMCVcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTYuNjY2NyVcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTQuMjg1NyVcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTIuNSVcbn1cbi5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMTEuMTExMSVcbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpLFxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDNuKzEpLFxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDRuKzEpLFxuLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDVuKzEpLFxuLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDZuKzEpLFxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDduKzEpLFxuLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDhuKzEpLFxuLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW06bnRoLWNoaWxkKDluKzEpIHtcblx0Y2xlYXI6IGxlZnQ7XG59IiwiLy8gQm9keSBmb250IHNpemVzXG5ib2R5IHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6ICRtZWRpdW0tZm9udC1zaXplO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRmb250LXNpemU6ICRsYXJnZS1mb250LXNpemU7XG5cdH1cbn1cbnAuc21hbGxlci5ibHVlIHtcblx0Y29sb3I6ICR0b29sa2l0LWJsdWU7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5wLnNtYWxsZXIucHVycGxlIHtcblx0Y29sb3I6ICRkYXJrLXB1cnBsZTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbnAubGFyZ2Uge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XG5cdH1cbn1cbmgxIHtcblx0Ji55ZWxsb3cge1xuXHRcdGNvbG9yOiAkeWVsbG93O1xuXHRcdGZvbnQtZmFtaWx5OiAkY29uZDtcblx0fVxuXHQmLnNlcmlmIHtcblx0XHRmb250LWZhbWlseTogJHNlcmlmO1xuXHR9XG59XG5oMiB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdCYuc2VyaWYuYmx1ZSB7XG5cdFx0Y29sb3I6ICRibHVlLWxpbmU7XG5cdFx0Zm9udC1mYW1pbHk6ICRzZXJpZjtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG59XG5oMyB7XG5cdCYuc2Fucy1zZXJpZiB7XG5cdFx0Zm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0fVxuXHRcdCYuYmx1ZSB7XG5cdFx0XHRjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbmEge1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXIgY2xhc3Ncbi52ZXJ0aWNhbC1jZW50ZXIge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBBY2Nlc3NpYmxlIGJ1dCB2aXN1YWxseSBoaWRkZW5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gUmV2ZXJzZSBjb2x1bW5zIGZvciBtb2JpbGVcbi5yZXZlcnNlLW1vYmlsZSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcblx0XHQmPi5jZWxsOmZpcnN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXHRcdH1cblx0XHQmPi5jZWxsOmxhc3QtY2hpbGQge1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0Jj4uY2VsbDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRvcmRlcjogMTtcblx0XHR9XG5cdFx0Jj4uY2VsbDpsYXN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAyO1xuXHRcdH1cblx0fVxufVxuXG4vLyBUZXh0IGJ1dHRvblxuLnRleHQtYnV0dG9uIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6ICRibHVlO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8vIEFkZGl0aW9uYWwgYnV0dG9uIHN0eWxlc1xuLmJ1dHRvbiB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn0iLCIvLyBBY2Nlc3NpYmxlIHNraXAgdG8gbWFpbiBsaW5rXG4uYWNjZXNzaWJpbGl0eS1uYXYge1xuXHQuc2tpcC10by1tYWluIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMTAwMHB4O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDM1cHg7XG5cdFx0ei1pbmRleDogOTk5OTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cdC5za2lwLXRvLW1haW46Zm9jdXMge1xuXHRcdHRvcDogMDtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdHBhZGRpbmc6IDJweCAxMHB4O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXHRcdGJvcmRlci10b3A6IDA7XG5cdH1cblx0LnNraXAtdG8tbWFpbjpob3ZlciB7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHR9XG59XG5cbi8vIFNpdGV3aWRlIGFsZXJ0XG4uYWxlcnQtYmFyIHtcblx0QGluY2x1ZGUgd2hpdGUtdGV4dDtcblx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRwYWRkaW5nOiAxMHB4IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogNTtcblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0fVxuXHRhIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cdC5jbG9zZS1idXR0b24ge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dG9wOiAwLjNyZW07XG5cdH1cbn1cblxuLy8gTWFpbiBIZWFkZXJcbmhlYWRlci5oZWFkZXIge1xuXHQubmF2aWdhdGlvbi1jb250YWluZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDE1cHggMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMCk7XG5cdFx0dHJhbnNpdGlvbjogMjAwbXMgaGVpZ2h0O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC41KTtcblx0XHR9XG5cdFx0LmxvZ28ge1xuXHRcdFx0dHJhbnNpdGlvbjogMjAwbXMgYWxsO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0d2lkdGg6IDE2NXB4O1xuXHRcdH1cblx0XHQmLmlzLXN0dWNrIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAxKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAxMHB4IDAgcmdiYSgkYmxhY2ssIC4yNSk7XG5cdFx0XHQubG9nbyB7XG5cdFx0XHRcdHdpZHRoOiAxNTBweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHR3aWR0aDogMTUwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRcdHdpZHRoOiAxNzVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnBhZ2UtaGVhZGVyIHtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGluY2x1ZGUgd2hpdGUtdGV4dDtcblx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHQmLmhhcy1pbWFnZSwmLnBhZ2UtaGVhZGVyLWltYWdlIHtcblx0XHQub3ZlcmxheSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywuNSk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblx0fVxuXHQuaGVhZGVyLWNvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHAge1xuXHRcdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0Ji5zbWFsbGVyIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Ji5ibHVlLCYucHVycGxlIHtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ji5oZWFkZXItbG9nbyB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRoMSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdCYueWVsbG93IHtcblx0XHRcdFx0Y29sb3I6ICR5ZWxsb3c7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4uaG9tZSB7XG5cdC5wYWdlLWhlYWRlciB7XG5cdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZygyLCB0cnVlLCBmYWxzZSk7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0LnBhZ2UtaGVhZGVyLWNvbnRlbnQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdHAge1xuXHRcdFx0XHQmLnNtYWxsZXIge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcblx0XHRcdGgxIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcblx0XHRcdFx0Ji55ZWxsb3cge1xuXHRcdFx0XHRcdGNvbG9yOiAkeWVsbG93O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKDEsIGZhbHNlLCB0cnVlKTtcblx0XHR9XG5cdFx0LmZpbG0tbG9nb3Mge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNSwgZmFsc2UsIHRydWUpO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdC5maWxtLWxvZ28ge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA4MCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5wYWdlLWhlYWRlci1pbWFnZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0fVxuXHRcdFxuXHRcdCYucGFnZS1oZWFkZXItdmlkZW8ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dmlkZW8uYmFja2dyb3VuZC12aWRlbyB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblx0XHQucG9wLXVwLWJ1dHRvbiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdFx0LnBvcC11cC1jb250YWluZXIge1xuXHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIC44KTtcblx0XHRcdFxuXHRcdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRcdC52aWRlby1ib3gge1xuXHRcdFx0XHRcdG1heC13aWR0aDogOTAlO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDkwJTtcblx0XHRcdFx0XHR3aWR0aDogNzAlO1xuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDFyZW0gM3JlbSAycmVtO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4vLyBNYWluIG5hdmlnYXRpb25cbm5hdi5tYWluLW5hdiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0Jj51bCB7XG5cdFx0QGluY2x1ZGUgY2xlYW4tbGlzdDtcblx0XHQmPmxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCY+YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdH1cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHQmPmEge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Jj5hIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLm5hdi1idXR0b24ge1xuXHRcdFx0XHQmPmEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4+YSB7XG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdCAgXHRib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0ICBcdGJvcmRlci10b3A6IDVweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRcdCAgXHRtYXJnaW4tbGVmdDogOHB4O1xuXHRcdFx0XHQgIFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm5hdi1vcGVuPmEge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0ICBcdGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHQgIFx0Ym9yZGVyLXRvcDogMDtcblx0XHRcdFx0ICBcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY+dWwuc3ViLW1lbnUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRAaW5jbHVkZSBjbGVhbi1saXN0O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRAaW5jbHVkZSBob3Jpem9udGFsLXBhZGRpbmcoLjIpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0ei1pbmRleDogMztcblx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IC02cHg7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRibGFjaztcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdCY+bGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmPmEge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gTW9iaWxlIG5hdiB0b2dnbGVcbi5tb2JpbGUtbmF2LXRvZ2dsZSB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdFx0d2lkdGg6IDQ0cHg7XG5cdFx0cGFkZGluZy10b3A6IDEwcHg7XG5cdFx0ZGl2IHtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdFx0d2lkdGg6IDM1cHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogOXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gTW9iaWxlIG9mZi1jYW52YXMgbmF2aWdhdGlvblxuLm9mZi1jYW52YXMge1xuXHRiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cdEBpbmNsdWRlIHdoaXRlLXRleHQ7XG5cdHVsLm9mZi1jYW52YXMtbmF2aWdhdGlvbiB7XG5cdFx0QGluY2x1ZGUgY2xlYW4tbGlzdDtcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblx0XHQmPmxpe1xuXHRcdFx0Jj5hIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0cGFkZGluZzogMTBweCAyNXB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0fVxuXHRcdFx0Ji5tZW51LWl0ZW0taGFzLWNoaWxkcmVuPmEge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDVweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ji5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm5hdi1vcGVuPmEge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXItdG9wOiAwO1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHVsLnN1Yi1tZW51IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0QGluY2x1ZGUgY2xlYW4tbGlzdDtcblx0XHRcdFx0Jj5saSB7XG5cdFx0XHRcdFx0Jj5hIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogOHB4IDQwcHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLy8gQWNjZXNzaWJsZSBjbG9zZSBvZmYtY2FudmFzIGJ1dHRvblxuLmNsb3NlLW9mZi1jYW52YXMge1xuXHRjb2xvcjogJHdoaXRlO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogLTQwcHg7XG5cdHJpZ2h0OiAwO1xuXHRsaW5lLWhlaWdodDogMzVweDtcblx0ei1pbmRleDogOTk5OTtcbn1cbi5jbG9zZS1vZmYtY2FudmFzOmZvY3VzIHtcblx0bGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDUwcHgpO1x0XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yXHQ7XG59IiwiLy8gVmVydGljYWwgcGFkZGluZ1xuQG1peGluIHZlcnRpY2FsLXBhZGRpbmcoICR2YWx1ZToxLCAkdG9wOnRydWUsICRib3R0b206dHJ1ZSApIHtcbiAgQGlmICR0b3Age1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdzbWFsbCcpKiR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdtZWRpdW0nKSokdmFsdWUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAnbGFyZ2UnKSokdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAnc21hbGwnKSokdmFsdWUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAnbWVkaXVtJykqJHZhbHVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgJ2xhcmdlJykqJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgbWFyZ2luXG5AbWl4aW4gdmVydGljYWwtbWFyZ2luKCAkdmFsdWU6MSwgJHRvcDp0cnVlLCAkYm90dG9tOnRydWUgKSB7XG4gIEBpZiAkdG9wIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdzbWFsbCcpKiR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgJ21lZGl1bScpKiR2YWx1ZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgJ2xhcmdlJykqJHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAnc21hbGwnKSokdmFsdWUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdtZWRpdW0nKSokdmFsdWUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdsYXJnZScpKiR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIGRlZHVjdCBwYWRkaW5nXG5AbWl4aW4gZGVkdWN0LXBhZGRpbmcoICR2YWx1ZToxICkge1xuICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdzbWFsbCcpKi0kdmFsdWUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgJ21lZGl1bScpKi0kdmFsdWUpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsICdsYXJnZScpKi0kdmFsdWUpO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgcGFkZGluZ1xuQG1peGluIGhvcml6b250YWwtcGFkZGluZyggJHZhbHVlOjEsICRsZWZ0OnRydWUsICRyaWdodDp0cnVlICkge1xuICBAaWYgJGxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnc21hbGwnKSokdmFsdWUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ21lZGl1bScpKiR2YWx1ZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnbGFyZ2UnKSokdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ3NtYWxsJykqJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnbWVkaXVtJykqJHZhbHVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnbGFyZ2UnKSokdmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIb3Jpem9udGFsIG1hcmdpblxuQG1peGluIGhvcml6b250YWwtbWFyZ2luKCAkdmFsdWU6MSwgJGxlZnQ6dHJ1ZSwgJHJpZ2h0OnRydWUgKSB7XG4gIEBpZiAkbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ3NtYWxsJykqJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJ21lZGl1bScpKiR2YWx1ZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdsYXJnZScpKiR2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRyaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdzbWFsbCcpKiR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAnbWVkaXVtJykqJHZhbHVlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyhtYXAtZ2V0KCRncmlkLWNvbHVtbi1ndXR0ZXIsICdsYXJnZScpKiR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIENhcmQgcGFkZGluZ1xuQG1peGluIGNhcmQtcGFkZGluZyggJHZhbHVlOjEgKSB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKG1hcC1nZXQoJGNhcmQtcGFkZGluZy12ZXJ0aWNhbCwgJ3NtYWxsJykqJHZhbHVlKSByZW0tY2FsYyhtYXAtZ2V0KCRjYXJkLXBhZGRpbmctaG9yaXpvbnRhbCwgJ3NtYWxsJykqJHZhbHVlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyhtYXAtZ2V0KCRjYXJkLXBhZGRpbmctdmVydGljYWwsICdtZWRpdW0nKSokdmFsdWUpIHJlbS1jYWxjKG1hcC1nZXQoJGNhcmQtcGFkZGluZy1ob3Jpem9udGFsLCAnbWVkaXVtJykqJHZhbHVlKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMobWFwLWdldCgkY2FyZC1wYWRkaW5nLXZlcnRpY2FsLCAnbGFyZ2UnKSokdmFsdWUpIHJlbS1jYWxjKG1hcC1nZXQoJGNhcmQtcGFkZGluZy1ob3Jpem9udGFsLCAnbGFyZ2UnKSokdmFsdWUpO1xuICB9XG59XG5cbi8vIENsZWFuIGEgbGlzdFxuQG1peGluIGNsZWFuLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8gUmVtb3ZlIGxhc3QgY2hpbGQgYm90dG9tIG1hcmdpblxuQG1peGluIGNsZWFuLWxhc3QtY2hpbGQge1xuICAmPio6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBNYWtlIHRleHQgd2hpdGVcbkBtaXhpbiB3aGl0ZS10ZXh0IHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbiAgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICYuYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWFrZSB0ZXh0IGJsYWNrXG5AbWl4aW4gYmxhY2stdGV4dCB7XG4gIGNvbG9yOiAkYmxhY2s7XG5cbiAgaDEsaDIsaDMsaDQsaDUsaDYsXG4gIC5oMSwuaDIsLmgzLC5oNCwuaDUsLmg2IHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgICYuYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRibGFjaywgLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJY29uIHN0eWxlc1xuQG1peGluIGljb24tc3R5bGVzIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi8vIE1ha2UgYmFja2dyb3VuZCBpbWFnZSBjb3ZlciBjb250YWluZXJcbkBtaXhpbiBiYWNrZ3JvdW5kLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLy8gSW1hZ2UgQ292ZXJcbkBtaXhpbiBpbWFnZS1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIi8vIFBhZ2UgSGVhZGVyXG4ucGFnZS1oZWFkZXIge1xuXHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKDIpO1xuXHQuY2VsbCB7XG5cdFx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0fVxuXHQvLyAmKy5wYWdlLXNlY3Rpb24ud2hpdGUtYmcge1xuXHQvLyBcdHBhZGRpbmctdG9wOiAwO1xuXHQvLyB9XG59XG5cbi8vIFBhZ2UgU2VjdGlvbnNcbi5wYWdlLXNlY3Rpb24ge1xuXHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nO1xuXG5cdC8vIFRyYW5zcGFyZW50IGJhY2tncm91bmRcblx0Ji50cmFuc3BhcmVudC1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblx0XHQmKyYge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gV2hpdGUgYmFja2dyb3VuZFxuXHQmLndoaXRlLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0JismIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vIEJsYWNrIEJhY2tncm91bmRcblx0Ji5ibGFjay1iZyB7XG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdEBpbmNsdWRlIHdoaXRlLXRleHQ7XG5cdFx0JismIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vIFllbGxvdyBCYWNrZ3JvdW5kXG5cdCYueWVsbG93LWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuXHRcdEBpbmNsdWRlIGJsYWNrLXRleHQ7XG5cdFx0JismIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkYmx1ZTtcblx0XHR9XG5cdH1cblxuXHQvLyBCbHVlIGJhY2tncm91bmRcblx0Ji5ibHVlLWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHQmKyYge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gTGlnaHQgZ3JleSBiYWNrZ3JvdW5kXG5cdCYubGlnaHQtZ3JleS1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cdFx0JismIHtcblx0XHRcdHBhZGRpbmctdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC8vIERhcmsgZ3JleSBiYWNrZ3JvdW5kXG5cdCYuZGFyay1ncmV5LWJnIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdCYrJiB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cdH1cblxuXHQvLyBMaWdodCBZZWxsb3cgQmFja2dyb3VuZFxuXHQmLmxpZ2h0LXllbGxvdy1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXllbGxvdztcblx0XHQmKyYge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gTGlnaHQgQmx1ZSBCYWNrZ3JvdW5kXG5cdCYubGlnaHQtYmx1ZS1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWU7XG5cblx0XHQmKyYge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gTGlnaHQgR3JlZW4gQmFja2dyb3VuZFxuXHQmLmxpZ2h0LXB1cnBsZS1iZyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LXB1cnBsZTtcblx0XHQmKyYge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW50cm8gc2VjdGlvblxuXHQuaW50cm8tc2VjdGlvbiwuaW50cm8geyBcblx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKCAxLCBmYWxzZSwgdHJ1ZSApO1xuXHRcdC5jZWxse1xuXHRcdFx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0XHRcdC55ZWxsb3ctYm9yZGVyIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93O1xuXHRcdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbiguMywgZmFsc2UsIHRydWUpO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHVsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDI1cHg7XG5cdFx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0XHRsaSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBQYWdpbmF0aW9uXG4ucGFnaW5hdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXHQucGFnZS1udW1iZXJzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG5cdFx0d2lkdGg6IDMycHg7XG5cdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHRcdCYuZG90cyxcblx0XHQmLmN1cnJlbnQge1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0XHQmLmRvdHMge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHR9XG5cdFx0Ji5uZXh0IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5wcmV2IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vIE9uZSBDb2x1bW5cbi5wYWdlLXNlY3Rpb24ub25lLWNvbHVtbiB7XG5cdC5jZWxsIHtcblx0XHRAaW5jbHVkZSBjbGVhbi1sYXN0LWNoaWxkO1xuXHRcdC55ZWxsb3ctYm9yZGVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93O1xuXHRcdFx0QGluY2x1ZGUgdmVydGljYWwtbWFyZ2luKC4zLCBmYWxzZSx0cnVlKTtcblx0XHR9XG5cdFx0LnB1cnBsZS1hcnJvdyB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC41LCBmYWxzZSwgdHJ1ZSk7XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogMTAlO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdHdpZHRoOiA1JTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmKy53aGl0ZS1iZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4vLyBUd28gQ29sdW1uXG4ucGFnZS1zZWN0aW9uLnR3by1jb2x1bW4ge1xuXHQmLmNvbnRhaW5lci13aWR0aCB7XG5cdFx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdFx0bWFyZ2luOiAycmVtIDEycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdG1hcmdpbjo1MHB4IGF1dG8gOTBweDtcblx0XHR9XG5cdFx0Ji5saWdodC15ZWxsb3ctYmcge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRvb2xraXQteWVsbG93O1xuXHRcdH1cblx0XHQmLmxpZ2h0LWJsdWUtYmcge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRvb2xraXQtYmx1ZTtcblx0XHR9XG5cdFx0Ji5saWdodC1wdXJwbGUtYmcge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHB1cnBsZTtcblx0XHR9XG5cdFx0LnR3by1jb2x1bW4tY29udGVudCB7XG5cdFx0XHQmPi5jZWxsIHtcblx0XHRcdFx0QGluY2x1ZGUgaG9yaXpvbnRhbC1wYWRkaW5nKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQudHdvLWNvbHVtbi1jb250ZW50IHtcblx0XHQmPi5jZWxsIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFuLWxhc3QtY2hpbGQ7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNzUsIGZhbHNlLCB0cnVlKTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aW1nKyoge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHRcdH1cblx0XHRcdC55ZWxsb3ctYm9yZGVyIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93O1xuXHRcdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1tYXJnaW4oLjMsIGZhbHNlLCB0cnVlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5yZXZlcnNlLW1vYmlsZSB7XG5cdFx0XHQmPi5jZWxsOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHQmPi5jZWxsOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC43NSwgZmFsc2UsIHRydWUpO1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIENvbnRlbnQgQmxvY2tzXG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzIHtcblx0LmNvbnRlbnQtYmxvY2tzLWNvbnRhaW5lciB7XG5cdFx0QGluY2x1ZGUgZGVkdWN0LXBhZGRpbmcoLjc1KTtcblx0XHQuY2VsbCB7XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC43NSwgZmFsc2UsIHRydWUpO1xuXHRcdFx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0XHRcdC5jb250ZW50LWJsb2Nrcy1pbWFnZS5jaXJjbGUge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHR3aWR0aDogMjc1cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5jb250ZW50LWJsb2Nrcy1pbWFnZS5pY29uIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY29udGVudC1ibG9ja3MtaW1hZ2UrKiB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdFx0fVxuXHRcdFx0LnllbGxvdy1ib3JkZXIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiA2cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR5ZWxsb3c7XG5cdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbiguMywgZmFsc2UsIHRydWUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBUb29sa2l0IENvbnRlbnQgQmxvY2tzXG4ucGFnZS1zZWN0aW9uLmNvbnRlbnQtYmxvY2tzLXRvb2xraXQge1xuXHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKDEsIHRydWUsIGZhbHNlKTtcblx0cGFkZGluZy1ib3R0b206MDtcblx0XHQuY29udGVudC1ibG9ja3MtY29udGFpbmVyIHtcblx0XHRcdC50b29sa2l0LWJsb2NrcyB7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTM4cHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtMzhweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuY2VsbCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNjUsIGZhbHNlLCB0cnVlKTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0XHRcdFx0QGluY2x1ZGUgaG9yaXpvbnRhbC1wYWRkaW5nKDEpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0XHRcdFx0XHRAaW5jbHVkZSBjbGVhbi1sYXN0LWNoaWxkO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCYubGlnaHQtYmx1ZS1iZyB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0b29sa2l0LWJsdWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYubGlnaHQtcHVycGxlLWJnIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1wdXJwbGU7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkcHVycGxlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLmxpZ2h0LXllbGxvdy1iZyB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQteWVsbG93O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHRvb2xraXQteWVsbG93O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuY29udGVudC1ibG9ja3MtaW1hZ2UuY2lyY2xlIHtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMTVweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDIxNXB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA0MHB4IGF1dG8gMjBweDtcblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAyNzVweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY29udGVudC1ibG9ja3MtaW1hZ2UuaWNvbiB7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDQwcHggYXV0byAyMHB4O1xuXHRcdFx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5jb250ZW50LWJsb2Nrcy1pbWFnZSsqIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5idXR0b24ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1tYXJnaW4oLjQpO1xuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbiguNCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHQmKy5wYWdlLXNlY3Rpb24udHdvLWNvbHVtbiB7XG5cdFx0QGluY2x1ZGUgdmVydGljYWwtbWFyZ2luKC4xLCB0cnVlLCBmYWxzZSk7XG5cdH1cbn1cblxuLy8gTG9nbyBCbG9ja3Ncbi5wYWdlLXNlY3Rpb24ubG9nby1ibG9ja3Mge1xuXHQmLnNwYWNpbmctYm90dG9tIHtcblx0XHRcdC5zcGFjZS1ib3JkZXIge1xuXHRcdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC44NSwgZmFsc2UsIHRydWUpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcblx0XHRcdH1cblx0XHRcdCYrLnBhZ2Utc2VjdGlvbiB7XG5cdFx0XHRcdC8vIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHQubG9nby1ibG9ja3MtY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBkZWR1Y3QtcGFkZGluZyguNzUpO1xuXG5cdFx0LmNlbGwge1xuXHRcdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguMywgZmFsc2UsIHRydWUpO1xuXHRcdFx0Ly8gQGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblxuXHRcdFx0LmxvZ28tYmxvY2tzLWltYWdlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdGltZyB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHR9XG5cdFx0XG5cdH1cblx0LnRocmVlLWJsb2NrcyB7XG5cdFx0LmNlbGwge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IGNhbGMoKDMzLjMzM3Z3IC0gMzVweCkgLyAyKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogY2FsYygoMzMuMzMzdncgLSA0MHB4KSAvIDIpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMTMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LmZvdXItYmxvY2tzIHtcblx0XHQuY2VsbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRpbWcge1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBjYWxjKCgyNXZ3IC0gMzVweCkgLyAuNyk7XG5cdFx0XHRcdH1cblx0XHRcdFxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogY2FsYygoMjV2dyAtIDQwcHgpICogLjcpO1xuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdFx0Ly8gQ2FsY3VsYXRlZCBiYXNlZCBvbiBvdXIgbWF4IHdpZHRoIG9mIDEyMDAgb24gZ3JpZC1jb250YWluZXIgKCAoMTIwMC80IC0gNDApIC8gMilcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQuZml2ZS1ibG9ja3Mge1xuXHRcdC5jZWxsIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBjYWxjKCgyMHZ3IC0gMzVweCkgLyAuNyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogY2FsYygoMjB2dyAtIDQwcHgpICogLjcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gQ2FsY3VsYXRlZCBiYXNlZCBvbiBvdXIgbWF4IHdpZHRoIG9mIDEyMDAgb24gZ3JpZC1jb250YWluZXIgKCAoMTIwMC80IC0gNDApIC8gMilcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMzBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmKy5jb250ZW50LWJsb2Nrcy53aGl0ZS1iZyB7XG5cdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZygxLCB0cnVlLCBmYWxzZSk7XG5cdH1cbn1cblxuLy8gSW1hZ2Ugb3ZlcmxheVxuLnBhZ2Utc2VjdGlvbi5pbWFnZS1vdmVybGF5IHtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKDIpO1xuXHRcdEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbigxLCBmYWxzZSwgdHJ1ZSk7XG5cdFx0LmdyaWQteC5jZW50ZXIge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0fVxuXHRcdC5ncmlkLXgucmlnaHQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cdH1cblx0LmltYWdlLWJnIHtcblx0XHRoZWlnaHQ6IDIyNXB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cdH1cblx0LmNlbGwge1xuXHRcdEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoMSk7XG5cdFx0QGluY2x1ZGUgaG9yaXpvbnRhbC1wYWRkaW5nKDEuNzUpO1xuXHRcdEBpbmNsdWRlIGNsZWFuLWxhc3QtY2hpbGQ7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLy8gQ2Fyb3VzZWwgb3ZlcmxheVxuLnBhZ2Utc2VjdGlvbi5jYXJvdXNlbC1vdmVybGF5IHtcblx0cGFkZGluZy10b3A6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoMiwgdHJ1ZSwgZmFsc2UpO1xuXHRcdC5ncmlkLXguY2VudGVyIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuXHRcdC5ncmlkLXgucmlnaHQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cdH1cblxuXHQuaW1hZ2UtYmcge1xuXHRcdGhlaWdodDogMjI1cHg7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cdC5jYXJvdXNlbCB7XG5cdFx0ei1pbmRleDogMjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdC50LXNsaWRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0LnQtc2xpZGUge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoLjcsIHRydWUsIGZhbHNlKTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDI1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBob3Jpem9udGFsLXBhZGRpbmcoMS44KTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2xpZGUtY29weSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzVweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudC1wb3NpdGlvbiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVydGljYWwtbWFyZ2luKC43LCBmYWxzZSwgdHJ1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHVsIHtcblx0XHRcdFx0Ji5zbGljay1kb3RzIHtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0Ym90dG9tOiAyMHB4O1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gRXhwYW5kYWJsZSBDb250ZW50XG4ucGFnZS1zZWN0aW9uLmV4cGFuZGFibGUtY29udGVudCB7XG5cdC5hY2NvcmRpb24ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdC5hY2NvcmRpb24taXRlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHRcdGEuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdFx0QGluY2x1ZGUgY2FyZC1wYWRkaW5nO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA2M3B4O1xuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDczcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0aDMge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdFx0XHRcdHdpZHRoOiAzM3B4O1xuXHRcdFx0XHRcdGhlaWdodDogMzNweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0XHRyaWdodDogMjVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LmFjY29yZGlvbi1jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIGNhcmQtcGFkZGluZztcblx0XHRcdEBpbmNsdWRlIGNsZWFuLWxhc3QtY2hpbGQ7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdCtwIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIENUQVxuLnBhZ2Utc2VjdGlvbi5jdGEge1xuXHRAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC44NSk7XG5cdC5jdGEtY29weSB7XG5cdFx0QGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0QGluY2x1ZGUgaG9yaXpvbnRhbC1wYWRkaW5nKDEsIGZhbHNlLCB0cnVlKTtcblx0XHR9XG5cdH1cblx0LmN0YS1idXR0b24ge1xuXHRcdC5idXR0b24uaG9sbG93IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0fVxufSIsImZvb3Rlci5mb290ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cdEBpbmNsdWRlIHdoaXRlLXRleHQ7XG5cdC5mb290ZXItY29udGVudCB7XG5cdFx0QGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNzUpO1xuXHRcdC5jZWxsIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFuLWxhc3QtY2hpbGQ7XG5cdFx0XHRAaW5jbHVkZSB2ZXJ0aWNhbC1tYXJnaW4oLjUsIGZhbHNlLCB0cnVlKTtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6ICR5ZWxsb3c7XG5cdFx0XHRcdCYuYnV0dG9uIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBcblx0XHRcdH1cblx0XHRcdCYuZm9vdGVyLW5hdmlnYXRpb24ge1xuXHRcdFx0XHQuZm9vdGVyLW5hdiB7XG5cdFx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY2xlYW4tbGlzdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuZm9vdGVyLWNvbnRhY3Qge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgICAgICAgICAgLmRpc2NsYWltZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgICAgICB9XG5cdFx0XHQmLmZvb3Rlci1zb2NpYWwge1xuXHRcdFx0XHR1bC5zb2NpYWwge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGNsZWFuLWxpc3Q7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbiguNSwgZmFsc2UsIHRydWUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA0NHB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDQ0cHg7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdFx0XHRwYXRoIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZpbGw6ICRibGFjaztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkeWVsbG93LC43KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQuc3Vic2NyaWJlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdG1hcmdpbjogMTVweCBhdXRvIDA7XG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5jb3B5cmlnaHQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdEBpbmNsdWRlIHdoaXRlLXRleHQ7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHRcdHAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdFx0dWwge1xuXHRcdFx0QGluY2x1ZGUgY2xlYW4tbGlzdDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdH1cblx0XHRcdGxpIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDNweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIGEge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA2cHg7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCBhIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5wcmVzcy1pbnRybyB7XG4gICAgQGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNCk7XG59XG4gICAgLnByZXNzLWl0ZW0ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAmLnBvc3QtbGlzdC10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNhbnMtc2VyaWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByZXNzLWJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0LWxpc3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4iLCIuc2NyZWVuaW5nLWludHJvIHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC40KTtcbn1cbi51cGNvbWluZy1pdGVtIHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC43NSk7XG4gICAgQGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgLnNjcmVlbmluZy1tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1pZC1jZWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0LW5hbWUge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcmVzcy1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgLnRleHQtYnV0dG9uIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBvc3QtbGlzdC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnJlc291cmNlLWludHJvIHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC40LCBmYWxzZSwgdHJ1ZSk7XG59XG4ucmVzb3VyY2UtbGlzdCB7XG5cbiAgICAuc2lkZS1uYXYge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1tYXJnaW4oLjUsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbigwKTtcbiAgICAgICAgfVxuICAgICAgICAucmVzb3VyY2UtZmlsdGVyLWNhdGVnb3J5IHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnBvc3QtbGlzdC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcGFkZGluZyguNSk7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLW1hcmdpbiguNSwgZmFsc2UsdHJ1ZSk7XG4gICAgICAgIEBpbmNsdWRlIGhvcml6b250YWwtcGFkZGluZyguNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubGVhcm4tZ3JpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJi5yZWFkLW1vcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi53ZWJzaXRlLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MDAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0LWxpc3QtaW1hZ2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCgyMHZ3IC0gMzVweCkgLyAuNyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCgyMHZ3IC0gNDBweCkgKiAuNyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlZCBiYXNlZCBvbiBvdXIgbWF4IHdpZHRoIG9mIDEyMDAgb24gZ3JpZC1jb250YWluZXIgKCAoMTIwMC80IC0gNDApIC8gMilcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wb3N0LXRpdGxlIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cbi8vIFNpbmdsZSBSZXNvdXJjZVxuLnBhZ2UtaGVhZGVyIHtcbiAgICAmLnNpbmdsZS1yZXNvdXJjZSB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoMS4yKTtcbiAgICB9XG4gICAgJi5zaW5nbGUtcmVzb3VyY2UsJi5jYXRlZ29yeS1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIC5jYXQtYnV0dG9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC4zKTtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dC1idXR0b24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxufVxuLnNpbmdsZS1yZXNvdXJjZSB7XG4gICAgaW1nIHtcbiAgICAgICAgJi5yZXNvdXJjZS1sb2dvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzY1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJlc291cmNlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC41KTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmVzb3VyY2Utd2Vic2l0ZSB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5yZWxhdGVkLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vLyBSZXNvdXJjZSBOYXYgTW9iaWxlXG5mb3JtIHtcbiAgICAmLnJlc291cmNlLWZpbHRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuLm1vYmlsZS1yZXNvdXJjZXMge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBAaW5jbHVkZSB3aGl0ZS10ZXh0O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6JysnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJy0nO1xuICAgICAgICB9XG4gICAgfVxufVxuLnJlc291cmNlLW5hdiB7XG4gICAgJi5tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIEBpbmNsdWRlIHdoaXRlLXRleHQ7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSIsIi52aWRlby13cmFwIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8wNi9qZXNzLXN0cmFpZ2h0LWN1LXNjYWxlZC5qcGVnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLC44KTtcbiAgICBAaW5jbHVkZSB3aGl0ZS10ZXh0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAucHJvdGVjdC12aWRlb193cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtcGFkZGluZygyKTtcbiAgICAgICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1wYWRkaW5nKDIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywuNyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgY2xlYW4tbGFzdC1jaGlsZDtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9dGV4dF0saW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRvcF9sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MDEnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5nZm9ybS1ib2R5IGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vLyBQYXNzd29yZCBQcm90ZWN0IEZvcm1cbmZvcm0ge1xuICAgICYucG9zdC1wYXNzd29yZC1mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICAgICAgfVxuICAgICAgICBwIHtcblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMzVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gSGVhZGVyXG4ucGFnZS1oZWFkZXIge1xuICAgICYudG9vbGtpdC1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdG9vbGtpdC1ncmF5O1xuICAgICAgICBAaW5jbHVkZSBibGFjay10ZXh0O1xuICAgICAgICAmLmZ1bGwtaGVhZGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKDMsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgfSAgXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICYuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xNzVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTM1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5oYXMtaW1hZ2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXBhZGRpbmcoLjc1KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC4zKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVhZGVyLWltYWdlIHtcbiAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUGFnZSBOYXZpZ2F0aW9uXG4ucGFnZS1uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1wYWRkaW5nKC4yNSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIC5jZWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmPi5wYWdlLW5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFuLWxpc3Q7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTIuNXB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9vbGtpdC1ibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmlzLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICAgICAmOm5vdCguaXMtc3R1Y2spIHtcbiAgICAgICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgICAgICAmPmRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbn0iXX0= */
