@charset "UTF-8";
/* 
=======================================
Table of Contents
=======================================
*/
/* 0, 640px */
/* 641px, 1024px */
/* 1025px, 1440px */
/* 1441px, 1920px */
/* 1921px, ... */
/**
 * Foundation for Sites
 * Version 6.9.0
 * 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 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

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

a {
  background-color: transparent;
}

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

b,
strong {
  font-weight: bolder;
}

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

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

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

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

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

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

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

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

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

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

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

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

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

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

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

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

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

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

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

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

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

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

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

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 {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #666;
  border-radius: 0;
  background-color: #fefefe;
  -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
          box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
[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 #2e3130;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #666;
          box-shadow: 0 0 5px #666;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #aaaaaa;
  cursor: default;
}

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

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

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

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

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

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

::placeholder {
  color: #666;
}

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

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

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

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

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

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem;
}
.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;
  display: table-cell;
  vertical-align: middle;
}

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #666;
  background: #aaaaaa;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%;
}
.input-group-label:first-child {
  border-right: 0;
}
.input-group-label:last-child {
  border-left: 0;
}

.input-group-field {
  border-radius: 0;
}

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%;
}
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  height: 2.4375rem;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 1rem;
}

.input-group .input-group-button {
  display: table-cell;
}

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #666;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  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%2846, 49, 48%29"></polygon></svg>');
}
@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 #2e3130;
  background-color: #fefefe;
  -webkit-box-shadow: 0 0 5px #666;
          box-shadow: 0 0 5px #666;
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}
select:disabled {
  background-color: #aaaaaa;
  cursor: default;
}
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: #ec5840;
  background-color: rgb(252.2, 237.4, 235);
}
.is-invalid-input:not(:focus)::-webkit-input-placeholder {
  color: #ec5840;
}
.is-invalid-input:not(:focus)::-moz-placeholder {
  color: #ec5840;
}
.is-invalid-input:not(:focus):-ms-input-placeholder {
  color: #ec5840;
}
.is-invalid-input:not(:focus)::-ms-input-placeholder {
  color: #ec5840;
}
.is-invalid-input:not(:focus)::placeholder {
  color: #ec5840;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 4.875rem;
  }
  h2, .h2 {
    font-size: 4.25rem;
  }
  h3, .h3 {
    font-size: 2.5rem;
  }
  h4, .h4 {
    font-size: 2rem;
  }
  h5, .h5 {
    font-size: 1.25rem;
  }
  h6, .h6 {
    font-size: 1rem;
  }
}
a {
  line-height: inherit;
  color: #cc0000;
  text-decoration: none;
  cursor: pointer;
}
a:hover, a:focus {
  color: rgb(175.44, 0, 0);
}
a img {
  border: 0;
}

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

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

li {
  font-size: inherit;
}

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

ol {
  margin-left: 1.25rem;
}

ul ul, 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 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #666;
}
blockquote, blockquote p {
  line-height: 1.6;
  color: #2e3130;
}

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

figure {
  margin: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            print-color-adjust: economy;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  .show-for-print {
    display: block !important;
  }
  .hide-for-print {
    display: none !important;
  }
  table.show-for-print {
    display: table !important;
  }
  thead.show-for-print {
    display: table-header-group !important;
  }
  tbody.show-for-print {
    display: table-row-group !important;
  }
  tr.show-for-print {
    display: table-row !important;
  }
  td.show-for-print {
    display: table-cell !important;
  }
  th.show-for-print {
    display: table-cell !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #2e3130;
    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;
  }
}
.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}
.row::before, .row::after {
  display: table;
  content: " ";
}
.row::after {
  clear: both;
}
.row.collapse > .column, .row.collapse > .columns {
  padding-right: 0;
  padding-left: 0;
}
.row .row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
@media print, screen and (min-width: 40em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}
@media print, screen and (min-width: 64em) {
  .row .row {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
  }
}
.row .row.collapse {
  margin-right: 0;
  margin-left: 0;
}
.row.expanded {
  max-width: none;
}
.row.expanded .row {
  margin-right: auto;
  margin-left: auto;
}
.row:not(.expanded) .row {
  max-width: none;
}
.row.gutter-small > .column, .row.gutter-small > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
.row.gutter-medium > .column, .row.gutter-medium > .columns {
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}

.column, .columns {
  float: left;
  width: 100%;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}
@media print, screen and (min-width: 40em) {
  .column, .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
}
.column, .columns, .column:last-child:not(:first-child) {
  float: left;
  clear: none;
}
.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
  float: right;
}
.column.end:last-child:last-child, .end.columns:last-child:last-child {
  float: left;
}

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

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

.small-1 {
  width: 8.3333333333%;
}

.small-push-1 {
  position: relative;
  left: 8.3333333333%;
}

.small-pull-1 {
  position: relative;
  left: -8.3333333333%;
}

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

.small-2 {
  width: 16.6666666667%;
}

.small-push-2 {
  position: relative;
  left: 16.6666666667%;
}

.small-pull-2 {
  position: relative;
  left: -16.6666666667%;
}

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

.small-3 {
  width: 25%;
}

.small-push-3 {
  position: relative;
  left: 25%;
}

.small-pull-3 {
  position: relative;
  left: -25%;
}

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

.small-4 {
  width: 33.3333333333%;
}

.small-push-4 {
  position: relative;
  left: 33.3333333333%;
}

.small-pull-4 {
  position: relative;
  left: -33.3333333333%;
}

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

.small-5 {
  width: 41.6666666667%;
}

.small-push-5 {
  position: relative;
  left: 41.6666666667%;
}

.small-pull-5 {
  position: relative;
  left: -41.6666666667%;
}

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

.small-6 {
  width: 50%;
}

.small-push-6 {
  position: relative;
  left: 50%;
}

.small-pull-6 {
  position: relative;
  left: -50%;
}

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

.small-7 {
  width: 58.3333333333%;
}

.small-push-7 {
  position: relative;
  left: 58.3333333333%;
}

.small-pull-7 {
  position: relative;
  left: -58.3333333333%;
}

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

.small-8 {
  width: 66.6666666667%;
}

.small-push-8 {
  position: relative;
  left: 66.6666666667%;
}

.small-pull-8 {
  position: relative;
  left: -66.6666666667%;
}

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

.small-9 {
  width: 75%;
}

.small-push-9 {
  position: relative;
  left: 75%;
}

.small-pull-9 {
  position: relative;
  left: -75%;
}

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

.small-10 {
  width: 83.3333333333%;
}

.small-push-10 {
  position: relative;
  left: 83.3333333333%;
}

.small-pull-10 {
  position: relative;
  left: -83.3333333333%;
}

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

.small-11 {
  width: 91.6666666667%;
}

.small-push-11 {
  position: relative;
  left: 91.6666666667%;
}

.small-pull-11 {
  position: relative;
  left: -91.6666666667%;
}

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

.small-12 {
  width: 100%;
}

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%;
}
.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
  clear: both;
}
.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
  float: left;
}

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%;
}
.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
  clear: both;
}
.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
  float: left;
}

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.3333333333%;
}
.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
  clear: both;
}
.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
  float: left;
}

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%;
}
.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
  clear: both;
}
.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
  float: left;
}

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%;
}
.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
  clear: both;
}
.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
  float: left;
}

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.6666666667%;
}
.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
  clear: both;
}
.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
  float: left;
}

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.2857142857%;
}
.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
  clear: both;
}
.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
  float: left;
}

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%;
}
.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
  clear: none;
}
.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
  clear: both;
}
.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
  float: left;
}

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

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0;
}

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

.small-centered {
  margin-left: auto;
  margin-right: auto;
}
.small-centered, .small-centered:last-child:not(:first-child) {
  float: none;
  clear: both;
}

.small-uncentered, .small-push-0, .small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0;
}
.small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {
  float: left;
  clear: none;
}
.small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {
  float: right;
}

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.3333333333%;
  }
  .medium-push-1 {
    position: relative;
    left: 8.3333333333%;
  }
  .medium-pull-1 {
    position: relative;
    left: -8.3333333333%;
  }
  .medium-offset-0 {
    margin-left: 0%;
  }
  .medium-2 {
    width: 16.6666666667%;
  }
  .medium-push-2 {
    position: relative;
    left: 16.6666666667%;
  }
  .medium-pull-2 {
    position: relative;
    left: -16.6666666667%;
  }
  .medium-offset-1 {
    margin-left: 8.3333333333%;
  }
  .medium-3 {
    width: 25%;
  }
  .medium-push-3 {
    position: relative;
    left: 25%;
  }
  .medium-pull-3 {
    position: relative;
    left: -25%;
  }
  .medium-offset-2 {
    margin-left: 16.6666666667%;
  }
  .medium-4 {
    width: 33.3333333333%;
  }
  .medium-push-4 {
    position: relative;
    left: 33.3333333333%;
  }
  .medium-pull-4 {
    position: relative;
    left: -33.3333333333%;
  }
  .medium-offset-3 {
    margin-left: 25%;
  }
  .medium-5 {
    width: 41.6666666667%;
  }
  .medium-push-5 {
    position: relative;
    left: 41.6666666667%;
  }
  .medium-pull-5 {
    position: relative;
    left: -41.6666666667%;
  }
  .medium-offset-4 {
    margin-left: 33.3333333333%;
  }
  .medium-6 {
    width: 50%;
  }
  .medium-push-6 {
    position: relative;
    left: 50%;
  }
  .medium-pull-6 {
    position: relative;
    left: -50%;
  }
  .medium-offset-5 {
    margin-left: 41.6666666667%;
  }
  .medium-7 {
    width: 58.3333333333%;
  }
  .medium-push-7 {
    position: relative;
    left: 58.3333333333%;
  }
  .medium-pull-7 {
    position: relative;
    left: -58.3333333333%;
  }
  .medium-offset-6 {
    margin-left: 50%;
  }
  .medium-8 {
    width: 66.6666666667%;
  }
  .medium-push-8 {
    position: relative;
    left: 66.6666666667%;
  }
  .medium-pull-8 {
    position: relative;
    left: -66.6666666667%;
  }
  .medium-offset-7 {
    margin-left: 58.3333333333%;
  }
  .medium-9 {
    width: 75%;
  }
  .medium-push-9 {
    position: relative;
    left: 75%;
  }
  .medium-pull-9 {
    position: relative;
    left: -75%;
  }
  .medium-offset-8 {
    margin-left: 66.6666666667%;
  }
  .medium-10 {
    width: 83.3333333333%;
  }
  .medium-push-10 {
    position: relative;
    left: 83.3333333333%;
  }
  .medium-pull-10 {
    position: relative;
    left: -83.3333333333%;
  }
  .medium-offset-9 {
    margin-left: 75%;
  }
  .medium-11 {
    width: 91.6666666667%;
  }
  .medium-push-11 {
    position: relative;
    left: 91.6666666667%;
  }
  .medium-pull-11 {
    position: relative;
    left: -91.6666666667%;
  }
  .medium-offset-10 {
    margin-left: 83.3333333333%;
  }
  .medium-12 {
    width: 100%;
  }
  .medium-offset-11 {
    margin-left: 91.6666666667%;
  }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%;
  }
  .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
    float: left;
  }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%;
  }
  .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
    float: left;
  }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.3333333333%;
  }
  .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
    float: left;
  }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%;
  }
  .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
    float: left;
  }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%;
  }
  .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
    float: left;
  }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.6666666667%;
  }
  .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
    float: left;
  }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.2857142857%;
  }
  .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
    float: left;
  }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%;
  }
  .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
    float: left;
  }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0;
  }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0;
  }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
  .medium-centered {
    margin-left: auto;
    margin-right: auto;
  }
  .medium-centered, .medium-centered:last-child:not(:first-child) {
    float: none;
    clear: both;
  }
  .medium-uncentered, .medium-push-0, .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0;
  }
  .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none;
  }
  .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {
    float: right;
  }
}
@media print, screen and (min-width: 64em) {
  .large-1 {
    width: 8.3333333333%;
  }
  .large-push-1 {
    position: relative;
    left: 8.3333333333%;
  }
  .large-pull-1 {
    position: relative;
    left: -8.3333333333%;
  }
  .large-offset-0 {
    margin-left: 0%;
  }
  .large-2 {
    width: 16.6666666667%;
  }
  .large-push-2 {
    position: relative;
    left: 16.6666666667%;
  }
  .large-pull-2 {
    position: relative;
    left: -16.6666666667%;
  }
  .large-offset-1 {
    margin-left: 8.3333333333%;
  }
  .large-3 {
    width: 25%;
  }
  .large-push-3 {
    position: relative;
    left: 25%;
  }
  .large-pull-3 {
    position: relative;
    left: -25%;
  }
  .large-offset-2 {
    margin-left: 16.6666666667%;
  }
  .large-4 {
    width: 33.3333333333%;
  }
  .large-push-4 {
    position: relative;
    left: 33.3333333333%;
  }
  .large-pull-4 {
    position: relative;
    left: -33.3333333333%;
  }
  .large-offset-3 {
    margin-left: 25%;
  }
  .large-5 {
    width: 41.6666666667%;
  }
  .large-push-5 {
    position: relative;
    left: 41.6666666667%;
  }
  .large-pull-5 {
    position: relative;
    left: -41.6666666667%;
  }
  .large-offset-4 {
    margin-left: 33.3333333333%;
  }
  .large-6 {
    width: 50%;
  }
  .large-push-6 {
    position: relative;
    left: 50%;
  }
  .large-pull-6 {
    position: relative;
    left: -50%;
  }
  .large-offset-5 {
    margin-left: 41.6666666667%;
  }
  .large-7 {
    width: 58.3333333333%;
  }
  .large-push-7 {
    position: relative;
    left: 58.3333333333%;
  }
  .large-pull-7 {
    position: relative;
    left: -58.3333333333%;
  }
  .large-offset-6 {
    margin-left: 50%;
  }
  .large-8 {
    width: 66.6666666667%;
  }
  .large-push-8 {
    position: relative;
    left: 66.6666666667%;
  }
  .large-pull-8 {
    position: relative;
    left: -66.6666666667%;
  }
  .large-offset-7 {
    margin-left: 58.3333333333%;
  }
  .large-9 {
    width: 75%;
  }
  .large-push-9 {
    position: relative;
    left: 75%;
  }
  .large-pull-9 {
    position: relative;
    left: -75%;
  }
  .large-offset-8 {
    margin-left: 66.6666666667%;
  }
  .large-10 {
    width: 83.3333333333%;
  }
  .large-push-10 {
    position: relative;
    left: 83.3333333333%;
  }
  .large-pull-10 {
    position: relative;
    left: -83.3333333333%;
  }
  .large-offset-9 {
    margin-left: 75%;
  }
  .large-11 {
    width: 91.6666666667%;
  }
  .large-push-11 {
    position: relative;
    left: 91.6666666667%;
  }
  .large-pull-11 {
    position: relative;
    left: -91.6666666667%;
  }
  .large-offset-10 {
    margin-left: 83.3333333333%;
  }
  .large-12 {
    width: 100%;
  }
  .large-offset-11 {
    margin-left: 91.6666666667%;
  }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%;
  }
  .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
    clear: both;
  }
  .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
    float: left;
  }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%;
  }
  .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
    clear: both;
  }
  .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
    float: left;
  }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.3333333333%;
  }
  .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
    clear: both;
  }
  .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
    float: left;
  }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%;
  }
  .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
    clear: both;
  }
  .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
    float: left;
  }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%;
  }
  .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
    clear: both;
  }
  .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
    float: left;
  }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.6666666667%;
  }
  .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
    clear: both;
  }
  .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
    float: left;
  }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.2857142857%;
  }
  .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
    clear: both;
  }
  .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
    float: left;
  }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%;
  }
  .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
    clear: none;
  }
  .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
    clear: both;
  }
  .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
    float: left;
  }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
  }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0;
  }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0;
  }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem;
  }
  .large-centered {
    margin-left: auto;
    margin-right: auto;
  }
  .large-centered, .large-centered:last-child:not(:first-child) {
    float: none;
    clear: both;
  }
  .large-uncentered, .large-push-0, .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0;
  }
  .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none;
  }
  .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {
    float: right;
  }
}
.column-block {
  margin-bottom: 1.25rem;
}
.column-block > :last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .column-block {
    margin-bottom: 1.875rem;
  }
  .column-block > :last-child {
    margin-bottom: 0;
  }
}

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  border: 1px solid transparent;
  border-radius: 0;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 0.85em 1em;
}
[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: #cc0000;
  color: #fefefe;
}
.button:hover, .button:focus {
  background-color: rgb(173.4, 0, 0);
  color: #fefefe;
}
.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {
  background-color: #cc0000;
  color: #fefefe;
}
.button.primary:hover, .button.primary:focus {
  background-color: rgb(163.2, 0, 0);
  color: #fefefe;
}
.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {
  background-color: #ffcc00;
  color: #0a0a0a;
}
.button.secondary:hover, .button.secondary:focus {
  background-color: rgb(204, 163.2, 0);
  color: #0a0a0a;
}
.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {
  background-color: #3adb76;
  color: #0a0a0a;
}
.button.success:hover, .button.success:focus {
  background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);
  color: #0a0a0a;
}
.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {
  background-color: #ffae00;
  color: #0a0a0a;
}
.button.warning:hover, .button.warning:focus {
  background-color: rgb(204, 139.2, 0);
  color: #0a0a0a;
}
.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {
  background-color: #ec5840;
  color: #0a0a0a;
}
.button.alert:hover, .button.alert:focus {
  background-color: rgb(218.2857142857, 49.1428571429, 21.7142857143);
  color: #0a0a0a;
}
.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
  background-color: transparent;
}
.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {
  border: 1px solid #cc0000;
  color: #cc0000;
}
.button.hollow:hover, .button.hollow:focus {
  border-color: #660000;
  color: #660000;
}
.button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {
  border: 1px solid #cc0000;
  color: #cc0000;
}
.button.hollow.primary:hover, .button.hollow.primary:focus {
  border-color: #660000;
  color: #660000;
}
.button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {
  border: 1px solid #ffcc00;
  color: #ffcc00;
}
.button.hollow.secondary:hover, .button.hollow.secondary:focus {
  border-color: rgb(127.5, 102, 0);
  color: rgb(127.5, 102, 0);
}
.button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button.hollow.success:hover, .button.hollow.success:focus {
  border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button.hollow.warning:hover, .button.hollow.warning:focus {
  border-color: rgb(127.5, 87, 0);
  color: rgb(127.5, 87, 0);
}
.button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {
  border: 1px solid #ec5840;
  color: #ec5840;
}
.button.hollow.alert:hover, .button.hollow.alert:focus {
  border-color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
  color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
}
.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: #cc0000;
}
.button.clear:hover, .button.clear:focus {
  color: #660000;
}
.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: #cc0000;
}
.button.clear.primary:hover, .button.clear.primary:focus {
  color: #660000;
}
.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: #ffcc00;
}
.button.clear.secondary:hover, .button.clear.secondary:focus {
  color: rgb(127.5, 102, 0);
}
.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: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.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: rgb(127.5, 87, 0);
}
.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: #ec5840;
}
.button.clear.alert:hover, .button.clear.alert:focus {
  color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
}
.button.disabled, .button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.button.dropdown::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  content: "";
  border-bottom-width: 0;
  border-color: #fefefe transparent transparent;
  position: relative;
  top: 0.4em;
  display: inline-block;
  float: right;
  margin-left: 1em;
}
.button.dropdown.hollow::after, .button.dropdown.clear::after {
  border-top-color: #cc0000;
}
.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {
  border-top-color: #cc0000;
}
.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {
  border-top-color: #ffcc00;
}
.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: #ec5840;
}
.button.arrow-only::after {
  top: -0.1em;
  float: none;
  margin-left: 0;
}

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0;
}
.button-group::before, .button-group::after {
  display: table;
  content: " ";
}
.button-group::after {
  clear: both;
}
.button-group .button {
  margin: 0;
  margin-right: 1px;
  margin-bottom: 1px;
  font-size: 0.9rem;
}
.button-group .button:last-child {
  margin-right: 0;
}
.button-group.tiny .button {
  font-size: 0.6rem;
}
.button-group.small .button {
  font-size: 0.75rem;
}
.button-group.large .button {
  font-size: 1.25rem;
}
.button-group.expanded {
  margin-right: -1px;
}
.button-group.expanded::before, .button-group.expanded::after {
  display: none;
}
.button-group.expanded .button:first-child:last-child {
  width: calc(100% - 1px);
}
.button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
  display: inline-block;
  width: calc(50% - 1px);
  margin-right: 1px;
}
.button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
  display: inline-block;
  width: calc(33.3333333333% - 1px);
  margin-right: 1px;
}
.button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
  display: inline-block;
  width: calc(25% - 1px);
  margin-right: 1px;
}
.button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
  display: inline-block;
  width: calc(20% - 1px);
  margin-right: 1px;
}
.button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
  display: inline-block;
  width: calc(16.6666666667% - 1px);
  margin-right: 1px;
}
.button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
  background-color: #cc0000;
  color: #fefefe;
}
.button-group.primary .button:hover, .button-group.primary .button:focus {
  background-color: rgb(163.2, 0, 0);
  color: #fefefe;
}
.button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
  background-color: #ffcc00;
  color: #0a0a0a;
}
.button-group.secondary .button:hover, .button-group.secondary .button:focus {
  background-color: rgb(204, 163.2, 0);
  color: #0a0a0a;
}
.button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
  background-color: #3adb76;
  color: #0a0a0a;
}
.button-group.success .button:hover, .button-group.success .button:focus {
  background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);
  color: #0a0a0a;
}
.button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
  background-color: #ffae00;
  color: #0a0a0a;
}
.button-group.warning .button:hover, .button-group.warning .button:focus {
  background-color: rgb(204, 139.2, 0);
  color: #0a0a0a;
}
.button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
  background-color: #ec5840;
  color: #0a0a0a;
}
.button-group.alert .button:hover, .button-group.alert .button:focus {
  background-color: rgb(218.2857142857, 49.1428571429, 21.7142857143);
  color: #0a0a0a;
}
.button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
  background-color: transparent;
}
.button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
  border: 1px solid #cc0000;
  color: #cc0000;
}
.button-group.hollow .button:hover, .button-group.hollow .button:focus {
  border-color: #660000;
  color: #660000;
}
.button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
  border: 1px solid #cc0000;
  color: #cc0000;
}
.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
  border-color: #660000;
  color: #660000;
}
.button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
  border: 1px solid #ffcc00;
  color: #ffcc00;
}
.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
  border-color: rgb(127.5, 102, 0);
  color: rgb(127.5, 102, 0);
}
.button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
  border: 1px solid #3adb76;
  color: #3adb76;
}
.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
  border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
  border: 1px solid #ffae00;
  color: #ffae00;
}
.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
  border-color: rgb(127.5, 87, 0);
  color: rgb(127.5, 87, 0);
}
.button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
  border: 1px solid #ec5840;
  color: #ec5840;
}
.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
  border-color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
  color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
}
.button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
  border-color: transparent;
  background-color: transparent;
}
.button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
  color: #cc0000;
}
.button-group.clear .button:hover, .button-group.clear .button:focus {
  color: #660000;
}
.button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
  color: #cc0000;
}
.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
  color: #660000;
}
.button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
  color: #ffcc00;
}
.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
  color: rgb(127.5, 102, 0);
}
.button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
  color: #3adb76;
}
.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
  color: rgb(21.3991416309, 117.1008583691, 57.0643776824);
}
.button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
  color: #ffae00;
}
.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
  color: rgb(127.5, 87, 0);
}
.button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
  color: #ec5840;
}
.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
  color: rgb(136.4285714286, 30.7142857143, 13.5714285714);
}
.button-group.no-gaps .button {
  margin-right: -0.0625rem;
}
.button-group.no-gaps .button + .button {
  border-left-color: transparent;
}
.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
  width: 100%;
}
.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
  margin-bottom: 0;
}
.button-group.stacked.expanded, .button-group.stacked-for-small.expanded, .button-group.stacked-for-medium.expanded {
  margin-right: -1px;
}
.button-group.stacked.expanded::before, .button-group.stacked.expanded::after, .button-group.stacked-for-small.expanded::before, .button-group.stacked-for-small.expanded::after, .button-group.stacked-for-medium.expanded::before, .button-group.stacked-for-medium.expanded::after {
  display: none;
}
.button-group.stacked.expanded .button:first-child:last-child, .button-group.stacked-for-small.expanded .button:first-child:last-child, .button-group.stacked-for-medium.expanded .button:first-child:last-child {
  width: calc(100% - 1px);
}
.button-group.stacked.expanded .button:first-child:nth-last-child(2), .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
  display: inline-block;
  width: calc(50% - 1px);
  margin-right: 1px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(3), .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
  display: inline-block;
  width: calc(33.3333333333% - 1px);
  margin-right: 1px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(4), .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
  display: inline-block;
  width: calc(25% - 1px);
  margin-right: 1px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(5), .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
  display: inline-block;
  width: calc(20% - 1px);
  margin-right: 1px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
  margin-right: -6px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(6), .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
  display: inline-block;
  width: calc(16.6666666667% - 1px);
  margin-right: 1px;
}
.button-group.stacked.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
  margin-right: -6px;
}
@media print, screen and (min-width: 40em) {
  .button-group.stacked-for-small .button {
    width: auto;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .button-group.stacked-for-medium .button {
    width: auto;
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 39.99875em) {
  .button-group.stacked-for-small.expanded {
    display: block;
  }
  .button-group.stacked-for-small.expanded .button {
    display: block;
    margin-right: 0;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .button-group.stacked-for-medium.expanded {
    display: block;
  }
  .button-group.stacked-for-medium.expanded .button {
    display: block;
    margin-right: 0;
  }
}

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #cc0000;
  color: #fefefe;
}
.label.primary {
  background: #cc0000;
  color: #fefefe;
}
.label.secondary {
  background: #ffcc00;
  color: #0a0a0a;
}
.label.success {
  background: #3adb76;
  color: #0a0a0a;
}
.label.warning {
  background: #ffae00;
  color: #0a0a0a;
}
.label.alert {
  background: #ec5840;
  color: #0a0a0a;
}

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0;
  background-color: #666;
}
.progress.primary .progress-meter {
  background-color: #cc0000;
}
.progress.secondary .progress-meter {
  background-color: #ffcc00;
}
.progress.success .progress-meter {
  background-color: #3adb76;
}
.progress.warning .progress-meter {
  background-color: #ffae00;
}
.progress.alert .progress-meter {
  background-color: #ec5840;
}

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

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

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

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #666;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.slider-fill.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
}

.slider-handle {
  left: 0;
  z-index: 1;
  cursor: -webkit-grab;
  cursor: grab;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 0;
  background-color: #cc0000;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
[data-whatinput=mouse] .slider-handle {
  outline: 0;
}
.slider-handle:hover {
  background-color: rgb(173.4, 0, 0);
}
.slider-handle.is-dragging {
  -webkit-transition: all 0s linear;
  transition: all 0s linear;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

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

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

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

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

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #666;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
}
input + .switch-paddle {
  margin: 0;
}
.switch-paddle::after {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border-radius: 0;
  background: #fefefe;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  content: "";
}
input:checked ~ .switch-paddle {
  background: #cc0000;
}
input:checked ~ .switch-paddle::after {
  left: 2.25rem;
}
input:focus-visible ~ .switch-paddle {
  background: rgb(91.8, 91.8, 91.8);
}
input:focus-visible ~ .switch-paddle::after {
  background: #fefefe;
}
input:checked:focus-visible ~ .switch-paddle {
  background: rgb(173.4, 0, 0);
}
input:disabled ~ .switch-paddle {
  cursor: not-allowed;
  opacity: 0.5;
}
[data-whatinput=mouse] input:focus ~ .switch-paddle {
  outline: 0;
}

.switch-inactive, .switch-active {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

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

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

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

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

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

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0;
}
thead,
tbody,
tfoot {
  border: 1px solid rgb(241.3, 241.3, 241.3);
  background-color: #fefefe;
}

caption {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
}

thead {
  background: rgb(247.65, 247.65, 247.65);
  color: #0a0a0a;
}

tfoot {
  background: rgb(241.3, 241.3, 241.3);
  color: #0a0a0a;
}

thead tr,
tfoot tr {
  background: transparent;
}
thead th,
thead td,
tfoot th,
tfoot td {
  padding: 0.5rem 0.625rem 0.625rem;
  font-weight: bold;
  text-align: left;
}

tbody th,
tbody td {
  padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
  border-bottom: 0;
  background-color: rgb(241.3, 241.3, 241.3);
}

table.unstriped tbody {
  background-color: #fefefe;
}
table.unstriped tbody tr {
  border-bottom: 1px solid rgb(241.3, 241.3, 241.3);
  background-color: #fefefe;
}

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

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

table.hover thead tr:hover {
  background-color: rgb(242.55, 242.55, 242.55);
}
table.hover tfoot tr:hover {
  background-color: rgb(236.2, 236.2, 236.2);
}
table.hover tbody tr:hover {
  background-color: rgb(248.9, 248.9, 248.9);
}
table.hover:not(.unstriped) tr:nth-of-type(even):hover {
  background-color: rgb(236.15, 236.15, 236.15);
}

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

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

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none;
}
.breadcrumbs::before, .breadcrumbs::after {
  display: table;
  content: " ";
}
.breadcrumbs::after {
  clear: both;
}
.breadcrumbs li {
  float: left;
  font-size: 0.6875rem;
  color: #0a0a0a;
  cursor: default;
  text-transform: uppercase;
}
.breadcrumbs li:not(:last-child)::after {
  position: relative;
  margin: 0 0.75rem;
  opacity: 1;
  content: "/";
  color: #666;
}
.breadcrumbs a {
  color: #cc0000;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .disabled {
  color: #666;
  cursor: not-allowed;
}

.callout {
  background-color: rgb(254.85, 254.85, 254.85);
  color: #0a0a0a;
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
}
.callout > :first-child {
  margin-top: 0;
}
.callout > :last-child {
  margin-bottom: 0;
}
.callout.primary {
  background-color: rgb(255, 209.1, 209.1);
  color: #0a0a0a;
}
.callout.secondary {
  background-color: rgb(255, 247.35, 216.75);
  color: #0a0a0a;
}
.callout.success {
  background-color: rgb(225.45, 249.6, 234.45);
  color: #0a0a0a;
}
.callout.warning {
  background-color: rgb(255, 242.85, 216.75);
  color: #0a0a0a;
}
.callout.alert {
  background-color: rgb(252.15, 229.95, 226.35);
  color: #0a0a0a;
}
.callout.small {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.callout.large {
  padding-top: 3rem;
  padding-right: 3rem;
  padding-bottom: 3rem;
  padding-left: 3rem;
}

.card {
  margin-bottom: 1rem;
  border: 1px solid #aaaaaa;
  border-radius: 0;
  background: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
  overflow: hidden;
  color: #0a0a0a;
}
.card > :last-child {
  margin-bottom: 0;
}

.card-divider {
  padding: 1rem;
  background: #aaaaaa;
}
.card-divider > :last-child {
  margin-bottom: 0;
}

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

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

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem;
}
.pagination::before, .pagination::after {
  display: table;
  content: " ";
}
.pagination::after {
  clear: both;
}
.pagination li {
  margin-right: 0.0625rem;
  border-radius: 0;
  font-size: 0.875rem;
  display: none;
}
.pagination li:last-child, .pagination li:first-child {
  display: inline-block;
}
@media print, screen and (min-width: 40em) {
  .pagination li {
    display: inline-block;
  }
}
.pagination a,
.pagination button {
  display: block;
  padding: 0.1875rem 0.625rem;
  border-radius: 0;
  color: #0a0a0a;
}
.pagination a:hover,
.pagination button:hover {
  background: #aaaaaa;
}
.pagination .current {
  padding: 0.1875rem 0.625rem;
  background: #cc0000;
  color: #fefefe;
  cursor: default;
}
.pagination .disabled {
  padding: 0.1875rem 0.625rem;
  color: #666;
  cursor: not-allowed;
}
.pagination .disabled:hover {
  background: transparent;
}
.pagination .ellipsis::after {
  padding: 0.1875rem 0.625rem;
  content: "…";
  color: #0a0a0a;
}

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

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

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

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

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

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

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

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

.media-object {
  display: block;
  margin-bottom: 1rem;
}
.media-object img {
  max-width: none;
}

.media-object-section {
  display: table-cell;
  vertical-align: top;
}
.media-object-section:first-child {
  padding-right: 1rem;
}
.media-object-section:last-child:not(:nth-child(2)) {
  padding-left: 1rem;
}
.media-object-section > :last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .stack-for-small .media-object-section {
    padding: 0;
    padding-bottom: 1rem;
    display: block;
  }
  .stack-for-small .media-object-section img {
    width: 100%;
  }
}
.media-object-section.middle {
  vertical-align: middle;
}
.media-object-section.bottom {
  vertical-align: bottom;
}

.orbit {
  position: relative;
}

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

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

.orbit-figure {
  margin: 0;
}

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

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

.orbit-next, .orbit-previous {
  z-index: 10;
  padding: 1rem;
  color: #fefefe;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
[data-whatinput=mouse] .orbit-next, [data-whatinput=mouse] .orbit-previous {
  outline: 0;
}
.orbit-next:hover, .orbit-previous:hover, .orbit-next:active, .orbit-previous:active, .orbit-next:focus, .orbit-previous:focus {
  background-color: rgba(10, 10, 10, 0.5);
}

.orbit-previous {
  left: 0;
}

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

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

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden;
}
.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%;
}

.tabs {
  margin: 0;
  border: 1px solid #aaaaaa;
  background: #fefefe;
  list-style-type: none;
}
.tabs::before, .tabs::after {
  display: table;
  content: " ";
}
.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: #cc0000;
}
.tabs.primary > li > a {
  color: #fefefe;
}
.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
  background: rgb(219.3, 0, 0);
}

.tabs-title {
  float: left;
}
.tabs-title > a {
  display: block;
  padding: 2rem 1.5rem;
  font-size: 0.75rem;
  line-height: 1;
  color: #cc0000;
}
[data-whatinput=mouse] .tabs-title > a {
  outline: 0;
}
.tabs-title > a:hover {
  background: #fefefe;
  color: rgb(175.44, 0, 0);
}
.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {
  background: #aaaaaa;
  color: #cc0000;
}

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

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

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

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

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

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}
[data-whatinput=mouse] .menu li {
  outline: 0;
}
.menu a,
.menu .button {
  line-height: 1;
  text-decoration: none;
  display: block;
  padding: 0.7rem 1rem;
}
.menu input,
.menu select,
.menu a,
.menu button {
  margin-bottom: 0;
}
.menu input {
  display: inline-block;
}
.menu li, .menu.horizontal li {
  display: inline-block;
}
.menu.vertical li {
  display: block;
}
.menu.expanded {
  display: table;
  width: 100%;
}
.menu.expanded > li {
  display: table-cell;
  vertical-align: middle;
}
.menu.simple li + li {
  margin-left: 1rem;
}
.menu.simple a {
  padding: 0;
}
@media print, screen and (min-width: 40em) {
  .menu.medium-horizontal li {
    display: inline-block;
  }
  .menu.medium-vertical li {
    display: block;
  }
  .menu.medium-expanded {
    display: table;
    width: 100%;
  }
  .menu.medium-expanded > li {
    display: table-cell;
    vertical-align: middle;
  }
  .menu.medium-simple {
    display: table;
    width: 100%;
  }
  .menu.medium-simple > li {
    display: table-cell;
    vertical-align: middle;
  }
}
@media print, screen and (min-width: 64em) {
  .menu.large-horizontal li {
    display: inline-block;
  }
  .menu.large-vertical li {
    display: block;
  }
  .menu.large-expanded {
    display: table;
    width: 100%;
  }
  .menu.large-expanded > li {
    display: table-cell;
    vertical-align: middle;
  }
  .menu.large-simple {
    display: table;
    width: 100%;
  }
  .menu.large-simple > li {
    display: table-cell;
    vertical-align: middle;
  }
}
.menu.nested {
  margin-right: 0;
  margin-left: 1rem;
}
.menu.icons img,
.menu.icons i,
.menu.icons svg {
  vertical-align: middle;
}
.menu.icons img + span,
.menu.icons i + span,
.menu.icons svg + span {
  vertical-align: middle;
}
.menu.icon-top img,
.menu.icon-top i,
.menu.icon-top svg, .menu.icon-right img,
.menu.icon-right i,
.menu.icon-right svg, .menu.icon-bottom img,
.menu.icon-bottom i,
.menu.icon-bottom svg, .menu.icon-left img,
.menu.icon-left i,
.menu.icon-left svg {
  vertical-align: middle;
}
.menu.icon-top img + span,
.menu.icon-top i + span,
.menu.icon-top svg + span, .menu.icon-right img + span,
.menu.icon-right i + span,
.menu.icon-right svg + span, .menu.icon-bottom img + span,
.menu.icon-bottom i + span,
.menu.icon-bottom svg + span, .menu.icon-left img + span,
.menu.icon-left i + span,
.menu.icon-left svg + span {
  vertical-align: middle;
}
.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg, .menu.nested.icon-left li a img,
.menu.nested.icon-left li a i,
.menu.nested.icon-left li a svg {
  margin-right: 0.25rem;
  display: inline-block;
}
.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg, .menu.nested.icon-right li a img,
.menu.nested.icon-right li a i,
.menu.nested.icon-right li a svg {
  margin-left: 0.25rem;
  display: inline-block;
}
.menu.icon-top li a, .menu.nested.icon-top li a {
  text-align: center;
}
.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg, .menu.nested.icon-top li a img,
.menu.nested.icon-top li a i,
.menu.nested.icon-top li a svg {
  display: block;
  margin: 0 auto 0.25rem;
}
.menu.icon-bottom li a, .menu.nested.icon-bottom li a {
  text-align: center;
}
.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
.menu.nested.icon-bottom li a i,
.menu.nested.icon-bottom li a svg {
  display: block;
  margin: 0.25rem auto 0;
}
.menu .is-active > a {
  background: #cc0000;
  color: #fefefe;
}
.menu .active > a {
  background: #cc0000;
  color: #fefefe;
}
.menu.align-left {
  text-align: left;
}
.menu.align-right {
  text-align: right;
}
.menu.align-right .submenu li {
  text-align: left;
}
.menu.align-right.vertical .submenu li {
  text-align: right;
}
.menu.align-right .nested {
  margin-right: 1rem;
  margin-left: 0;
}
.menu.align-center {
  text-align: center;
}
.menu.align-center .submenu li {
  text-align: left;
}
.menu .menu-text {
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit;
}

.menu-centered > .menu {
  text-align: center;
}
.menu-centered > .menu .submenu li {
  text-align: left;
}

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

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

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

.accordion-menu li {
  width: 100%;
}
.accordion-menu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .is-accordion-submenu a {
  padding: 0.7rem 1rem;
}
.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem;
}
.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {
  position: relative;
}
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #cc0000 transparent transparent;
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1rem;
}
.accordion-menu.align-left .is-accordion-submenu-parent > a::after {
  right: 1rem;
  left: auto;
}
.accordion-menu.align-right .is-accordion-submenu-parent > a::after {
  right: auto;
  left: 1rem;
}
.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

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

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

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

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

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

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

.drilldown a {
  padding: 0.7rem 1rem;
  background: #fefefe;
}
.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}
.drilldown .is-drilldown-submenu.is-active {
  z-index: 1;
  display: block;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.drilldown .is-drilldown-submenu.is-closing {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.drilldown .is-drilldown-submenu a {
  padding: 0.7rem 1rem;
}
.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%;
}
.drilldown .is-drilldown-submenu-parent > a {
  position: relative;
}
.drilldown .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #cc0000;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 1rem;
}
.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #cc0000;
  right: 1rem;
  left: auto;
}
.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #cc0000 transparent transparent;
  right: auto;
  left: 1rem;
}
.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #cc0000 transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto;
}
.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a {
  position: relative;
  padding-right: 1.5rem;
}
.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-bottom-width: 0;
  border-color: #cc0000 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px;
}
[data-whatinput=mouse] .dropdown.menu a {
  outline: 0;
}
.dropdown.menu > li > a {
  background: #fefefe;
  padding: 0.7rem 1rem;
}
.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #cc0000;
}
.no-js .dropdown.menu ul {
  display: none;
}
.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0;
}
.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0;
}
.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto;
}
.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%;
}
.dropdown.menu.vertical > li > a::after {
  right: 14px;
}
.dropdown.menu.vertical > li.opens-left > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-left-width: 0;
  border-color: transparent #cc0000 transparent transparent;
  right: auto;
  left: 5px;
}
.dropdown.menu.vertical > li.opens-right > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: "";
  border-right-width: 0;
  border-color: transparent transparent transparent #cc0000;
}
@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #cc0000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #cc0000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #cc0000;
  }
}
@media print, screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
  }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem;
  }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-bottom-width: 0;
    border-color: #cc0000 transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
  }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0;
  }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
  }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%;
  }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
  }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-left-width: 0;
    border-color: transparent #cc0000 transparent transparent;
    right: auto;
    left: 5px;
  }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: "";
    border-right-width: 0;
    border-color: transparent transparent transparent #cc0000;
  }
}
.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative;
}

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

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

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

.title-bar {
  padding: 0.5rem;
  background: #0a0a0a;
  color: #fefefe;
}
.title-bar::before, .title-bar::after {
  display: table;
  content: " ";
}
.title-bar::after {
  clear: both;
}
.title-bar .menu-icon {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.title-bar-left {
  float: left;
}

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

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

.top-bar {
  padding: 0;
}
.top-bar::before, .top-bar::after {
  display: table;
  content: " ";
}
.top-bar::after {
  clear: both;
}
.top-bar,
.top-bar ul {
  background-color: rgba(170, 170, 170, 0.8);
}
.top-bar input {
  max-width: 250px;
  margin-right: 1rem;
}
.top-bar .input-group-field {
  width: 100%;
  margin-right: 0;
}
.top-bar input.button {
  width: auto;
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
  width: 100%;
}

@media print, screen and (min-width: 40em) {
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: auto;
  }
}
@media print, screen and (max-width: 63.99875em) {
  .top-bar.stacked-for-medium .top-bar-left,
  .top-bar.stacked-for-medium .top-bar-right {
    width: 100%;
  }
}
@media print, screen and (max-width: 74.99875em) {
  .top-bar.stacked-for-large .top-bar-left,
  .top-bar.stacked-for-large .top-bar-right {
    width: 100%;
  }
}

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0;
}
.top-bar-title .menu-icon {
  bottom: 2px;
}

.top-bar-left {
  float: left;
}

.top-bar-right {
  float: right;
}

.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: " ";
}
.clearfix::after {
  clear: both;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./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%;
  -webkit-transform: translate(0, -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;
}

.slick-loading .slick-list {
  background: url("./../images/vendors/ajax-loader.gif") center center no-repeat;
}

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

.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 {
  -webkit-transform: translate3d(0, 0, 0);
  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;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  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;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
          box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
#fc .fc-cart__item__option__value,
#fc .fc-cart__item__option__name {
  text-transform: capitalize;
}

/* ==========================================================================
   0. Variables
   ========================================================================== */
/* ==========================================================================
   1. General (Foundation Overrides)
   ========================================================================== */
body {
  font-family: "Roboto Condensed", sans-serif;
  color: #666;
  font-weight: 400;
  line-height: 1.7;
  font-size: 1.2rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: 1rem;
}

h1 {
  font-size: 48px;
}

h2 {
  font-size: 32px;
}

a {
  color: #ba1717;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a:hover {
  color: #666666;
}

ul,
ol {
  margin-right: 0;
  margin-bottom: 0;
}

table {
  min-width: 100%;
  margin-bottom: 0;
  border: 0;
}

table tr td,
table thead tr th {
  text-align: center;
}

table thead tr th {
  color: #fefefe;
  background: #707070;
}

.bg-img {
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.hidden {
  display: none !important;
}

.product-paragraph {
  color: #000;
  margin-bottom: 0.5rem;
  text-align: left;
  margin-right: 1rem;
}

.info--limit {
  line-height: 1.2em;
  overflow: hidden;
  margin-bottom: 0;
}
.info--height {
  height: 6em;
}

.parallax {
  position: relative;
  overflow: hidden;
  text-align: center;
}
.parallax h1,
.parallax h2 {
  position: relative;
  padding: 1.8rem;
  font-size: 2.25rem;
  top: 25%;
}
.parallax .img {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #333;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.parallax .img .bg-top {
  background-position: center top;
}
.parallax .img:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  opacity: 0.4;
  background: #000;
}

.white-popup {
  background: #fefefe;
  margin: 20px auto;
  max-width: 400px;
  padding: 20px;
  position: relative;
  width: auto;
}
.white-popup .popup-header {
  font-size: 1.2rem;
}
.white-popup .button-group {
  margin-bottom: 0;
  overflow: auto;
}

.no-results {
  color: #0a0a0a;
  font-size: 2rem;
  font-weight: 400;
  text-transform: uppercase;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 10;
  color: white;
  display: none;
}
.overlay--nav {
  display: block;
  top: 3.2rem;
}

.primary {
  color: #ba1717;
}

.primary-bg {
  background-color: #ba1717;
}

.primary-btn {
  border-radius: 4px;
  padding: 0.8rem 1.9rem;
  margin: 0;
  font-weight: 700;
}
.primary-btn a {
  color: #fefefe;
}

.red-bg {
  background-color: #ba1717;
}

.black-font {
  color: #333;
}

.red {
  color: #ba1717;
}

.white {
  color: #fefefe;
}

.button {
  font-weight: bold;
  background-color: #ba1717;
}

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

.button.secondary {
  background-color: #e7e7e7;
  color: #323232;
}

.black,
.button.black {
  background-color: #000000;
}

.button,
.text-uppercase {
  text-transform: uppercase;
}

.button:hover {
  background-color: #000000;
}

.button-group .button {
  padding-right: 0;
  padding-left: 0;
}

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

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

.font-bold {
  font-weight: 700;
}

.font-heavy {
  font-weight: 900;
}

.font-italic {
  font-style: italic;
}

.g-recaptcha {
  margin-bottom: 0.5rem;
  display: inline-block;
}

#captchaCheck {
  float: left;
  margin-left: 1rem;
  text-transform: uppercase;
}

.padded {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.padded.extra {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.padded.short {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.padded-left {
  padding-left: 0.5rem;
}

.padded-right {
  padding-right: 0.5rem;
}

.container-padding--b {
  padding-bottom: 4rem;
}

.accordion .accordion-navigation > .content {
  padding-right: 0;
  padding-left: 0;
}

.accordion-item:first-child > :first-child {
  font-weight: 700;
}

.anchor {
  position: relative;
  top: -3rem;
  display: block;
  visibility: hidden;
}

.full-width {
  width: 100%;
  max-width: 100%;
}

.menu.simple > li > a {
  padding: 0;
}

.menu > li:not(.menu-text) > a {
  padding: 1rem;
}

.fixed {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
}

.title-bar,
.top-bar {
  padding: 0;
}

.top-bar,
.top-bar ul {
  background-color: transparent;
}

.top-bar ul.is-dropdown-submenu {
  background-color: rgb(255, 255, 255);
  border: 0px;
}

.dropdown.menu .is-dropdown-submenu-parent.is-down-arrow > a::after {
  right: 0px;
}

.dropdown.menu > li > a:hover,
.dropdown.menu > li > ul li a:hover,
.dropdown.menu > li.is-active > a {
  color: #ba1717;
}

.dropdown.menu > li > ul li a {
  padding: 0.5rem 0rem;
}

address {
  font-style: normal;
}

.int.site-content {
  background-color: #f1f2f1;
}

@media only screen and (min-width: 40.063em) {
  .int.site-content .h2 {
    font-size: 2.6rem;
  }
}
/********* VIDEO *********/
#videos {
  margin-top: 3rem;
}
#videos a:hover {
  color: #666;
}
#videos a::before {
  background: rgba(255, 255, 255, 0);
}
#videos p {
  font-size: 1.6rem;
}
#videos #next-button {
  background-color: #fff;
}
#videos #video-container .column a, #videos #video-container .columns a {
  position: relative;
  display: block;
}

.white-popup.white-popup--wide {
  max-width: 700px;
}

.hover-item-link {
  display: block;
  padding: 1rem 0;
}

.hover-item {
  position: relative;
  display: block;
  -webkit-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  text-align: center;
}
.hover-item:hover .hover-item__img {
  opacity: 1;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.hover-item__header {
  line-height: 1.2;
  margin-bottom: 0;
  font-size: 1.2rem;
}
.hover-item__header,
.hover-item h6 small {
  color: #545454;
}
.hover-item__img {
  -webkit-transition: -webkit-all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 480px) {
  h1 {
    font-size: 2.7rem;
  }
  h2 {
    font-size: 2.1rem;
  }
  h3 {
    font-size: 2rem;
  }
  h5 {
    font-size: 1.5rem;
  }
  p {
    font-size: 1rem;
  }
}
.popup-bkg .mfp-img {
  background-color: #fff;
}

.popup-bkg .mfp-image-holder .mfp-close {
  color: #000;
  right: 0;
}

.breadcrumbs {
  margin-bottom: 0;
  background-color: #ba1717;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
@media print, screen and (max-width: 63.99875em) {
  .breadcrumbs {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.breadcrumbs ul {
  list-style: none;
  margin: 0;
}
.breadcrumbs ul li {
  font-size: 1rem;
  text-transform: capitalize;
  color: #fefefe;
}
.breadcrumbs ul li:not(:last-child)::after {
  color: #0a0a0a;
}
.breadcrumbs ul li a {
  color: #0a0a0a;
}

#wheel .breadcrumbs .row {
  background-color: transparent;
}

#login {
  background-color: #f1f2f1;
}
#login .inv-disclaimer {
  text-align: center;
}
#login input {
  max-width: 40%;
}
#login ul {
  list-style: none;
  margin-left: 0;
}
#login .page-content {
  background-color: #fefefe;
}

/* ==========================================================================
   8. magnific popup
   ========================================================================== */
.mfp-container {
  height: 100vh;
}

/* ==========================================================================
   10. Forms
   ========================================================================== */
/* honeypot */
.ohnohoney {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}

/* ==========================================================================
   9. loading spinner
   ========================================================================== */
.lds-ellipsis,
.lds-ellipsis div {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.lds-ellipsis {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
  color: #b9b9b9;
}

.lds-ellipsis div {
  position: absolute;
  top: 33.33333px;
  width: 13.33333px;
  height: 13.33333px;
  border-radius: 50%;
  background: currentColor;
  -webkit-animation-timing-function: cubic-bezier(0, 1, 1, 0);
          animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.lds-ellipsis div:nth-child(1) {
  left: 8px;
  -webkit-animation: lds-ellipsis1 0.6s infinite;
          animation: lds-ellipsis1 0.6s infinite;
}

.lds-ellipsis div:nth-child(2) {
  left: 8px;
  -webkit-animation: lds-ellipsis2 0.6s infinite;
          animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(3) {
  left: 32px;
  -webkit-animation: lds-ellipsis2 0.6s infinite;
          animation: lds-ellipsis2 0.6s infinite;
}

.lds-ellipsis div:nth-child(4) {
  left: 56px;
  -webkit-animation: lds-ellipsis3 0.6s infinite;
          animation: lds-ellipsis3 0.6s infinite;
}

@-webkit-keyframes lds-ellipsis1 {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes lds-ellipsis1 {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes lds-ellipsis3 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
}
@-webkit-keyframes lds-ellipsis2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(24px, 0);
            transform: translate(24px, 0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(24px, 0);
            transform: translate(24px, 0);
  }
}
.t-uppercase {
  text-transform: uppercase;
}
.t-center {
  text-align: center;
}
@media print, screen and (max-width: 39.99875em) {
  .t-center--sm {
    text-align: center;
  }
}
.t-right {
  text-align: right;
}

.color--gray {
  color: #666;
}

.margin--tb {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.padding--tb {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.f-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.border-b {
  border-bottom: 5px solid #ba1717;
}

.processing {
  background: transparent;
  color: #fefefe;
  text-align: center;
}

.white-popup {
  margin: 20px auto;
  max-width: 400px;
  padding: 20px;
  position: relative;
  width: auto;
}

.dark-popup {
  margin: 20px auto;
  max-width: 400px;
  padding: 20px;
  position: relative;
  width: auto;
  background-color: #242424;
  border: 1px solid #cccccc;
}
.dark-popup .mfp-close {
  color: #fefefe;
}

/* ==========================================================================
   2. Header
   ========================================================================== */
header .top-bar {
  /*padding: 21px 0;*/
}
header .top-bar a {
  font-size: 1.4rem;
  font-weight: 400;
  color: #fefefe;
  text-transform: uppercase;
  background: transparent;
}
header .top-bar .top-bar-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .top-bar .hp-btn-links a {
  font-size: 1.2rem;
  padding-left: 1.8rem;
  padding-right: 1.8rem;
  margin-left: 8px;
}
header .top-bar-title img {
  max-width: 200px;
}
header .header-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 0;
}
header .dropdown.menu > li > a {
  background: transparent;
}
header .dropdown.menu .is-dropdown-submenu {
  background-color: #ba1717;
  top: 48px !important;
  list-style: none;
  margin: 0;
}
@media only screen and (min-width: 1024px) and (max-width: 1212px) {
  header .dropdown.menu .is-dropdown-submenu {
    top: 45px !important;
  }
}
header .dropdown.menu .is-dropdown-submenu a {
  font-size: 1.25rem;
  color: #fefefe;
  font-weight: 400;
  text-transform: capitalize;
}
header .dropdown.menu .is-dropdown-submenu a:hover {
  color: #0a0a0a;
}
header .dropdown.menu .is-dropdown-submenu .is-submenu-item {
  border-bottom: 1px solid #fefefe;
  margin: 0;
  padding: 0.5rem;
}
header .dropdown.menu .is-dropdown-submenu .is-submenu-item:last-child {
  border-bottom: 0;
}

/*.dropdown.menu>li.opens-right>.is-dropdown-submenu {
  top: 154%;
  min-width: 280px;
  padding-bottom: 20px;
}*/
/* mobile */
.menu-icon.dark:hover:after, .menu-icon.dark:after {
  background: #ffffff;
  -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
          box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
}

/* Media Queries */
@media screen and (max-width: 480px) {
  .menu > li:not(.menu-text) > a {
    padding: 0.7rem 0.5rem;
  }
  header .top-bar .top-bar-left {
    padding-top: 20px;
  }
}
@media screen and (max-width: 1023px) {
  header {
    padding: 0;
  }
  header .menu.nav-social {
    display: block;
  }
  header .top-bar-title {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header .top-bar-title span {
    float: right;
  }
  header .top-bar .top-bar-left,
  header .top-bar .top-bar-right {
    border-right: 0px;
    width: 100%;
  }
  header .top-bar .top-bar-right {
    padding: 10px 20px 20px;
  }
  header .top-bar .top-bar-left ul ul div div {
    border-right: 0;
    margin: 0;
  }
  header .top-bar .top-bar-left ul ul div div:last-child {
    border: none;
  }
  header .top-bar .top-bar-left .dropdown.menu .submenu li {
    padding-left: 0;
    padding-right: 0;
    border-bottom: 0;
    border-top: 1px solid #eeeeee;
  }
  header.fixed {
    position: inherit;
  }
  .menu-icon::after {
    background-color: #999999;
    -webkit-box-shadow: 0 7px 0 #999999, 0 14px 0 #999999;
            box-shadow: 0 7px 0 #999999, 0 14px 0 #999999;
  }
  .menu > li {
    display: inherit;
  }
  .dropdown.menu .submenu {
    position: relative;
    border: 0;
  }
}
@media only screen and (max-width: 1262px) {
  header .top-bar .top-bar-left {
    padding-right: 0;
  }
}
/* ==========================================================================
   3. Top bar
   ========================================================================== */
@media print, screen and (max-width: 63.99875em) {
  #header {
    height: 40.25px !important;
  }
}
#header.sticky-menu-open {
  height: 640px !important;
}

.sticky-container {
  z-index: 10;
  height: 40.25px;
}
@media print, screen and (min-width: 64em) {
  .sticky-container {
    height: 89px;
  }
  .sticky-container .top-bar-left, .sticky-container .header-logo {
    height: 88px;
  }
}
.sticky-container .sticky.is-anchored {
  position: fixed;
}

header.main {
  background-color: #0a0a0a;
  border-bottom: 1px solid #7f8283;
  position: relative;
  z-index: 10;
}

.basket-icon {
  color: #ffcc00;
  padding-right: 2px;
}

header {
  /*/// Pencil Navigation ///*/
}
header .pencil-top-bar {
  height: 51px;
  background: #ba1717;
  background: linear-gradient(-75deg, black 35%, #ba1717 35%, #ba1717 40%);
  /* Standard syntax */
}
@media (min-width: 1024px) and (max-width: 1200px) {
  header .pencil-top-bar {
    background: linear-gradient(-75deg, black 33%, #ba1717 33%, #ba1717 40%);
  }
}
header .pencil-top-announcement {
  color: white;
  height: 100%;
}
header .pencil-top-menu .menu > li:not(.menu-text) > a {
  text-transform: uppercase;
  color: #666;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
  font-size: 0.9rem;
  line-height: 1.5 !important;
  margin: 0;
  padding: 1rem 0.8rem;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  header .pencil-top-menu .menu > li:not(.menu-text) > a {
    padding: 1rem 0.3rem;
  }
}
header .pencil-top-menu .menu > li:not(.menu-text) > a:hover {
  color: white;
}
header .pencil-top-announcement {
  font-family: "Montserrat", "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 8px 0;
  white-space: nowrap;
}
header .announcement-large {
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: uppercase;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  header .announcement-large {
    font-size: 1.1rem;
  }
}
header .announcement-small {
  font-size: 1rem;
  font-weight: 500;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  header .announcement-small {
    font-size: 0.9;
  }
}
header {
  /*/// Main Navigation ///*/
}
header .top-bar {
  /*padding: 15px;*/
  background-color: #0a0a0a;
}
@media only screen and (min-width: 64rem) {
  header .top-bar {
    /*padding: 20px 0 10px;*/
  }
  header .top-bar .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding: 0;
  }
}
@media only screen and (max-width: 64rem) {
  header .top-bar .top-bar-right {
    margin-top: 1rem;
    border-top: 1px solid #666;
  }
}
header .top-bar .menu.icon-top > li > a {
  color: #2e3130;
}
@media screen and (max-width: 64rem) {
  header .top-bar .menu.icon-top > li > a {
    text-align: left;
    font-size: 1.3rem;
    padding: 0.5rem;
  }
  header .top-bar .menu.icon-top > li > a i {
    display: none;
  }
}
header .top-bar {
  /*.first-sub {
    left: 0 !important;
    right: 0 !important;
    top: 119% !important;
    border-top: 1px solid #ccc;
  }*/
}
@media only screen and (max-width: 64rem) {
  header .top-bar .header-logo {
    top: 0;
  }
}
header .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a:after {
  display: none;
}

@media only screen and (min-width: 64rem) {
  .vertical-rule-left {
    border-left: 1px #2e3130 solid;
  }
}

header .menu > li:not(.menu-text) > a {
  padding: 0.1rem;
  margin: 0 0.6rem;
  font-family: "Roboto Condensed", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media print, screen and (min-width: 64em) {
  header .menu > li:not(.menu-text) > a {
    margin: 0 0.85rem;
  }
}
@media only screen and (max-width: 64rem) {
  header .menu > li:not(.menu-text) > a {
    margin-left: 0;
  }
}

/* ==========================================================================
   2. Header
   ========================================================================== */
/* mobile */
.menu-icon.dark:hover:after, .menu-icon.dark:after {
  background: #ffffff;
  -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
          box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
}

/* Media Queries */
@media screen and (max-width: 480px) {
  .menu > li:not(.menu-text) > a {
    padding: 0.7rem 0.5rem;
  }
  header .top-bar .top-bar-left {
    padding-top: 20px;
  }
}
@media screen and (max-width: 1023px) {
  header {
    padding: 0;
  }
  header .menu.nav-social {
    display: block;
  }
  header .top-bar-title {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
  }
  header .top-bar-title span {
    float: none;
    padding-left: 0.25rem;
    margin-left: 0.5rem;
  }
  header .top-bar-title img {
    max-width: 60px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  header .top-bar .top-bar-left,
  header .top-bar .top-bar-right {
    border-right: 0px;
    width: 100%;
  }
  header .top-bar .top-bar-right {
    padding: 10px 20px 20px;
  }
  header .top-bar .top-bar-right .header-cta-top {
    text-align: left;
  }
  header .top-bar .top-bar-right .header-cta-bottom {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  header .top-bar .top-bar-left li {
    padding-left: 20px;
    padding-right: 20px;
  }
  header .top-bar .top-bar-left ul ul div div {
    border-right: 0;
    margin: 0;
  }
  header .top-bar .top-bar-left ul ul div div:last-child {
    border: none;
  }
  header .top-bar .top-bar-left .dropdown.menu .submenu li {
    padding-left: 0;
    padding-right: 0;
    border-bottom: 0;
    border-top: 1px solid #eeeeee;
  }
  header.fixed {
    position: inherit;
  }
  .menu-icon::after {
    background-color: #999999;
    -webkit-box-shadow: 0 7px 0 #999999, 0 14px 0 #999999;
            box-shadow: 0 7px 0 #999999, 0 14px 0 #999999;
  }
  .menu > li {
    display: inherit;
  }
  .dropdown.menu .submenu {
    position: relative;
    border: 0;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1212px) {
  header .top-bar a {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 1262px) {
  header .top-bar .top-bar-left {
    padding-right: 0;
  }
}
/* mobile */
.header-logo img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.top-bar-title {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  border-bottom: 0 solid #0a0a0a;
}
.top-bar-title .menu-icon:after {
  background-color: #fefefe;
  -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
          box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
}

.menu-open.top-bar-title {
  border-bottom-width: 1px;
}
.menu-open .header-logo img {
  max-width: 94px;
}

.is-dropdown-menu {
  width: 100%;
  padding-top: 1rem;
}
header .is-dropdown-menu .is-drilldown .menu > li:not(.menu-text) > a, header .is-dropdown-menu .is-drilldown .submenu > li:not(.menu-text) > a {
  padding: 0.75rem 1rem;
  display: block;
  line-height: 1;
}

.is-drilldown-submenu.is-active {
  margin: 0;
  background-color: #0a0a0a;
}

/* ==========================================================================
   2. Right Bar
   ========================================================================== */
header .header-cta {
  padding-bottom: 1rem;
}
header .header-cta a {
  font-weight: 300;
  color: #fefefe;
  font-size: 1rem;
}
header .header-cta a:hover {
  color: #ba1717;
}
header .header-cta-top {
  text-align: right;
  padding-bottom: 0.5rem;
}
header .header-cta-top a {
  text-transform: capitalize;
  font-size: 0.9735rem;
}
header .header-cta-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header .header-cta-login {
  margin-right: 0.75rem;
  padding-right: 0.75rem;
  border-right: 1px solid #7f8283;
}
header .header-cta-login i {
  color: #fefefe;
  font-size: 0.85rem;
}
header .header-cta-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
header .header-cta-social ul {
  margin-left: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .header-cta-social li {
  margin: 0 1px;
}
header .header-cta-social a {
  width: 26px;
  height: 26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0a0a0a;
  font-weight: 400;
  border-radius: 50px;
  background-color: #fefefe;
  font-size: 1rem;
}
header .header-cta-social a:hover {
  background-color: #ba1717;
  color: #fefefe;
}
header .header-cta-social a img {
  width: 75%;
}

@media print, screen and (max-width: 39.99875em) {
  .no-js .top-bar {
    display: none;
  }
  .no-js #responsive-menu {
    display: none;
  }
}
@media print, screen and (min-width: 40em) {
  .no-js .title-bar {
    display: none;
  }
}

/* ==========================================================================
   2. Header - Homepage only
   ========================================================================== */
/*.sticky-container.hp {
  @include breakpoint (large) {
    position:absolute;
    width:100%;
    opacity:0;
    transition: all .2s ease-in-out;
  }
}*/
footer {
  background-color: #ba1717;
  color: #fefefe;
  position: relative;
}
@media print, screen and (min-width: 64em) {
  footer {
    padding-top: 4rem;
  }
}
footer ul {
  margin-left: 0;
  list-style: none;
  line-height: 1.25;
}
footer a {
  color: #fefefe;
}

.footer li {
  display: list-item;
  margin: 0;
}
.footer-top {
  padding-bottom: 4rem;
}
.footer-top .row {
  padding-top: 2rem;
}
@media print, screen and (min-width: 64em) {
  .footer-top .row {
    padding-top: 0;
  }
}
.footer-top .row > div {
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 64em) {
  .footer-top .row > div {
    margin-bottom: 0;
  }
}
.footer-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (min-width: 64em) {
  .footer-logo {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 2rem;
  }
}
.footer .disclaimer p {
  font-size: 0.85rem;
  line-height: 1.35rem;
}
.footer .disclaimer p span {
  font-weight: 600;
  text-transform: capitalize;
}
.footer-dealer-links-title {
  text-transform: uppercase;
}
.footer-newsletter {
  margin-top: 2rem;
}
.footer-newsletter h2 {
  font-size: 1.5rem;
}
.footer-newsletter input.button {
  background-color: #0a0a0a;
}
.footer-newsletter input.button:hover {
  background-color: #cccccc;
  color: #ba1717;
}
.footer-newsletter .input-group-button {
  vertical-align: top;
}
.footer-newsletter #mce-responses {
  white-space: normal;
  line-height: 1.25;
  font-size: 1rem;
}

.footer-cta-container > .row.social-link-hashtag {
  padding-top: 0;
  color: black;
  font-size: 24px;
  font-weight: 700;
}
.footer-cta-container > .row.social-link-hashtag a {
  color: #0a0a0a;
}

.footer-bottom {
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
  text-transform: capitalize;
}
.footer-bottom .disclaimer {
  text-align: left;
}

.footer-cta-container > .row .collapse .small-up-3 {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #f1f2f1;
}

.footer-return {
  text-align: right;
  float: right;
  position: absolute;
  right: 0;
  top: -18px;
}
@media print, screen and (min-width: 64em) {
  .footer-return {
    margin-top: -81px;
    position: static;
  }
}
.footer-return a {
  color: #fefefe !important;
  width: 60px;
  height: 60px;
  background: #0a0a0a;
  z-index: 1;
  /* Rotate */
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  /* Rotate Origin */
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.footer-return a i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  font-size: 2rem;
}
.footer-return a:hover {
  background-color: #cccccc !important;
  color: #ba1717 !important;
}

.footer-cta {
  background-color: #707070;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.footer-cta-container {
  background-color: #f1f2f1;
}
.footer-cta > div {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.footer-cta ul {
  margin-left: 0;
  list-style: none;
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer-cta li {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.footer-cta-container .row > div {
  /* &:first-child {
     border-right:1px solid $white;
   }*/
}
.footer-cta-container > .row {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background-color: #fefefe;
}
.footer-cta-title h4 {
  color: #fefefe;
  text-transform: capitalize;
  font-size: 1.25rem;
  font-weight: 400;
}
.footer-cta-social a, .footer-cta-newsletter a {
  width: 65px;
  height: 65px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #707070;
  font-weight: 400;
  border-radius: 50px;
  font-size: 2rem;
}
.footer-cta-social-link {
  background-color: #707070;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-right: 2px solid #fefefe;
  padding-bottom: 1rem;
  padding-top: 1rem;
}
@media print, screen and (min-width: 40em) {
  .footer-cta-social-link {
    border-right-width: 4px;
    padding-bottom: 2rem;
    padding-top: 2rem;
  }
}
.footer-cta-container .row > .column:last-child .footer-cta-social-link, .footer-cta-container .row > .columns:last-child .footer-cta-social-link {
  border-right: 0;
}
.footer-cta-icon {
  width: 65px;
  height: 65px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #707070;
  font-weight: 400;
  border-radius: 50px;
  background-color: #fefefe;
  font-size: 2rem;
}
@media print, screen and (min-width: 40em) {
  .footer-cta-icon {
    margin-bottom: 1rem;
  }
}
.footer-cta-text {
  color: #fefefe;
  text-transform: capitalize;
}

.home-slider-container {
  margin-bottom: 0;
}
.home-slider-container .slick-slide {
  position: relative;
}

.home-slider-img {
  width: 100%;
}

.hero {
  position: relative;
}
@media print, screen and (min-width: 40em) {
  .hero {
    margin-top: -60px;
  }
}
.hero-link {
  display: block;
}
.hero img {
  width: 100%;
}
.hero .video.youtube {
  position: relative;
  padding-bottom: 54.7%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero .video.youtube embed, .hero .video.youtube object, .hero .video.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-bkg {
  background-position: top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media print, screen and (min-width: 40em) {
  .hero-bkg {
    background-size: cover;
  }
}

.hero-overlay {
  background-color: #ba1717;
}
.hero-overlay-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 1023px) {
  .hero-overlay-content {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
@media print, screen and (min-width: 64em) {
  .hero-overlay {
    position: absolute;
    top: 20%;
    right: 0;
    padding: 0;
    background-color: transparent;
  }
}
.hero-overlay-info {
  display: inline-block;
  background-color: rgb(0, 102, 178);
  padding: 0.5rem;
  color: #fefefe;
  max-width: 500px;
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .hero-overlay-info {
    padding: 1rem 1rem 1rem 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  .hero-overlay-info {
    margin: 0 0 1rem;
    background-color: rgba(0, 102, 178, 0.8);
    clip-path: polygon(6% 0, 100% 0%, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(6% 0, 100% 0%, 100% 100%, 0 100%);
  }
}
.hero-overlay-info--small {
  font-size: 1rem;
  font-weight: 400;
  margin: 0;
}
@media print, screen and (min-width: 40em) {
  .hero-overlay-info--small {
    font-size: 1.43rem;
  }
}
.hero-overlay-info--medium {
  font-size: 1.7rem;
  font-style: italic;
}
@media print, screen and (min-width: 40em) {
  .hero-overlay-info--medium {
    font-size: 2.4rem;
  }
}
.hero-overlay-info--large {
  color: #fefefe;
  font-size: 2rem;
  font-style: italic;
  margin: 0;
}
@media print, screen and (min-width: 40em) {
  .hero-overlay-info--large {
    font-size: 4.6rem;
  }
}
.hero-overlay-header {
  font-family: "Roboto Condensed";
  text-transform: capitalize;
  font-style: italic;
  font-size: 2rem;
  margin-bottom: 0;
}
@media print, screen and (min-width: 64em) {
  .hero-overlay-header {
    margin-top: 1rem;
    font-size: 3.2rem;
    margin-bottom: 0.5rem;
  }
}
.hero-overlay-desc {
  text-transform: capitalize;
  font-weight: 300;
  line-height: 1.2;
  font-size: 2rem;
  font-style: italic;
  margin-bottom: 0;
}
@media print, screen and (min-width: 64em) {
  .hero-overlay-desc {
    margin-bottom: 1rem;
  }
}

.hero-btn {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media print, screen and (min-width: 40em) {
  .hero-btn {
    display: inline-block;
  }
}
@media (max-width: 1023px) {
  .hero-btn {
    margin: 0 auto 1rem;
  }
}

.cta {
  background-color: #0a0a0a;
  padding: 1rem 0.5rem;
}
@media print, screen and (min-width: 64em) {
  .cta {
    padding: 3rem 2rem;
  }
}
.cta .column, .cta .columns {
  padding-bottom: 1rem;
}
.cta .column:nth-child(5), .cta .columns:nth-child(5), .cta .column:last-child, .cta .columns:last-child {
  padding-bottom: 0;
}
@media print, screen and (min-width: 64em) {
  .cta .column, .cta .columns {
    padding: 2rem;
  }
}
.cta a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-bottom: 100%;
  background-color: #0a0a0a;
}
.cta a .cta-bg:before {
  background-color: rgba(0, 0, 0, 0.5);
}
.cta a:hover .cta-bg {
  background-size: 105%;
}
.cta a:hover .cta-bg:before {
  background-color: rgba(0, 0, 0, 0.7);
}
.cta-bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-size: 100%;
  background-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.cta-bg:before {
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cta-item {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (min-width: 64em) {
  .cta-item {
    min-height: 200px;
    width: 100%;
  }
}
.cta-title {
  text-transform: uppercase;
  text-shadow: 0 0 5px #0a0a0a;
  color: #fefefe;
  font-weight: 400;
  font-size: 2rem;
}

.cta-main a {
  pointer-events: none;
}

.hp .cta-bar {
  text-align: center;
  padding: 1rem 0;
  background-color: #0a0a0a;
}
@media print, screen and (min-width: 64em) {
  .hp .cta-bar {
    padding: 2rem 0;
  }
}
.hp .cta-bar .button {
  font-size: 1rem;
  margin-bottom: 0;
  border-radius: 5px;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  line-height: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 300px;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (min-width: 64em) {
  .hp .cta-bar .button {
    font-size: 1.5rem;
    max-width: 530px;
  }
}
.hp .cta-bar .button:hover {
  background-color: #cccccc;
  color: #0a0a0a;
}
.hp .cta-bar .button span {
  margin-left: 1rem;
}
.hp .cta-bar.inverse {
  background-color: #ba1717;
}
.hp .cta-bar.inverse .button {
  background-color: #0a0a0a;
}
.hp .cta-bar.inverse .button:hover {
  background-color: #cccccc;
}

.vehicle-select {
  background-color: #fefefe;
}
.vehicle-select__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 1rem;
}
@media print, screen and (min-width: 64em) {
  .vehicle-select__top {
    padding: 1rem 0;
    border-bottom: 1px solid #aaaaaa;
  }
}
.vehicle-select__header {
  font-size: 2rem;
  font-family: Roboto;
  font-weight: 900;
  margin: 0;
}
.vehicle-select__icon {
  color: #ba1717;
}
.vehicle-select__links {
  margin-bottom: 1rem;
}
.vehicle-select__links a {
  color: #ba1717;
  font-size: 0.9rem;
  font-weight: 500;
  font-style: italic;
  text-transform: uppercase;
  text-decoration: underline;
}
@media print, screen and (min-width: 64em) {
  .vehicle-select__links a {
    font-size: 1rem;
  }
}
.vehicle-select__bottom {
  padding-top: 1rem;
  font-weight: 700;
}
@media print, screen and (min-width: 64em) {
  .vehicle-select__bottom {
    padding: 1rem 0;
  }
}
.vehicle-select .select {
  border: 1px solid #ccc;
}
.vehicle-select .select:disabled {
  background-color: #ddd;
}

.home-panels__left, .home-panels__center, .home-panels__right {
  min-height: 396px;
  position: relative;
}
.home-panels__left {
  background-image: url("/images/home/panel-left.jpg");
  background-size: cover;
}
.home-panels__center {
  background-image: url("/images/home/panel-center.jpg");
  background-size: cover;
}
@media only screen and (min-width: 40rem) {
  .home-panels__center {
    border-left: 1px solid white;
    border-right: 1px solid white;
  }
}
.home-panels__right {
  background-image: url("/images/home/panel-right.jpg");
  background-size: cover;
}
.home-panels__btn {
  bottom: 3rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.text-banner {
  padding: 3rem 0;
}
.text-banner__header {
  color: #2e3130;
  font-size: 2.7rem;
  font-weight: 700;
}

.text-banner--primary {
  background-color: #ba1717;
  font-size: 1.4rem;
  font-weight: 600;
  color: #fefefe;
  padding: 1rem 0;
}
.text-banner--primary__header {
  display: inline-block;
  font-size: 1.4rem;
  color: #fefefe;
  margin: 0;
}

.home-vehicle-packages__header {
  font-size: 2.9rem;
}
.home-vehicle-packages .column-block {
  margin-top: 1.2rem;
}
.home-vehicle-packages__img {
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-vehicle-packages__img:hover {
  -webkit-transform: scale(1.2) rotate(-3deg);
          transform: scale(1.2) rotate(-3deg);
  -webkit-transition: all 300ms;
  transition: all 300ms;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-vehicle-packages .vehicle-title {
  font-size: 1rem;
  color: #666;
  text-transform: uppercase;
}

.featured-wheels {
  background-color: #242424;
  color: #fefefe;
  padding: 1rem 0;
}
@media print, screen and (min-width: 64em) {
  .featured-wheels {
    padding: 2rem 0;
  }
}
.featured-wheels-header {
  margin-bottom: 2rem;
}
.featured-wheels-header h2 {
  font-weight: 900;
  margin-bottom: 0;
  text-align: center;
  color: #fefefe;
  font-size: 1.9rem;
}
@media print, screen and (min-width: 64em) {
  .featured-wheels-header {
    font-size: 3.5rem;
  }
}
.featured-wheels-header:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 60%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 64em) {
  .featured-wheels-header:after {
    width: 40%;
  }
}
.featured-wheels-container {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  justify-items: center;
}
@media print, screen and (min-width: 64em) {
  .featured-wheels-container {
    grid-template-columns: repeat(5, 20%);
  }
}
.featured-wheels .info h6 {
  font-size: 0.75rem;
  line-height: 1;
  color: #fefefe;
}
@media print, screen and (min-width: 40em) {
  .featured-wheels .info h6 {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .featured-wheels .info h6 {
    font-size: 1.25rem;
  }
}
.featured-wheels .info h6 span {
  color: #7f8283;
  font-size: 0.7rem;
}
@media print, screen and (min-width: 40em) {
  .featured-wheels .info h6 span {
    font-size: 0.9rem;
  }
}
@media print, screen and (min-width: 64em) {
  .featured-wheels .info h6 span {
    font-size: 1.1rem;
  }
}

#featured-slider {
  margin-left: 1rem;
  margin-right: 1rem;
}
@media print, screen and (min-width: 64em) {
  #featured-slider {
    margin-left: auto;
    margin-right: auto;
  }
}

.featured-slider {
  position: relative;
}
.featured-prev, .featured-next {
  position: absolute;
  display: block;
  /*    height: 20px;
      width: 20px;*/
  line-height: 0px;
  font-size: 5rem;
  cursor: pointer;
  background: transparent;
  color: #7f8283;
  top: 35%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
@media print, screen and (min-width: 64em) {
  .featured-prev, .featured-next {
    top: 40%;
  }
}
.featured-prev:hover, .featured-next:hover {
  color: #7f8283;
}
.featured-prev {
  left: -5px;
}
.featured-prev img {
  width: 30px;
}
@media print, screen and (min-width: 64em) {
  .featured-prev {
    left: -70px;
  }
  .featured-prev img {
    width: auto;
  }
}
.featured-next {
  right: -5px;
}
.featured-next img {
  width: 30px;
}
@media print, screen and (min-width: 64em) {
  .featured-next {
    right: -70px;
  }
  .featured-next img {
    width: auto;
  }
}

.newsletter {
  background-color: #ba1717;
  padding: 1rem 0.5rem;
}
@media print, screen and (min-width: 40em) {
  .newsletter {
    padding: 2rem;
  }
}
.newsletter--position {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media print, screen and (max-width: 39.99875em) {
  .newsletter--position {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.newsletter__header {
  color: #fefefe;
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 0.7rem;
}
@media print, screen and (min-width: 40em) {
  .newsletter__header {
    font-size: 2rem;
    margin: 0;
  }
}

.signup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.signup__input {
  display: inline-block;
  margin: 0;
}
.signup__input--font {
  font-family: FontAwesome, "roboto";
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 500;
}
.signup__btn {
  background-color: #0a0a0a;
  margin: 0;
}

.home-gallery {
  min-height: 695px;
  position: relative;
}
.home-gallery::before {
  position: absolute;
  content: "";
  background: rgba(0, 0, 0, 0.5);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.home-gallery__bg {
  max-height: 695px;
  z-index: -1;
  overflow: hidden;
}
.home-gallery__bg--padding {
  padding: 0.15rem;
}
.home-gallery__text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}
.home-gallery__header, .home-gallery__description {
  color: #fefefe;
}
.home-gallery__header {
  font-size: 3.5rem;
}
.home-gallery__description {
  font-weight: 500;
}

.instagram-feed .instagram-header {
  border-top: 1px solid #0a0a0a;
  border-bottom: 1px solid #0a0a0a;
  margin-bottom: 2rem;
}
.instagram-feed .instagram-header h2 {
  margin-bottom: 0;
  text-align: center;
}
.instagram-feed .eapps-instagram-feed {
  border-bottom: 2px solid #ba1717;
}

.instagram-container {
  padding-bottom: 6rem;
}
.instagram-container a {
  display: block;
  padding-bottom: 100%;
  background-position: center;
  background-size: cover;
}

.instagram-popup {
  max-width: 80rem;
  padding: 0;
  border-radius: 3px;
  font-weight: 400;
}
.instagram-popup > div {
  margin: 0;
  max-width: none;
}
.instagram-popup-img {
  width: 100%;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.instagram-popup-profilepic {
  border-radius: 2px;
}
.instagram-popup-page {
  display: block;
  position: relative;
}
.instagram-popup-page:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0);
  z-index: 1;
}
.instagram-popup-page:hover:before {
  background-color: rgba(0, 0, 0, 0.5);
}
.instagram-popup-link {
  color: #fefefe;
  display: block;
  padding: 5px;
  text-transform: uppercase;
  text-align: center;
  font-size: 0.9rem;
  background-color: #ba1717;
  border-radius: 2px;
}
.instagram-popup .no-padding {
  padding: 0;
}

@media print, screen and (min-width: 64em) {
  .hp .parallax {
    min-height: 550px;
  }
}
.hp .parallax .img {
  height: 1000px;
}
.hp .parallax-01 .img {
  bottom: 50%;
}
.hp .parallax-02 .img {
  bottom: 140%;
}
.hp .parallax-03 {
  min-height: 1000px;
}
.hp .parallax-03 .img {
  bottom: 20%;
  height: 2000px;
  background-size: 100%;
}
.hp .parallax-03 .img:after {
  display: none;
}

.hp .parallax-plus {
  position: relative;
  letter-spacing: 3px;
  font-family: "Roboto";
  overflow: hidden;
}
.hp .parallax-plus .parallax-plus-foreground-container {
  text-align: center;
  background-color: rgba(0, 0, 0, 0.3);
  padding-top: 8%;
  padding-bottom: 8%;
}
.hp .parallax-plus .parallax-plus-foreground-logo {
  margin-bottom: 2rem;
}
.hp .parallax-plus .parallax-plus-foreground-logo img {
  width: 50%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 40em) {
  .hp .parallax-plus .parallax-plus-foreground-logo img {
    width: 60%;
  }
}
@media print, screen and (min-width: 64em) {
  .hp .parallax-plus .parallax-plus-foreground-logo img {
    width: 80%;
  }
}
@media screen and (min-width: 75em) {
  .hp .parallax-plus .parallax-plus-foreground-logo img {
    width: auto;
  }
}
.hp .parallax-plus .parallax-plus-foreground-text {
  text-transform: uppercase;
  color: #fefefe;
  font-size: 0.8375rem;
}
@media print, screen and (min-width: 40em) {
  .hp .parallax-plus .parallax-plus-foreground-text {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .hp .parallax-plus .parallax-plus-foreground-text {
    font-size: 1.2rem;
  }
}
.hp .parallax-plus .parallax-plus-foreground-text .dot {
  margin: 0 0.5rem;
  vertical-align: middle;
  font-size: 2rem;
}
.hp .parallax-plus .parallax-plus-background-container {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
}
.hp .parallax-plus .parallax-plus-background-container .parallax-plus-image {
  padding-bottom: 800px;
  background-attachment: fixed;
  background-size: 100%;
  background-position: bottom;
}

.hp .video {
  position: relative;
  letter-spacing: 3px;
  font-family: "Roboto";
  overflow: hidden;
}
.hp .video .video-foreground-container {
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5);
  padding-top: 8%;
  padding-bottom: 8%;
}
.hp .video .video-foreground-logo {
  margin-bottom: 2rem;
}
.hp .video .video-foreground-logo img {
  width: 50%;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 40em) {
  .hp .video .video-foreground-logo img {
    width: 60%;
  }
}
@media print, screen and (min-width: 64em) {
  .hp .video .video-foreground-logo img {
    width: 80%;
  }
}
@media screen and (min-width: 75em) {
  .hp .video .video-foreground-logo img {
    width: auto;
  }
}
.hp .video .video-foreground-text {
  text-transform: uppercase;
  color: #fefefe;
  font-size: 0.8375rem;
}
@media print, screen and (min-width: 40em) {
  .hp .video .video-foreground-text {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 64em) {
  .hp .video .video-foreground-text {
    font-size: 1.2rem;
  }
}
.hp .video .video-foreground-text .dot {
  margin: 0 0.5rem;
  vertical-align: middle;
  font-size: 2rem;
}
.hp .video .video-background-container {
  position: absolute;
  top: -8%;
  left: 0;
  bottom: -8%;
  right: 0;
  z-index: -1;
}

.accordion-filter {
  text-align: center;
  margin-right: 1rem;
  margin-left: 1rem;
}
@media print, screen and (min-width: 40em) {
  .accordion-filter {
    margin-right: auto;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.accordion-filter__header {
  font-size: 1rem;
  display: inline-block;
  margin: 0;
}
.accordion-filter__header--mobile {
  border: 1px solid #aaaaaa;
  padding: 1rem;
  text-transform: capitalize;
  font-size: 1rem;
  color: #0a0a0a;
}
.accordion-filter__content {
  border: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .accordion-filter__content {
    padding-left: 0;
    padding-right: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__dropdown {
    margin: 0 0.5rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.accordion-filter__dropdown select {
  padding: 1rem;
  height: auto;
  background-position: right 0rem center;
}
@media print, screen and (min-width: 40em) {
  .accordion-filter__dropdown select {
    padding: 0.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__dropdown select {
    margin: 0;
  }
}
.accordion-filter__btn {
  margin: 0;
  padding: 0.65rem 1rem;
  font-size: 1rem;
}
@media print, screen and (max-width: 39.99875em) {
  .accordion-filter__btn {
    max-width: none;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.selectedVehicleBar {
  position: relative;
  background-color: #ebebeb;
}
.selectedVehicleBar .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 80px;
  max-width: 75rem;
  margin: 0 auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media print, screen and (max-width: 39.99875em) {
  .selectedVehicleBar .layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.selectedVehicleBar img {
  max-height: 100px;
}
.selectedVehicleBar .row--small {
  max-width: 67rem;
}
.selectedVehicleBar__content {
  padding-left: 0;
  padding-right: 0;
}
.selectedVehicleBar__content--noMargin {
  margin: 0;
}
@media print, screen and (min-width: 40em) {
  .selectedVehicleBar__content {
    margin: 1.5rem auto 0;
  }
}
.selectedVehicleBar__text {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0;
}
@media print, screen and (min-width: 40em) {
  .selectedVehicleBar__text {
    font-size: 2rem;
  }
}
.selectedVehicleBar__span {
  color: #6a6a6a;
  white-space: nowrap;
}
.selectedVehicleBar__btn {
  width: 100%;
  margin-bottom: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.selectedVehicleBar--smaller {
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 1rem;
}

.pencil-top-search {
  padding: 11px 0;
}

.nav-search {
  display: inline-block;
}
@media print, screen and (min-width: 64em) {
  .nav-search {
    margin-left: 1rem;
  }
}

.search-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  vertical-align: center;
  margin-bottom: 0.8rem;
}
.search-link__text {
  position: relative;
  font-size: 0.9rem;
  top: 0.2rem;
  color: #0a0a0a;
  font-weight: 500;
  text-decoration: underline;
}
@media (min-width: 1024px) and (max-width: 1200px) {
  .search-link__text {
    font-size: 0.9rem;
  }
}
@media only screen and (min-width: 1024px) {
  .search-link__text {
    color: #fefefe;
  }
}

.search-icon {
  color: rgba(0, 0, 0, 0.8);
  font-size: 1.5rem;
  margin-right: 0.2rem;
  padding-left: 0.5rem;
}
@media print, screen and (min-width: 64em) {
  .search-icon {
    padding-left: 0;
    color: rgba(255, 255, 255, 0.8);
  }
}

.search-box {
  display: none;
  position: absolute;
  bottom: 0.7rem;
  width: 423px;
  z-index: 11;
}
@media screen and (max-width: 1024px) {
  .search-box {
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.search-btn {
  border-radius: 0;
}

#wheels .products-list, #wheel-brands .products-list {
  padding-top: 2rem;
}
#wheels .hover-item h6, #wheel-brands .hover-item h6 {
  color: #ba1717;
  font-weight: 400;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#wheels .hover-item:hover h6, #wheel-brands .hover-item:hover h6 {
  color: #7f8283;
}

#wheel-brands .products-list {
  background-color: #fefefe;
}
#wheel-brands .products-list a:hover h6 {
  color: #7f8283;
}
#wheel-brands .products-list a h6 {
  color: #ba1717;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
#wheel-brands .products-list .hover-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#wheel-brands .products-list .hover-item .category-subtitle {
  width: 50%;
  color: #2e2e2e;
  padding: 1rem 0;
  line-height: normal;
}
#wheel-brands .container .short.padded.row {
  background-color: #fefefe;
}

.wheels-by-brand {
  width: 48%;
  min-height: 250px;
  float: none;
  vertical-align: top;
  display: inline-block;
}
@media screen and (max-width: 640px) {
  .wheels-by-brand {
    width: 100%;
  }
}

.wheels-by-brand:last-child {
  width: 100%;
}

#wheels .page-content {
  background-color: #fefefe;
}
#wheels .products-list .wheel-name {
  text-transform: uppercase;
}
#wheels .products-list .wheel-finish {
  font-weight: 400;
  color: #0a0a0a;
  font-size: 1rem;
}
#wheels .products-list .wheel-divider {
  height: 2px;
  margin: 0 auto;
  width: 40%;
  background-image: -webkit-gradient(linear, left top, right top, from(#ba1717), color-stop(50%, #ba1717), color-stop(51%, #0a0a0a), to(#0a0a0a));
  background-image: linear-gradient(to right, #ba1717 0%, #ba1717 50%, #0a0a0a 51%, #0a0a0a 100%);
}
#wheels .products-list .hover-item-link:hover .wheel-finish {
  color: #7f8283;
}
#wheels .products-list .hover-item-link:hover .wheel-divider {
  background: #7f8283;
}

#wheel {
  background-color: #fefefe;
}
#wheel .row {
  background-color: #fefefe;
}
#wheel .page-header {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
#wheel .page-header img {
  max-height: 80px;
}
#wheel #detail-top {
  padding-top: 2rem;
}
#wheel .wheel-sizes {
  margin-top: 1rem;
}
#wheel .wheel-sizes span {
  font-size: 1rem;
  font-weight: bold;
}
#wheel .wheel-details {
  background: #f1f1f1;
  padding: 1rem 1.5rem;
}
#wheel .wheel-details .wheel-paragraph {
  font-size: 1rem;
  font-weight: bold;
  text-align: left;
  margin-bottom: 1rem;
}
#wheel .wheel-details .wheel-paragraph span {
  font-size: 1.2rem;
}
#wheel .loadingImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
}
#wheel .js-slider .slick-slide {
  padding: 0.25rem;
}
#wheel .js-slider .slick-slide > a {
  width: 100%;
  position: relative;
}
#wheel .js-slider .slick-slide .wheel-galleryImage {
  border-radius: 15px;
}
#wheel .js-slider .slick-slide .video-icon {
  position: absolute;
  top: 0.25rem;
  left: 0.75rem;
  color: #cccccc;
  font-size: 2.25rem;
}
#wheel .js-slider .slick-arrow {
  border-radius: 100px;
  background-color: #fefefe;
  border: 1px solid #0a0a0a;
  height: 30px;
  width: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  top: 35%;
}
#wheel .js-slider .slick-arrow i {
  font-size: 1rem;
  color: #0a0a0a;
}
@media print, screen and (min-width: 40em) {
  #wheel .js-slider .slick-arrow {
    height: 40px;
    width: 40px;
  }
  #wheel .js-slider .slick-arrow i {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 64em) {
  #wheel .js-slider .slick-arrow {
    top: 45%;
  }
}
#wheel .js-slider .slick-arrow.slick-disabled {
  opacity: 0.5;
}
#wheel .js-slider .slick-arrow.featured-next {
  right: 0px;
}
#wheel .js-slider .slick-arrow.featured-prev {
  left: 0px;
}
@media print, screen and (min-width: 64em) {
  #wheel .js-slider .slick-arrow.featured-next {
    right: -25px;
  }
  #wheel .js-slider .slick-arrow.featured-prev {
    left: -25px;
  }
}

.wheel-detail-gallery-popup .mfp-title {
  color: #fefefe;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 1rem 0;
}
.wheel-detail-gallery-popup .mfp-title span {
  display: block;
  margin-bottom: 0.5rem;
}

.gallery-popup {
  display: table;
  margin: 0 auto;
}
.gallery-popup .galleryView-info {
  color: #ccc;
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 1rem;
}
.gallery-popup .galleryView-info span {
  display: block;
}
.gallery-popup .popup-car {
  font-weight: 900;
  font-size: 1.3rem;
  color: #fff;
}
.gallery-popup .mfp-close {
  color: white !important;
  position: relative;
  float: right;
}

@media print, screen and (min-width: 40em) {
  .accordion-content {
    padding: 0;
    border: 0;
    border-bottom: 0 !important;
  }
  .alt-images .slick-slide {
    /*width: 100% !important;*/
  }
}
.detail-thumb p {
  line-height: 1;
  margin: 0.25rem;
}
.detail-thumb .finish-name {
  color: #2e3130;
  font-size: 0.8rem;
}
.detail-thumb img {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.detail-thumb img:hover {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}

#specs {
  margin-bottom: 1.25rem;
  overflow: auto;
}

.see-on-vehicle-container {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 0.2rem;
  margin: 0.5rem 0;
}

.see-on-vehicle-header {
  font-size: 1.5rem;
  margin-bottom: 0;
}

.see-on-vehicle-select {
  margin-bottom: 0;
}

table {
  border: 0;
  margin-bottom: 0;
}
table tr td,
table tr th {
  text-align: center;
}
table tr th {
  background: #aaaaaa;
}

@media print, screen and (max-width: 39.99875em) {
  #wheel .banner-top .wheel-banner {
    height: 6rem;
  }
  #wheel .banner-top .heading {
    font-size: 1.7rem;
    top: 90%;
  }
  #wheel .slick-slide {
    display: inline-block;
    float: none;
  }
}
@media print, screen and (min-width: 40em) {
  .finish-header {
    display: none;
  }
}
.main-image {
  margin-bottom: 0;
}
.main-image img {
  margin: 0 auto;
}
.main-image .slick-dots li {
  margin: 0 2px;
}
.main-image .slick-dots li.slick-active button:before {
  color: #ba1717;
}
.main-image .slick-dots li button:before {
  font-size: 2.75rem;
}

.alt-images {
  display: none;
  margin-bottom: 0 !important;
}
@media print, screen and (min-width: 40em) {
  .alt-images {
    display: block;
  }
}
.alt-images .slick-track {
  margin: 0 auto;
}
.alt-images .slick-dots {
  position: relative !important;
  text-align: center;
  bottom: 0;
  margin: 0;
}
.alt-images .slick-slide:focus {
  outline: 0;
}
.alt-images a {
  margin-right: 0;
  padding: 0.7rem;
}
.alt-images img {
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  max-height: 90px;
}
.alt-images img:hover {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}

.wheel-specs {
  margin-top: 2rem;
}
.wheel-specs__header {
  font-size: 1.5rem;
  margin-bottom: 0;
}
.wheel-specs__details {
  margin-left: 0;
  list-style: none;
  font-weight: 600;
}

.detail-spec-tabs {
  border: none;
}
.detail-spec-tabs-content {
  border: none;
}
.detail-spec-tabs-panel {
  padding: 0;
}
.detail-spec-tabs li {
  display: inline-block;
  width: 50%;
  text-align: center;
}
.detail-spec-tabs a {
  text-transform: uppercase;
  padding: 0.6rem 0;
  font-size: 1rem;
  font-weight: 400;
  background-color: #ddd;
  color: #666;
}
.detail-spec-tabs a[aria-selected=true] {
  background-color: #ba1717;
  color: #fff;
  font-weight: 500;
}
.detail-spec-tabs a:hover {
  background-color: #000;
  color: #fff;
}

.bp-toggle-btn {
  color: #ba1717;
}

.wheel-detail-title h1 {
  font-weight: 400;
  margin-bottom: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .wheel-detail-title h1 {
    font-size: 2rem;
  }
}
.wheel-detail-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.wheel-detail-title-container .wheel-info .wheel-spec-summary {
  border: 0;
}
.wheel-detail-title-container .wheel-brand img {
  max-height: 90px;
}

.wheel-info {
  padding: 0;
}
.wheel-info__header {
  font-size: 1.5rem;
  font-weight: 600;
  text-align: left;
}
@media print, screen and (max-width: 39.99875em) {
  .wheel-info__header {
    font-size: 1.5rem;
    margin: 0 0.5rem 1rem;
  }
}
.wheel-info__header--small {
  font-size: 1.2rem;
}
.wheel-info .wheel-description {
  padding: 1.25rem 0 1.75rem;
}
.wheel-info .wheel-description .product-paragraph {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.wheel-info .wheel-description .product-paragraph.expanded {
  display: block;
}
.wheel-info .wheel-description .toggle-btn {
  color: #ba1717;
  font-size: 0.9rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.wheel-info .wheel-spec-summary {
  padding-bottom: 1.25rem;
  border-bottom: 1px dashed #ba1717;
}
.wheel-info .wheel-spec-summary span {
  color: #0a0a0a;
  text-transform: capitalize;
  font-weight: 500;
}

.sku.detail .cta-buttons {
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sku.detail .cta-buttons__btn {
  width: 100%;
}
.sku.detail .cta-buttons__btn--space {
  margin-bottom: 1rem !important;
}
.sku.detail .cta-buttons li {
  width: 100%;
}
.sku.detail .cta-buttons li:first-child {
  display: none;
}
.sku.detail .cta-buttons li:nth-child(2) {
  padding-right: 0.5rem;
  padding-left: 0;
}
.sku.detail .cta-buttons li:last-child {
  padding-left: 0.5rem;
  padding-right: 0;
}
.sku.detail .cta-buttons a.buttons__btn {
  background-color: #777777;
}
.sku.detail .cta-buttons a.buttons__btn:hover {
  background-color: #0a0a0a;
}

.cta-buttons {
  margin: 0;
  text-align: center;
}
.cta-buttons li {
  display: inline-block;
  padding-right: 0.25rem;
  width: 50%;
  margin-bottom: 0.5rem;
}
.cta-buttons li:nth-child(2) {
  padding-left: 0.25rem;
  padding-right: 0;
}
.cta-buttons li:last-child {
  width: 100%;
  padding: 0;
}
@media print, screen and (min-width: 40em) {
  .cta-buttons li {
    padding-right: 0.5rem;
    margin-bottom: 1rem;
  }
  .cta-buttons li:nth-child(2) {
    padding-left: 0.5rem;
  }
}
.cta-buttons li a {
  width: 100%;
  border-radius: 6px;
}
.cta-buttons li a.cta-buttons__btn {
  background-color: #777777;
}
.cta-buttons li a.cta-buttons__btn:hover {
  background-color: #0a0a0a;
}

#buy-options-popup {
  background-color: #ba1717;
  text-align: center;
  text-transform: uppercase;
}
#buy-options-popup .button {
  background-color: #0a0a0a;
  margin-bottom: 0;
  width: 100%;
  padding: 0.85rem 0;
}
#buy-options-popup .button:hover {
  background-color: #7f8283;
}
#buy-options-popup .popup-title {
  padding-bottom: 1rem;
  color: #fefefe;
}
#buy-options-popup ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0;
  list-style: none;
}
#buy-options-popup ul li {
  width: 100%;
  margin: 0 0.25rem;
}
#buy-options-popup ul li:first-child {
  margin-left: 0;
}
#buy-options-popup ul li:last-child {
  margin-right: 0;
}

.details-media {
  z-index: 5;
  text-align: center;
}
.details-media__header {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  color: #000;
}
.details-media__header:hover {
  color: #ba1717;
}

.details-divider {
  padding-bottom: 20px;
}
.details-divider:before {
  background-color: #c7c7c9;
  content: "";
  display: block;
  height: 1px;
  margin: 15px auto 0;
  width: 2rem;
}

@media print, screen and (max-width: 39.99875em) {
  .details-360,
  .details-video {
    display: inline-block;
    margin: 0 1rem;
  }
  .details-divider {
    display: none;
  }
}
#see-on-vehicle-detail h5 {
  font-size: 1.5rem;
}
#see-on-vehicle-detail select {
  font-size: 0.875rem;
}
#see-on-vehicle-detail .error {
  display: none;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
#see-on-vehicle-detail .no-fitment {
  min-height: 6rem;
  position: relative;
}
#see-on-vehicle-detail .no-fitment::before {
  background: #fefefe;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0.8;
  position: absolute;
  z-index: 1;
}
#see-on-vehicle-detail .no-fitment .error {
  display: block;
}
#see-on-vehicle-detail .loadingImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
}
#see-on-vehicle-detail .hover-item:hover button {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
#see-on-vehicle-detail .hover-item:hover img {
  opacity: 0.075;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}
#see-on-vehicle-detail .hover-item:hover::before {
  opacity: 0.7;
}
#see-on-vehicle-detail button {
  position: absolute;
  top: 40%;
  left: 0;
  padding: 1rem;
  width: 100%;
  font-size: 0.8rem;
  opacity: 0;
}
#see-on-vehicle-detail button:hover {
  background-color: #666;
}
#see-on-vehicle-detail-overlay {
  width: 100%;
  height: 100%;
  display: table;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  color: #fff;
  font-size: 50px;
}
#see-on-vehicle-detail-overlay .fa-spinner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.open-see-on-vehicle-popup {
  font-weight: 500;
  color: #0a0a0a;
  font-size: 0.825rem;
  cursor: pointer;
  text-align: right;
}
.open-see-on-vehicle-popup:hover {
  color: #ba1717;
}
.open-see-on-vehicle-popup-container {
  text-align: right;
}

#see-on-vehicle-popup {
  padding: 0;
  max-width: 1200px;
  font-size: 0.825rem;
}
#see-on-vehicle-popup .vehicle-popup-image {
  background: radial-gradient(#ffffff, #cccccc);
  text-align: center;
}
#see-on-vehicle-popup .vehicle-popup-information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .thumb {
  width: 100px;
  height: 100px;
  margin-right: 1rem;
  background-position: top right;
  background-size: 160%;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .wheel {
  color: #0a0a0a;
  font-weight: 600;
  text-transform: uppercase;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .specs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .specs .divider {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
#see-on-vehicle-popup .vehicle-popup-information .vehicle-info {
  color: #0a0a0a;
  padding: 0.5rem;
  font-weight: 600;
}

.wheel-gallery__header {
  font-size: 1.5rem;
  text-transform: none;
  font-weight: 700;
}

.wheel-galleryList {
  display: inline-block;
  margin: 0;
  width: 100%;
}
.wheel-galleryList__item {
  list-style: none;
  margin-right: 0.5rem;
  float: left;
  width: 49%;
}
.wheel-galleryList__item:nth-child(2n) {
  margin-right: 0;
}
@media print, screen and (min-width: 40em) {
  .wheel-galleryList__item {
    max-width: 180px;
    width: 100%;
  }
  .wheel-galleryList__item:nth-child(2n) {
    margin-right: 0.5rem;
  }
}
.wheel-galleryList__item a {
  display: block;
  width: 100%;
}

.popup-wheelimage {
  max-height: 800px;
  max-width: 100%;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

.wheel-galleryImage {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  margin-bottom: 0.5rem;
}
.wheel-galleryImage img {
  opacity: 0;
  width: 100%;
}

.wheel-galleryTxt {
  font-size: 1rem;
  display: block;
  line-height: 1.25;
}
@media print, screen and (max-width: 39.99875em) {
  .wheel-galleryTxt {
    font-size: 0.8rem;
  }
}

.wheel-spec .accordion-item > a {
  background-color: #ba1717;
  color: #fefefe;
  text-align: center;
  font-size: 1.25rem;
}
.wheel-spec .accordion-item > a:hover {
  background-color: #7f8283;
}
.wheel-spec .accordion-content {
  color: #0a0a0a;
}
.wheel-spec .accordion-content a {
  color: #0a0a0a;
}
.wheel-spec .accordion-content a:hover {
  color: #ba1717;
}

.alt-images img {
  margin: 0 auto;
}

#shop-popup {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.9);
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
  color: #fefefe;
  overflow-x: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
}
#shop-popup h4 {
  color: #0a0a0a;
}
#shop-popup span {
  text-transform: uppercase;
  font-weight: 700;
}
#shop-popup a {
  display: inline-block;
  background-color: #f5f5f5;
  border: 1px solid #d2d2d2;
  padding: 0.75rem;
  max-width: 280px;
  width: 100%;
}
#shop-popup a.disabled {
  pointer-events: none;
  opacity: 0.4;
}
#shop-popup .shop-popup {
  background-color: #fefefe;
  border: 1px solid #cccccc;
  padding-bottom: 2rem;
  max-width: 400px;
  margin: 0 auto;
}
#shop-popup .shop-popup .row {
  margin-left: 0;
  margin-right: 0;
}
#shop-popup .close-container {
  text-align: right;
}
#shop-popup #close {
  color: #777777;
  cursor: pointer;
}
#shop-popup .dealer-shop {
  margin-bottom: 1rem;
}
#shop-popup #vehicle-gallery-popup {
  position: relative;
  width: 100%;
}
#shop-popup {
  /*.close-container {
    position:relative;
    @include breakpoint (medium down) {
      padding-top:1rem;
      padding-bottom:1rem;
      text-align:right;
    }
    &.short {
      position: static;
      text-align:right;
      padding-top:1rem;
      padding-bottom:1rem;
      #close {
        position:relative;
        top:0;
        right:0;
      }
    }
  }
  #close {
    font-size:2rem;
    line-height:1;
    color:$white;
    cursor: pointer;
    @include breakpoint (medium) {
      position:absolute;
      top:-3rem;
      right:1rem;  
    }
    @include breakpoint (large) {
      top:-.5rem;
      right:-2rem;
    }
  }*/
}
#shop-popup .vehicle-gallery-specs {
  margin-bottom: 1rem;
}

@media print, screen and (min-width: 64em) {
  #wheels .filter {
    width: 85%;
  }
}
#wheels .filter .reference-vehicle .fitment-menu a {
  display: block;
}
#wheels .filter h3 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1rem;
  margin-bottom: 2rem;
  display: inline-block;
}
@media print, screen and (min-width: 64em) {
  #wheels .filter h3 {
    font-size: 1.25rem;
  }
}
#wheels .filter ul {
  margin: 0;
  list-style: none;
}
#wheels .filter .filter-active li {
  display: inline-block;
  margin-right: 0.25rem;
  margin-bottom: 1rem;
}
#wheels .filter .filter-active a {
  border-radius: 10px;
  background-color: #ba1717;
  padding: 0.25rem 0.5rem;
  color: #fefefe;
  display: block;
  font-size: 0.75rem;
  -webkit-transform: all 0.3s ease-in-out;
          transform: all 0.3s ease-in-out;
}
#wheels .filter .filter-active a:hover {
  background-color: #ba1717;
  color: #0a0a0a;
}
#wheels .filter .filter-active-title h4 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}
#wheels .filter .filter-active-clear {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #cccccc;
}
#wheels .filter .filter-active-clear a {
  text-transform: uppercase;
  background-color: transparent;
  color: #ba1717;
  display: inline-block;
}
#wheels .filter h4 {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1rem;
  margin-bottom: 0;
}
#wheels .filter .icon-product-filter {
  margin-bottom: 2rem;
  border-bottom: 1px solid #cccccc;
}
#wheels .filter .icon-product-filter.filter-brands-opts {
  display: none;
}
#wheels .filter .icon-product-filter.filter-active {
  border-bottom: 0;
  padding: 0;
  margin: 0;
}
#wheels .filter .icon-product-filter.filter-active .filter-active-title {
  margin-bottom: 2rem;
}
#wheels .filter .icon-product-filter .icon-filter-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1rem;
}
#wheels .filter .icon-product-filter .icon-filter-title i {
  font-size: 0.85rem;
}
#wheels .filter .icon-product-filter .icon-filter-items {
  margin-bottom: 1rem;
}
#wheels .filter .icon-product-filter .icon-filter-items label {
  color: #0a0a0a;
}
#wheels .filter .icon-product-filter .icon-filter-items .filter-button {
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #ba1717;
  margin: 1rem 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#wheels .filter .icon-product-filter .icon-filter-items .filter-button:hover {
  color: #cccccc;
}
#wheels .filter .icon-product-filter.filter-fitment {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 8px solid #999999;
}
#wheels .filter .icon-product-filter.filter-fitment .fitment-search-button .button {
  border-radius: 5px;
  color: #fefefe;
  font-size: 0.85rem;
  width: 100%;
  padding: 1rem 0;
}
#wheels:not(.wheels-searched-by-vehicle) .fitment-header {
  padding-top: 1rem;
  border-top: 1px solid #7f8283;
  margin-top: 1rem;
}
@media print, screen and (min-width: 64em) {
  #wheels:not(.wheels-searched-by-vehicle) .fitment-header {
    padding: 0;
    border-top: 0;
    margin-top: 1rem;
  }
}
#wheels:not(.wheels-searched-by-vehicle) .fitment-header .mobile-only-slide-filter-search {
  width: 100%;
}
#wheels:not(.wheels-searched-by-vehicle) .fitment-header .column, #wheels:not(.wheels-searched-by-vehicle) .fitment-header .columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#wheels:not(.wheels-searched-by-vehicle) .fitment-header .button {
  margin-bottom: 0;
}
#wheels:not(.wheels-searched-by-vehicle) .fitment-header .button.fitment-open {
  color: #fefefe;
}
#wheels:not(.wheels-searched-by-vehicle) .filter .fitment-search-button .button {
  color: #fefefe;
}
#wheels:not(.wheels-searched-by-vehicle) .filter .filter-items {
  display: none;
}

.accordion-filter {
  text-align: center;
  margin-right: 1rem;
  margin-left: 1rem;
}
@media print, screen and (min-width: 40em) {
  .accordion-filter {
    margin-right: auto;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__container {
    /*display: flex;
    justify-content: space-between;
    align-items: center;*/
  }
}
.accordion-filter__header {
  font-size: 1rem;
  display: inline-block;
  margin: 0;
}
.accordion-filter__header--mobile {
  border: 1px solid #aaaaaa;
  padding: 1rem;
  text-transform: capitalize;
  font-size: 1rem;
  color: #0a0a0a;
}
.accordion-filter__content {
  border: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .accordion-filter__content {
    padding-left: 0;
    padding-right: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__dropdown {
    margin: 0 0.5rem;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
.accordion-filter__dropdown select {
  padding: 1rem;
  height: auto;
  background-position: right 0rem center;
}
@media print, screen and (min-width: 40em) {
  .accordion-filter__dropdown select {
    padding: 0.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .accordion-filter__dropdown select {
    margin: 0;
  }
}
.accordion-filter__btn {
  margin: 0;
  padding: 0.65rem 1rem;
  font-size: 1rem;
}
@media print, screen and (max-width: 39.99875em) {
  .accordion-filter__btn {
    max-width: none;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}

.js-off-canvas-overlay {
  background: rgba(0, 0, 0, 0.75);
}

.off-canvas-content .off-canvas.position-left, .position-left {
  -webkit-transform: translateX(-485px);
          transform: translateX(-485px);
}

.off-canvas {
  color: #0a0a0a;
}
.off-canvas > div > div {
  padding-left: 2rem;
  padding-right: 2rem;
}
.off-canvas.position-left {
  /*width:445px; // Need to update js before applying....*/
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .off-canvas.position-left {
    width: 445px;
  }
}
.off-canvas.position-left {
  text-transform: uppercase;
  font-size: 0.825rem;
  background-color: #fefefe;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.off-canvas.position-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.off-canvas .close-button {
  background-color: #0a0a0a;
  color: #fefefe;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  text-align: left;
  width: 100%;
  right: 0;
  left: 0;
  top: 0;
  padding: 1.25rem 2rem;
  font-size: 0.825rem;
  text-transform: uppercase;
  font-weight: 700;
}
.off-canvas .close-button span {
  font-weight: 200;
  font-size: 3rem;
}
.off-canvas .close-button {
  /*
  padding:.5rem 2rem;
  color:$light-gray;
  margin-bottom:.5rem;
  */
}
.off-canvas .close-button:hover {
  color: #ba1717;
}
.off-canvas .close-button.orange {
  background-color: #ba1717;
}
.off-canvas .close-button.orange:hover {
  color: #0a0a0a;
}
.off-canvas .slide-over-container {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 700;
  padding-top: 2rem;
}
.off-canvas .slide-over-container .slide-over-fitment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #e6e6e6;
  margin-bottom: 2rem;
}
.off-canvas .slide-over-container .slide-over-fitment .button {
  white-space: nowrap;
  margin-bottom: 0;
  background-color: #ba1717;
  width: 200px;
  height: 58px;
  font-size: 0.75rem;
  letter-spacing: 0.1rem;
  margin-right: 1rem;
  color: #0a0a0a;
  border-radius: 5px;
}
.off-canvas .slide-over-container .slide-over-fitment .button:hover {
  background-color: #666666;
}
.off-canvas .slide-over-container .slide-over-fitment .fitment-info {
  font-weight: 700;
  max-width: 43%;
}
.off-canvas .slide-over-container .slide-over-filter {
  background-color: #fefefe;
}
.off-canvas .slide-over-container .slide-over-filter select, .off-canvas .slide-over-container .slide-over-filter .button {
  height: 55px;
  padding: 1rem;
}
.off-canvas .slide-over-container .slide-over-filter select {
  background-position: right center;
  border-radius: 2px;
  width: 100%;
  letter-spacing: 0.1rem;
  padding: 1rem;
  font-size: 0.8rem;
  text-transform: uppercase;
  font-weight: 700;
}
.off-canvas .vertical.menu {
  padding-left: 0;
  padding-top: 3rem;
  margin-top: 0;
}
.off-canvas .vertical.menu > li {
  position: relative;
}
.off-canvas .vertical.menu > li.is-accordion-submenu-parent > a:after {
  content: "+";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  border: none;
  font-size: 1.5rem;
  top: 13px;
  margin-top: 0;
  right: 2rem;
}
.off-canvas .vertical.menu > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
  content: "-";
  -webkit-transform: none;
          transform: none;
}
.off-canvas .vertical.menu > li > a {
  font-family: "Roboto Condensed", sans-serif;
  color: #fefefe;
  text-transform: uppercase;
  font-size: 1.2rem;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.off-canvas .vertical.menu > li > a:hover {
  color: #333333;
}
.off-canvas .vertical.menu > li > a .fa-caret-down {
  display: none;
}
.off-canvas .vertical.menu.is-accordion-submenu > li::after {
  left: 0;
}
.off-canvas .social-menu {
  padding: 1rem 1rem 2rem;
}
.off-canvas .social-menu a:hover {
  color: #333333;
}
.off-canvas .product-filters .icon-product-filter {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.off-canvas .product-filters .filter-brands-opts {
  display: none;
}
.off-canvas .icon-filter-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.off-canvas .icon-filter-title i {
  font-size: 0.85rem;
}
.off-canvas .icon-filter-items {
  padding-top: 1rem;
}
.off-canvas .icon-filter-items li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  line-height: 1;
}
.off-canvas .icon-filter-items input {
  margin-bottom: 0;
}
.off-canvas .icon-filter-items label {
  line-height: 1;
}
.off-canvas .wheels-slide-filter .product-filters, .off-canvas .tires-slide-filter .product-filters {
  display: block !important;
}
.off-canvas .wheels-slide-filter, .off-canvas .tires-slide-filter {
  padding-left: 2rem;
  padding-right: 2rem;
}
.off-canvas .wheels-slide-filter h4, .off-canvas .tires-slide-filter h4 {
  text-transform: uppercase;
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  color: #0a0a0a;
  margin-bottom: 0;
  font-weight: 700;
}
.off-canvas .wheels-slide-filter ul, .off-canvas .tires-slide-filter ul {
  list-style: none;
}
.off-canvas .wheels-slide-filter label, .off-canvas .tires-slide-filter label {
  font-weight: 700;
  text-transform: uppercase;
}
.off-canvas .wheels-slide-filter i.fa-minus, .off-canvas .wheels-slide-filter i.fa-plus, .off-canvas .tires-slide-filter i.fa-minus, .off-canvas .tires-slide-filter i.fa-plus {
  color: #888888;
}
.off-canvas .wheels-slide-filter i.fa-minus:hover, .off-canvas .wheels-slide-filter i.fa-plus:hover, .off-canvas .tires-slide-filter i.fa-minus:hover, .off-canvas .tires-slide-filter i.fa-plus:hover {
  color: #ba1717;
}
.off-canvas .wheels-slide-filter .filter-title, .off-canvas .tires-slide-filter .filter-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.off-canvas .wheels-slide-filter .filter-button, .off-canvas .tires-slide-filter .filter-button {
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 600;
  color: #444444;
}
.off-canvas .wheels-slide-filter .filter-button:hover, .off-canvas .tires-slide-filter .filter-button:hover {
  color: #ba1717;
}
.off-canvas .wheels-slide-filter .filter-items, .off-canvas .tires-slide-filter .filter-items {
  padding-top: 1rem;
  display: none;
}
.off-canvas .wheels-slide-filter .filter-items li, .off-canvas .tires-slide-filter .filter-items li {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  line-height: 1;
}
.off-canvas .wheels-slide-filter .filter-items input, .off-canvas .tires-slide-filter .filter-items input {
  margin-bottom: 0;
}
.off-canvas .wheels-slide-filter .filter-items label, .off-canvas .tires-slide-filter .filter-items label {
  line-height: 1;
}
.off-canvas .wheels-slide-filter .product-filters .product-filter, .off-canvas .tires-slide-filter .product-filters .product-filter {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}
.off-canvas .wheels-slide-filter .filter-active, .off-canvas .tires-slide-filter .filter-active {
  margin-bottom: 1rem;
}
.off-canvas .wheels-slide-filter .filter-active ul, .off-canvas .tires-slide-filter .filter-active ul {
  margin-bottom: 1rem;
}
.off-canvas .wheels-slide-filter .filter-active a, .off-canvas .tires-slide-filter .filter-active a {
  background-color: #cccccc;
  color: #0a0a0a;
  border-radius: 5px;
  padding: 0.25rem 0.5rem;
  font-weight: 600;
}
.off-canvas .wheels-slide-filter .filter-active a i, .off-canvas .tires-slide-filter .filter-active a i {
  color: #ba1717;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  font-size: inherit;
}
.off-canvas .wheels-slide-filter .filter-active a:hover, .off-canvas .tires-slide-filter .filter-active a:hover {
  background-color: #ba1717;
  color: #fefefe;
}
.off-canvas .wheels-slide-filter .filter-active a:hover i, .off-canvas .tires-slide-filter .filter-active a:hover i {
  color: #fefefe;
}
.off-canvas .wheels-slide-filter .filter-active a.fitmentSet, .off-canvas .tires-slide-filter .filter-active a.fitmentSet {
  pointer-events: none;
  background-color: #999999;
}
.off-canvas .wheels-slide-filter .filter-active a.fitmentSet i, .off-canvas .tires-slide-filter .filter-active a.fitmentSet i {
  color: #666666;
}
.off-canvas .wheels-slide-filter .filter-active ul li, .off-canvas .tires-slide-filter .filter-active ul li {
  display: inline-block;
  margin-bottom: 0.5rem;
  margin-right: 10px;
}
.off-canvas .wheels-slide-filter .filter-active-clear, .off-canvas .tires-slide-filter .filter-active-clear {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 64em) {
  .off-canvas .wheels-slide-filter .filter-active-clear, .off-canvas .tires-slide-filter .filter-active-clear {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.off-canvas .wheels-slide-filter .filter-active-clear a, .off-canvas .tires-slide-filter .filter-active-clear a {
  font-size: 0.75rem;
  font-weight: 600;
  color: #444444;
  text-transform: uppercase;
  border: none;
  background-color: transparent;
  padding: 0;
}
.off-canvas .wheels-slide-filter .filter-active-clear a:hover, .off-canvas .tires-slide-filter .filter-active-clear a:hover {
  border: none;
  background-color: transparent;
  color: #0a0a0a;
}
.off-canvas .wheels-slide-filter .filter-active .filter-active-title, .off-canvas .tires-slide-filter .filter-active .filter-active-title {
  margin-bottom: 1rem;
}
.off-canvas .wheels-slide-filter .filter-active .filter-active-title h4, .off-canvas .tires-slide-filter .filter-active .filter-active-title h4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  color: #0a0a0a;
}
.off-canvas .wheels-slide-filter .filter-brands label, .off-canvas .tires-slide-filter .filter-brands label {
  max-width: 260px;
  line-height: 1;
  vertical-align: middle;
}
.off-canvas .slide-filter-gallery {
  margin-top: 2rem;
}

@media print, screen and (max-width: 63.99875em) {
  .int .page-content > div:first-child {
    padding-top: 1rem;
  }
}
.int .mobile-only-slide-filter-search > .row {
  margin-left: 0;
  margin-right: 0;
}
.int .mobile-only-slide-filter-search .button {
  border-radius: 5px;
  color: #0a0a0a;
  width: 100%;
  padding: 1rem 0.5rem;
}
.int .mobile-only-slide-filter-search .button.fitment-open {
  color: #fefefe;
}
.int .mobile-only-slide-filter-search .button:not(.search-by-vehicle) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #cccccc;
}
.int .mobile-only-slide-filter-search .button:not(.search-by-vehicle) .button-text {
  width: 100%;
}
@media print, screen and (max-width: 74.99875em) {
  .int .listing-search-bar > .column:first-child, .int .listing-search-bar > .columns:first-child {
    padding: 0;
  }
}

#wheels.wheels-searched-by-vehicle .container-padding--b {
  padding: 0;
}
@media print, screen and (min-width: 64em) {
  #wheels.wheels-searched-by-vehicle .page-header h1 {
    font-size: 2.25rem;
  }
}
#wheels.wheels-searched-by-vehicle .page-content {
  background-color: #fefefe;
}
#wheels.wheels-searched-by-vehicle .page-content .listing h4 {
  font-size: 1.5rem;
}
#wheels.wheels-searched-by-vehicle .page-content .listing h4 span {
  color: #ba1717;
}
#wheels.wheels-searched-by-vehicle .products-list a:hover {
  color: #666666;
}
#wheels.wheels-searched-by-vehicle .products-list .wheel-name-wheel {
  color: #0a0a0a;
}
#wheels.wheels-searched-by-vehicle .products-list .wheel-size {
  font-size: 1rem;
}

#wheel.fitment-detail .vov-call {
  position: relative;
}
#wheel.fitment-detail .vov-call .fitment-button {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
}
#wheel.fitment-detail .vov-call .fitment-button a {
  text-transform: uppercase;
  color: #0a0a0a;
  background-color: #fefefe;
  border-radius: 8px;
  border: 1px solid #0a0a0a;
  padding: 0.5rem;
  font-size: 0.8rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#wheel.fitment-detail .vov-call .fitment-button a i {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}
#wheel.fitment-detail .cta-buttons li:last-child {
  width: 50%;
}
.vehicle-fitment {
  margin-bottom: 2rem;
}
.vehicle-fitment .fitment-selected {
  border-radius: 5px;
  border: 1px solid #ededed;
  background-color: #f6f6f6;
  padding: 1rem;
  margin-bottom: 1.25rem;
}
.vehicle-fitment .fitment-selected .vehicle {
  margin-bottom: 0.5rem;
}
.vehicle-fitment .fitment-selected-other-specs {
  margin-bottom: 1rem;
}
.vehicle-fitment .fitment-selected-sku span {
  font-weight: 600;
  text-transform: uppercase;
  color: #0a0a0a;
}
.vehicle-fitment .label {
  background-color: transparent;
  text-transform: uppercase;
  color: #0a0a0a;
  font-weight: 600;
  font-size: 1rem;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5rem;
}
.vehicle-fitment i {
  font-size: 1.25rem;
  color: #33cc33;
  margin-right: 0.5rem;
}
.vehicle-fitment p, .vehicle-fitment a {
  display: inline-block;
}
.vehicle-fitment p {
  font-weight: 600;
  color: #0a0a0a;
  margin-bottom: 0;
  margin-right: 0.5rem;
}
.vehicle-fitment .remove-fitment {
  font-size: 0.85rem;
  color: #0a0a0a;
  text-decoration: underline;
}
.vehicle-fitment .vov-link {
  background-color: #ba1717;
  color: #0a0a0a;
  border-radius: 10px;
  display: block;
  text-align: center;
  text-transform: uppercase;
  padding: 0.75rem;
  font-weight: 600;
}

#see-on-vehicle-detail h5 {
  font-size: 1.5rem;
  font-size: 1rem;
  line-height: 1.25;
}
#see-on-vehicle-detail h6 {
  font-family: "Roboto Condensed", sans-serif;
}
#see-on-vehicle-detail select {
  font-size: 0.875rem;
}
#see-on-vehicle-detail .error {
  display: none;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
}
#see-on-vehicle-detail .no-fitment {
  min-height: 6rem;
  position: relative;
}
#see-on-vehicle-detail .no-fitment::before {
  background: #fefefe;
  content: "";
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0.8;
  position: absolute;
  z-index: 1;
}
#see-on-vehicle-detail .no-fitment .error {
  display: block;
}
#see-on-vehicle-detail .loadingImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: none;
}
#see-on-vehicle-detail .hover-item:hover button {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
#see-on-vehicle-detail .hover-item:hover img {
  opacity: 0.075;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}
#see-on-vehicle-detail .hover-item:hover::before {
  opacity: 0.7;
}
#see-on-vehicle-detail button {
  position: absolute;
  top: 40%;
  left: 0;
  padding: 1rem;
  width: 100%;
  font-size: 0.8rem;
  opacity: 0;
}
#see-on-vehicle-detail button:hover {
  background-color: #666;
}
#see-on-vehicle-detail-overlay {
  width: 100%;
  height: 100%;
  display: table;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  color: #fff;
  font-size: 50px;
}
#see-on-vehicle-detail-overlay .fa-spinner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.open-see-on-vehicle-popup {
  font-weight: 500;
  color: #0a0a0a;
  font-size: 0.825rem;
  cursor: pointer;
  text-align: right;
}
.open-see-on-vehicle-popup:hover {
  color: #ba1717;
}
.open-see-on-vehicle-popup-container {
  text-align: right;
}

#see-on-vehicle-popup {
  padding: 0;
  max-width: 1200px;
  font-size: 0.825rem;
}
#see-on-vehicle-popup .vehicle-popup-image {
  text-align: center;
}
#see-on-vehicle-popup .vehicle-popup-information {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5rem;
  padding-top: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup .vehicle-popup-information {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0 0.25rem 0.5rem;
  }
}
#see-on-vehicle-popup .vehicle-popup-information > div {
  padding: 0.75rem;
  background-color: #fefefe;
  border-radius: 8px;
  margin: 0 0.375rem;
  width: 100%;
  margin-bottom: 0.5rem;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup .vehicle-popup-information > div {
    margin-bottom: 0;
  }
}
#see-on-vehicle-popup .vehicle-popup-information > div label, #see-on-vehicle-popup .vehicle-popup-information > div .info-display {
  font-weight: 600;
}
#see-on-vehicle-popup .vehicle-popup-information > div label {
  color: #666666;
  text-transform: uppercase;
}
#see-on-vehicle-popup .vehicle-popup-information > div i {
  color: #ba1717;
  margin-left: 0.5rem;
}
#see-on-vehicle-popup .vehicle-popup-information > div.paint-info-container #icm-change-color {
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#see-on-vehicle-popup .vehicle-popup-information > div.paint-info-container #icm-change-color:hover {
  color: #ffcc00;
}
#see-on-vehicle-popup .vehicle-popup-information > div.wheel-info-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
}
#see-on-vehicle-popup .vehicle-popup-information > div.wheel-info-container img {
  height: 50px;
}
#see-on-vehicle-popup .vehicle-popup-information > div.wheel-info-container .right {
  margin-left: 0.5rem;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
  width: 100%;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .thumb {
  width: 100px;
  height: 100px;
  margin-right: 1rem;
  background-position: top right;
  background-size: 160%;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .wheel {
  color: #0a0a0a;
  font-weight: 600;
  text-transform: uppercase;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .specs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#see-on-vehicle-popup .vehicle-popup-information .wheel-info .specs .divider {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
#see-on-vehicle-popup .vehicle-popup-information .vehicle-info {
  color: #0a0a0a;
  padding: 0.5rem;
  font-weight: 600;
}
#see-on-vehicle-popup .mfp-close {
  font-size: 2rem;
}

#see-on-vehicle-popup {
  border: 0;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.7);
  background-color: #d1d1d1;
}
@media print, screen and (max-width: 39.99875em) {
  #see-on-vehicle-popup[open] {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}
#see-on-vehicle-popup #wheel-spec-price, #see-on-vehicle-popup .buy-now {
  display: none;
}
#see-on-vehicle-popup #vehicle-description, #see-on-vehicle-popup #vehicle-description-mobile {
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 1.5rem;
  line-height: 1;
}
#see-on-vehicle-popup #vehicle-description {
  font-size: 2rem;
}
#see-on-vehicle-popup #vehicle-description-mobile #vov-submodel {
  font-size: 1.3rem;
  display: block;
}
#see-on-vehicle-popup .vehicle-popup-color-button {
  text-align: right;
  margin-bottom: 2rem;
}
#see-on-vehicle-popup .wheel-info {
  padding: 0;
  margin: 0;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ededed;
  border-radius: 10px;
  padding: 1rem;
}
#see-on-vehicle-popup .wheel-info .wheel-thumbnail {
  margin-right: 0.75rem;
}
#see-on-vehicle-popup .specs-info, #see-on-vehicle-popup .specs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#see-on-vehicle-popup .specs-info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
#see-on-vehicle-popup #wheel-brand {
  text-transform: uppercase;
  font-weight: 600;
}
#see-on-vehicle-popup .specs-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 40em) {
  #see-on-vehicle-popup .specs-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#see-on-vehicle-popup .specs-container > .specs:first-child {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 40em) {
  #see-on-vehicle-popup .specs-container > .specs:first-child {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
#see-on-vehicle-popup .specs .divider {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  display: none;
}
@media print, screen and (min-width: 40em) {
  #see-on-vehicle-popup .specs .divider {
    display: inline-block;
  }
}
#see-on-vehicle-popup #icm-vov-loading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
}
#see-on-vehicle-popup .vehicle-popup-image {
  position: relative;
  padding: 0.5rem;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup .vehicle-popup-image {
    padding: 0.75rem 0.7125rem 0.75rem;
  }
}
#see-on-vehicle-popup .vehicle-popup-image .vov-vehicle-image-container {
  background-color: #fefefe;
  border-radius: 8px;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#see-on-vehicle-popup .vehicle-popup-image .vov-vehicle-image-container img {
  padding: 2.25rem 0;
}
#see-on-vehicle-popup .vehicle-popup-image {
  /*#vov-vehicle-image,.vehicle-popup-color-button {
    background-color:$white;
    border-radius: 8px;
    padding:2.25rem 0;
  }*/
}
#see-on-vehicle-popup .vov-angle-arrow {
  position: absolute;
  top: 50%;
  font-size: 1.5rem;
  padding: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 0.9;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup .vov-angle-arrow {
    top: 48%;
  }
}
#see-on-vehicle-popup .vov-angle-arrow i {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#see-on-vehicle-popup .vov-angle-arrow:hover {
  cursor: pointer;
  opacity: 1;
}
#see-on-vehicle-popup .vov-angle-arrow:hover i {
  color: #cccccc;
}
#see-on-vehicle-popup #vov-previous-angle {
  left: 0;
  padding: 1rem;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup #vov-previous-angle {
    margin-left: 2rem;
    padding: 0;
  }
}
#see-on-vehicle-popup #vov-next-angle {
  right: 0;
  padding: 1rem;
}
@media print, screen and (min-width: 64em) {
  #see-on-vehicle-popup #vov-next-angle {
    margin-right: 2rem;
    padding: 0;
  }
}

#swatches-dialog {
  border: 1px solid #cccccc;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.5);
}
#swatches-dialog h4 {
  font-size: 1rem;
}
#swatches-dialog .icm-vov-swatch-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}
#swatches-dialog .icm-vov-swatch-description {
  font-size: 0.85rem;
}

.tire-details {
  background: #f1f1f1;
  padding: 1rem 1.5rem;
}

.tire-info__header {
  font-size: 1.5rem;
}

.tire-cta .button-group {
  margin: 0;
}
.tire-cta .button-group li {
  margin-top: 1rem;
}
.tire-cta .button-group .button {
  width: 100%;
}

.tire-specs {
  margin-top: 2rem;
}
.tire-specs__header {
  font-size: 1.5rem;
  margin-bottom: 0;
}
.tire-specs__details {
  color: #000;
  margin-left: 0;
  list-style: none;
  font-weight: 600;
}

.accessory-image {
  max-width: 500px;
}

.accessory-name {
  font-weight: 700;
  font-size: 1.5rem;
}

.accessory-details {
  background: #f1f1f1;
  padding: 1rem 1.5rem;
}

.accessory-cta .cta-buttons {
  margin: 0;
  list-style: none;
}
.accessory-cta .cta-buttons__btn {
  width: 100%;
  margin-top: 1rem;
}

.accessory-bar-btn {
  margin: 0;
  background-color: #fff;
  border: 2px solid #ba1717;
  color: #ba1717;
  -webkit-box-shadow: 1px 1px #999;
          box-shadow: 1px 1px #999;
}
.accessory-bar-btn:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

#gallery-filter {
  margin-bottom: 1rem;
}
#gallery-filter .accordion-title {
  font-size: 1.1rem;
  color: #ba1717;
}

#gallery .page-content {
  background-color: #fefefe;
}
#gallery .gallery-submit {
  padding: 1rem 0;
  text-align: center;
}
#gallery .gallery-submit a {
  text-transform: capitalize;
}

#gallery .hover-list .photo {
  position: relative;
  display: block;
  padding: 0 1px 1px 0;
}
#gallery .hover-list .photo-image {
  position: absolute;
  top: 0;
  right: 0;
}
#gallery .hover-list .photo-image-container {
  height: 0;
  padding-top: 50%;
  overflow: hidden;
  position: relative;
  background-position: center;
  background-size: cover;
}
#gallery .hover-list .photo-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  opacity: 0;
  color: #fefefe;
  font-size: 1.25rem;
  font-weight: 900;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
@media print, screen and (max-width: 39.99875em) {
  #gallery .hover-list .photo-overlay {
    font-size: 0.7rem;
  }
}
#gallery .hover-list .photo-overlay > div {
  padding: 0.25rem 0;
  line-height: 1;
  text-align: center;
}
#gallery .hover-list .photo-overlay > div.photo-overlay-divider {
  padding: 1rem 0;
}
#gallery .hover-list .photo-overlay-accessory, #gallery .hover-list .photo-overlay-offset, #gallery .hover-list .photo-overlay-suspension {
  font-size: 1.5rem;
}
@media print, screen and (max-width: 39.99875em) {
  #gallery .hover-list .photo-overlay-accessory, #gallery .hover-list .photo-overlay-offset, #gallery .hover-list .photo-overlay-suspension {
    font-size: 0.9rem;
  }
}
#gallery .hover-list .photo-overlay-divider {
  height: 4px;
  width: 20%;
  position: relative;
}
#gallery .hover-list .photo-overlay-divider:after {
  content: "";
  background-color: #ffcc00;
  height: 4px;
  position: absolute;
  top: 43%;
  bottom: 0;
  left: 0;
  right: 0;
}
#gallery .hover-list .photo-overlay-moreinfo {
  font-size: 1rem;
  text-transform: uppercase;
}
#gallery .hover-list .photo:hover .photo-overlay {
  opacity: 1;
}
#gallery .hover-list .video:after {
  font-weight: 300;
  color: #fefefe;
}
#gallery .hover-list .video:hover:before {
  background: rgba(223, 61, 61, 0.9);
}

.gallery-title {
  font-size: 2rem;
  margin: 0;
}
.gallery-main-img {
  margin-bottom: 1rem;
}
.gallery-main-img img {
  width: 100%;
}
.gallery-thumbs {
  margin-bottom: 1rem;
}
.gallery-thumbs .slick-dots {
  bottom: 0 !important;
  position: relative;
  margin: 0;
}
.gallery-details {
  margin-bottom: 2rem;
}

#gallery-vehicle .gallery-main-img .slick-slide {
  min-height: 240px;
}
@media print, screen and (min-width: 40em) {
  #gallery-vehicle .gallery-main-img .slick-slide {
    min-height: 550px;
  }
}
#gallery-vehicle .gallery-thumbs .item > div {
  padding-bottom: 50%;
  background-size: cover;
  background-position: center;
}

#contact {
  background-color: #f1f2f1;
}
#contact .page-content {
  background-color: #fefefe;
}
#contact .page-content > div {
  padding-top: 3rem;
}
#contact h3 {
  font-size: 1.25rem;
  margin-bottom: 0;
}
#contact .contact-inquiry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-transform: capitalize;
}
#contact .contact-inquiry label {
  font-size: 1rem;
  margin-right: 1rem;
  margin-bottom: 1rem;
}
#contact .social img {
  max-width: 25px;
}
#contact .social a {
  color: #ba1717;
}
#contact .social a:hover {
  -webkit-filter: grayscale(0.75);
          filter: grayscale(0.75);
}

#contact .menu > li:not(.menu-text) > a {
  padding: 0;
  font-size: 1.5rem;
}

/* thank you page */
#thanks {
  background-color: #f1f2f1;
}
#thanks .page-conten .row {
  background-color: #fefefe;
}
#thanks .thanks-text {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 64em) {
  #thanks .thanks-text {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.page {
  background-color: #f1f2f1;
}
.page__content {
  padding-top: 50px;
}
.page__content h1, .page__content h2 {
  text-transform: initial;
  font-family: "Roboto Condensed";
}

.page-header {
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "Roboto Condensed", sans-serif;
  border-top: 1px solid #7f8283;
  border-bottom: 1px solid #7f8283;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
  background-color: #fefefe;
}
.page-header h1 {
  color: #ba1717;
  margin-bottom: 0;
  text-transform: uppercase;
}

.page-content img {
  /*width:100%;*/
}
.page-content > div {
  background-color: #fefefe;
}
.page-content > div:first-child {
  padding-top: 3rem;
}

.news-article {
  position: relative;
  overflow: auto;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
}
.news-article .timestamp {
  font-size: 0.8rem;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.5rem;
  text-align: center;
  color: #fefefe;
  background: #333;
}
.news-article .timestamp .date {
  font-size: 2.75rem;
  font-weight: 900;
  line-height: 1;
  display: block;
}
.news-article img {
  border-bottom: 5px solid #ba1717;
}
.news-article .news-sidebar {
  padding: 1rem;
  background: #fbfbfb;
}
.news-article .news-sidebar li a {
  color: #505050;
}
.news-article .news-sidebar li a:hover {
  color: #ba1717;
}

.dealers .page-content {
  background-color: #f1f2f1;
}
.dealers h3 {
  color: #ba1717;
  text-transform: none;
  font-size: 1.25rem;
  font-weight: 400;
}
@media print, screen and (min-width: 40em) {
  .dealers h3 {
    font-size: 1.75rem;
  }
}

#dealers .menu > li:not(.menu-text) > a {
  padding: 0;
  font-size: 1.5rem;
}
#dealers .social img {
  max-width: 25px;
}
#dealers .social a {
  color: #ba1717;
}
#dealers .social a:hover {
  -webkit-filter: grayscale(0.75);
          filter: grayscale(0.75);
}

#downloads .downloads-section-container {
  background-color: #f1f2f1;
}
#downloads .downloads-section-container div {
  background-color: #fefefe;
}
#downloads .downloads-section-container p {
  background-color: #fefefe;
  margin: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
#downloads .downloads-section-container .brand-container a i {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  color: #707070;
}
#downloads .downloads-section-container .downloads-brands {
  margin: 0;
}
#downloads .downloads-section-container .info .wheel-name {
  text-transform: uppercase;
}
#downloads .downloads-section-container .info .wheel-divider {
  height: 2px;
  margin: 0 auto;
  width: 40%;
  background-image: -webkit-gradient(linear, left top, right top, from(#ba1717), color-stop(50%, #ba1717), color-stop(51%, #0a0a0a), to(#0a0a0a));
  background-image: linear-gradient(to right, #ba1717 0%, #ba1717 50%, #0a0a0a 51%, #0a0a0a 100%);
}
#downloads .downloads-section-container .info .wheel-finish {
  font-weight: 400;
  color: #0a0a0a;
  font-size: 1rem;
}
#downloads .downloads-section-container .downloads-brands .logo-pack {
  float: none;
  margin: 0 auto;
}
#downloads .breadcrumbs, #downloads .page-header {
  margin: 0;
}

#error-page {
  background-color: #fefefe;
}
#error-page .page-content {
  background-image: url("/images/utilities/error-bg (2).png");
  background-position: center 20%;
  background-repeat: no-repeat;
  background-size: 40%;
  padding: 75px;
  margin-top: 75px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: none;
}
@media print, screen and (min-width: 64em) {
  #error-page .page-content {
    height: 325px;
  }
  #error-page .page-content h3 {
    font-size: 2.2rem;
  }
  #error-page .page-content p {
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 40em) {
  #error-page .page-content {
    height: 400px;
  }
  #error-page .page-content h3 {
    font-size: 1.9rem;
  }
  #error-page .page-content p {
    font-size: 1rem;
  }
}
@media print, screen and (max-width: 39.99875em) {
  #error-page .page-content {
    height: 250px;
    margin-bottom: 5rem;
    background-size: 50%;
    background-position: center 5%;
  }
  #error-page .page-content h3 {
    font-size: 1.5rem;
    margin-top: 2rem;
  }
  #error-page .page-content p {
    font-size: 1rem;
  }
}
#error-page .page-content h3 {
  font-weight: 1000;
  color: #0a0a0a;
}
#error-page .page-content p {
  font-weight: 400;
  margin-bottom: -6rem;
  color: black;
}
#error-page .page-content p a {
  font-weight: 700;
  color: #0066cc;
}
#error-page .page-content #return-home {
  margin-top: 9rem;
  padding-top: 7rem;
}
#error-page .page-content div {
  background-color: transparent;
}

#gfx-landing .social-tab {
  position: fixed;
  right: 0;
  top: 6%;
  background-color: #0a0a0a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 80px;
  z-index: 10;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .social-tab {
    height: 130px;
    top: 15%;
  }
}
#gfx-landing .social-tab .text {
  color: #fefefe;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  width: 30%;
  margin-left: 0.5rem;
  margin-bottom: -5rem;
  margin-right: 0.5rem;
}
#gfx-landing .social-tab .text p {
  text-transform: uppercase;
  white-space: nowrap;
  margin: 0;
}
#gfx-landing .social-tab .divider {
  height: 1px;
  background-color: #cccccc;
  width: 100%;
  max-width: 28px;
  margin: 0.5rem 0;
  display: inline-block;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .social-tab .divider {
    margin: 1rem 0;
  }
}
#gfx-landing .social-tab a {
  color: #fb7f01;
  font-size: 2rem;
  line-height: 1;
}
#gfx-landing .social-tab a:hover {
  color: #ba1717;
}
#gfx-landing .social-tab .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .social-tab .list {
    width: 70%;
  }
}
#gfx-landing .social-tab .list ul {
  margin: 0;
  list-style: none;
  line-height: 1;
}
#gfx-landing .hero {
  margin: 0;
}
#gfx-landing .hero .slick-arrow {
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.5);
  height: 30px;
  width: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  position: absolute;
  top: 50%;
}
#gfx-landing .hero .slick-arrow i {
  font-size: 1rem;
  color: #fefefe;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .hero .slick-arrow {
    height: 40px;
    width: 40px;
  }
  #gfx-landing .hero .slick-arrow i {
    font-size: 1.25rem;
  }
}
#gfx-landing .hero .slick-arrow.slick-disabled {
  opacity: 0.5;
}
#gfx-landing .hero .slick-arrow.slider-next {
  right: 0px;
}
#gfx-landing .hero .slick-arrow.slider-prev {
  left: 0px;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .hero .slick-arrow.slider-next {
    right: 25px;
  }
  #gfx-landing .hero .slick-arrow.slider-prev {
    left: 25px;
  }
}
#gfx-landing .hero .gfx-slider {
  background-color: #282828;
}
#gfx-landing .hero .blaze-slider {
  /* Ensure Blaze Slider variables are set */
  --slides-to-show: 1;
  --slide-gap: 20px;
  /* Give the slide container a responsive aspect ratio */
}
#gfx-landing .hero .blaze-slider .slider-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9; /* Keeps video proportional */
  background: #000;
}
#gfx-landing .hero .blaze-slider {
  /* Force the iframe to fill the slide space completely */
}
#gfx-landing .hero .blaze-slider .slider-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#gfx-landing .hero .blaze-slider .slider-arrow {
  border-radius: 100px;
  background-color: rgba(255, 255, 255, 0.5);
  height: 30px;
  width: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  position: absolute;
  top: 50%;
}
#gfx-landing .hero .blaze-slider .slider-arrow i {
  font-size: 1rem;
  color: #fefefe;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .hero .blaze-slider .slider-arrow {
    height: 40px;
    width: 40px;
  }
  #gfx-landing .hero .blaze-slider .slider-arrow i {
    font-size: 1.25rem;
  }
}
#gfx-landing .hero .blaze-slider .slider-arrow.slick-disabled {
  opacity: 0.5;
}
#gfx-landing .hero .blaze-slider .slider-arrow.slider-next {
  right: 0px;
}
#gfx-landing .hero .blaze-slider .slider-arrow.slider-prev {
  left: 0px;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .hero .blaze-slider .slider-arrow.slider-next {
    right: 25px;
  }
  #gfx-landing .hero .blaze-slider .slider-arrow.slider-prev {
    left: 25px;
  }
}
#gfx-landing .hero .blaze-slider {
  /* Ensure Blaze Slider variables are set */
}
#gfx-landing .hero .blaze-slider .blaze {
  --slides-to-show: 1;
  --slide-gap: 20px;
}
#gfx-landing .hero .blaze-slider {
  /* Give the slide container a responsive aspect ratio */
}
#gfx-landing .hero .blaze-slider .slider-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9; /* Keeps video proportional */
  background: #000;
}
#gfx-landing .hero .blaze-slider {
  /* Force the iframe to fill the slide space completely */
}
#gfx-landing .hero .blaze-slider .slider-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#gfx-landing .hero .blaze-slider .blaze-track-container {
  -webkit-transition: height 0.4s ease;
  transition: height 0.4s ease;
  overflow: hidden;
}
#gfx-landing .hero .blaze-slider .slider-video iframe {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
}
#gfx-landing .hero .blaze-slider .slider-image img {
  width: 100%;
  display: block;
}
#gfx-landing .hero .hero-scroll-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 5%;
  color: #fefefe;
  z-index: 9;
  left: 0;
  right: 0;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .hero .hero-scroll-more {
    bottom: 15%;
  }
}
#gfx-landing .hero .hero-scroll-more a {
  display: block;
  padding: 1rem;
}
#gfx-landing .hero .hero-scroll-more i {
  height: 30px;
  width: 30px;
  -webkit-animation: updown 2s ease infinite;
          animation: updown 2s ease infinite;
  color: #fefefe;
}
@-webkit-keyframes updown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  25% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@keyframes updown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  25% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
#gfx-landing .hero {
  /* Container hides anything extending past its boundary */
}
#gfx-landing .hero .video.youtube {
  width: 100%;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9; /* Matches standard video shapes */
}
#gfx-landing .hero {
  /* Makes the actual player taller so bottom controls sit below the visible area */
}
#gfx-landing .hero .video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 115%; /* Tall enough to push the bottom bar out of view */
  pointer-events: auto;
}
#gfx-landing .latest-wheels-header {
  margin-bottom: 2rem;
}
#gfx-landing .latest-wheels-header h2 {
  font-weight: 900;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.75rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-header h2 {
    font-size: 3.5rem;
  }
}
#gfx-landing .latest-wheels-header:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 60%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-header:after {
    width: 40%;
  }
}
#gfx-landing .latest-wheels-container {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  justify-items: center;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-container {
    grid-template-columns: repeat(5, 20%);
  }
}
#gfx-landing .latest-wheels .info h6 {
  font-size: 1.25rem;
  line-height: 1;
}
#gfx-landing .latest-wheels .info h6 span {
  color: #7f8283;
  font-size: 1.1rem;
}
#gfx-landing #gfx-latest-slider {
  margin-left: 1rem;
  margin-right: 1rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing #gfx-latest-slider {
    margin-left: auto;
    margin-right: auto;
  }
}
#gfx-landing #gfx-latest-slider .latest-slider {
  position: relative;
}
#gfx-landing #gfx-latest-slider .latest-prev, #gfx-landing #gfx-latest-slider .latest-next {
  position: absolute;
  display: block;
  /*    height: 20px;
      width: 20px;*/
  height: 30px;
  width: 30px;
  background-color: #f4a826;
  line-height: 0px;
  font-size: 5rem;
  cursor: pointer;
  color: #0a0a0a;
  top: 35%;
  font-size: 1rem;
  border-radius: 25px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing #gfx-latest-slider .latest-prev, #gfx-landing #gfx-latest-slider .latest-next {
    font-size: 1.5rem;
    height: 52px;
    width: 52px;
    top: 40%;
  }
}
#gfx-landing #gfx-latest-slider .latest-prev:hover, #gfx-landing #gfx-latest-slider .latest-next:hover {
  color: #fefefe;
  background-color: #fb7f01;
}
#gfx-landing #gfx-latest-slider .latest-prev {
  left: -5px;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing #gfx-latest-slider .latest-prev {
    left: -70px;
  }
}
#gfx-landing #gfx-latest-slider .latest-next {
  right: -5px;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing #gfx-latest-slider .latest-next {
    right: -70px;
  }
}
#gfx-landing .cta-bar {
  text-align: center;
  padding: 1rem 0;
  background-color: #0a0a0a;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .cta-bar {
    padding: 2rem 0;
  }
}
#gfx-landing .cta-bar .button {
  font-size: 1rem;
  margin-bottom: 0;
  border-radius: 5px;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  line-height: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 300px;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #f4a826;
  color: #0a0a0a;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .cta-bar .button {
    font-size: 1.5rem;
    max-width: 530px;
  }
}
#gfx-landing .cta-bar .button:hover {
  background-color: #cccccc;
  color: #0a0a0a;
}
#gfx-landing .cta-bar .button span {
  margin-left: 1rem;
}
#gfx-landing .cta-bar.inverse {
  background-color: #f4a826;
}
#gfx-landing .cta-bar.inverse .button {
  background-color: #0a0a0a;
  color: #fefefe;
}
#gfx-landing .cta-bar.inverse .button:hover {
  background-color: #cccccc;
}
#gfx-landing .cta {
  background-image: url("/gfx/assets/bkg-cta.jpg");
  background-size: cover;
  padding: 4rem 0;
}
#gfx-landing .cta .row {
  max-width: 82rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .cta .row .column, #gfx-landing .cta .row .columns {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
#gfx-landing .cta a {
  display: block;
  position: relative;
  color: #fefefe;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform: uppercase;
  font-size: 1.125rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  line-height: 1;
  text-align: center;
  border: 3px solid #f4a826;
  padding-bottom: 100%;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .cta a {
    font-size: 2rem;
  }
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .cta a {
    font-size: 2.75rem;
    border-width: 6px;
  }
}
#gfx-landing .cta a:hover .cta-bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#gfx-landing .cta a:hover .cta-item {
  background: rgba(0, 0, 0, 0.5);
}
#gfx-landing .cta a .cta-bg {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#gfx-landing .cta a .cta-title {
  font-size: 1rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .cta a .cta-title {
    font-size: 2.75rem;
  }
}
#gfx-landing .cta a .cta-item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: none;
          transform: none;
}
#gfx-landing .pencil {
  text-align: center;
  padding: 2rem 0;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil {
    padding: 5rem 0;
  }
}
#gfx-landing .pencil h1 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  color: #243551;
  font-size: 2.1rem;
  line-height: 1.2;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .pencil h1 {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil h1 {
    font-size: 4.25rem;
  }
}
#gfx-landing .pencil .button {
  background-color: #243551;
  border-radius: 10px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil .button {
    font-size: 1.5rem;
  }
}
#gfx-landing .pencil .button:hover {
  background-color: #ba1717;
}
#gfx-landing .latest-wheels {
  background-color: #242424;
  color: #fefefe;
  padding: 1rem 0;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels {
    padding: 2rem 0;
  }
}
#gfx-landing .latest-wheels-header {
  margin-bottom: 2rem;
}
#gfx-landing .latest-wheels-header h2 {
  font-weight: 900;
  margin-bottom: 0;
  text-align: center;
  color: #fefefe;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-header {
    font-size: 3.5rem;
  }
}
#gfx-landing .latest-wheels-header:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 60%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-header:after {
    width: 40%;
  }
}
#gfx-landing .latest-wheels-container {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  justify-items: center;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels-container {
    grid-template-columns: repeat(5, 20%);
  }
}
#gfx-landing .latest-wheels .info h6 {
  font-size: 0.75rem;
  line-height: 1;
  color: #fefefe;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .latest-wheels .info h6 {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels .info h6 {
    font-size: 1.25rem;
  }
}
#gfx-landing .latest-wheels .info h6 span {
  color: #7f8283;
  font-size: 0.7rem;
}
@media print, screen and (min-width: 40em) {
  #gfx-landing .latest-wheels .info h6 span {
    font-size: 0.9rem;
  }
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .latest-wheels .info h6 span {
    font-size: 1.1rem;
  }
}
#gfx-landing .latest-slider {
  position: relative;
}
#gfx-landing .latest-prev, #gfx-landing .latest-next {
  position: absolute;
  display: block;
  /*    height: 20px;
      width: 20px;*/
  line-height: 0px;
  font-size: 5rem;
  cursor: pointer;
  background: transparent;
  color: #7f8283;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#gfx-landing .latest-prev:hover, #gfx-landing .latest-next:hover {
  color: #7f8283;
}
#gfx-landing .latest-prev {
  left: -70px;
}
#gfx-landing .latest-next {
  right: -70px;
}
#gfx-landing {
  /*.featured-wheels {
    background-image:url('/gfx/assets/bkg-discover.jpg');
    background-color:$white;
    background-size:cover;
    background-position: center;
    padding:1rem 0;
    margin:0;
    @include breakpoint (large) {
      padding:2rem 0;
    }
    .featured-wheels-header {
      border:0;
      h2 {
        color:$black;
        font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
        line-height:1.2;
        @include breakpoint (large) {
          font-size:2.5rem;
        }
      }
    }
    .featured-slider {
      max-width:85rem;
    }
    .featured-arrow {
      background-color:rgba(36,53,81,.5);
      font-size:1.25rem;
      border-radius:50px;
      padding:1rem;
      color:$white;
      top:35%;
      z-index:1;
      @media only screen and (max-width:1500px) {
        &.featured-next {
          right:1%;
        }
        &.featured-prev {
          left:1%;
        }
      }
    }
    .slick-slide {
      @include breakpoint (medium) {
        padding:0;
      }
    }
    a {
      background-color:$white;
      display:block;
      //padding:1rem;
      padding:.5rem;
      @include breakpoint (large) {
        //padding:1rem 2rem;
      }
      &:hover {
        .button {
          background-color:$primary-color;
        }
      }
      h6 {
        font-size:1.25rem;
        color:$gfxblue;
        @include breakpoint(large) {
          font-size:1.75rem;
        }
      }
      .featured-wheel-name {
        font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
        margin-bottom:1.5rem;
      }
      .button {
        font-size:.9rem;
        font-family:$body-font-family;
        background-color:$gfxblue;
        color:$white;
        font-weight:400;
        padding:.75rem 1.25rem;
        border-radius: 10px;
        @include breakpoint (large) {
          font-size:1rem;
          padding:.75rem 1.5rem;
        }
      }
    }
  }*/
}
#gfx-landing .gallery {
  background-image: url("/gfx/assets/bkg-cta.jpg");
  background-size: cover;
  padding: 4rem 0;
}
#gfx-landing .gallery h1 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  color: #fefefe;
  text-align: center;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .gallery h1 {
    font-size: 4rem;
  }
}
#gfx-landing .gallery .title {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .gallery .title {
    margin-bottom: 3rem;
  }
}
#gfx-landing .gallery .row {
  max-width: 82rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .gallery .row .column, #gfx-landing .gallery .row .columns {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
#gfx-landing .gallery a {
  display: block;
  position: relative;
  color: #fefefe;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform: uppercase;
  font-size: 2rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  border: 3px solid #f4a826;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .gallery a {
    font-size: 2.75rem;
    border-width: 6px;
  }
}
#gfx-landing .gallery a:hover .gallery-bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#gfx-landing .gallery a:hover .gallery-item {
  background: rgba(0, 0, 0, 0);
}
#gfx-landing .gallery a .gallery-bg {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  height: 200px;
  background-size: cover;
  background-position: center;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .gallery a .gallery-bg {
    height: 600px;
  }
}
#gfx-landing .gallery a .gallery-bg img {
  opacity: 0;
}
#gfx-landing .gallery a .gallery-item {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
#gfx-landing .gallery a .gallery-title {
  display: none;
}
#gfx-landing .pencil.dealer-search {
  background-image: url("/gfx/assets/bkg-dealer.jpg");
  background-size: cover;
  background-position: center;
}
#gfx-landing .pencil.dealer-search .row {
  max-width: 80rem;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil.dealer-search .pencil-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#gfx-landing .pencil.dealer-search h1 {
  color: #fefefe;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil.dealer-search h1 {
    font-size: 3.5rem;
  }
}
#gfx-landing .pencil.dealer-search .button {
  background-color: #fefefe;
  color: #0a0a0a;
}
@media print, screen and (min-width: 64em) {
  #gfx-landing .pencil.dealer-search .button {
    font-size: 1.25rem;
    padding: 1.25rem 2.5rem;
  }
}
#gfx-landing .pencil.dealer-search .button:hover {
  background-color: #ba1717;
  color: #fefefe;
}

.packages {
  background-color: #F5F5F5;
  margin: 20px auto;
  max-width: 800px;
  padding: 20px;
  position: relative;
  width: auto;
}
.packages .item-name {
  font-size: 1.5rem;
}
.packages .returnTxt {
  font-size: 1.6rem;
  margin-top: 1rem;
}

.accessory-container {
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 40em) {
  .accessory-container {
    border-bottom: 1px solid #ccc;
  }
}
.accessory-container__left {
  border-right: 1px solid #ccc;
}

.accessory-popup {
  max-width: 425px;
  padding: 0 0 10px;
  text-align: center;
}
.accessory-popup--wide {
  max-width: 850px;
}
.accessory-popup__header {
  padding-top: 10px;
  border-bottom: 3px solid #ccc;
  background-color: #f2f2f2;
  color: #ba1717;
  font-size: 1.5rem;
  font-weight: bold;
}
.accessory-popup__item {
  width: 90%;
  margin: 0 auto 10px;
  padding-bottom: 15px;
  text-align: left;
}
.accessory-popup__item--border:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
@media print, screen and (max-width: 39.99875em) {
  .accessory-popup__item {
    border-bottom: 1px solid #ccc;
  }
}
.accessory-popup__item .input {
  margin: 0 20px;
}
.accessory-popup__item .input--right {
  margin: 0;
}
.accessory-popup__item .img {
  max-width: 100px;
}
@media print, screen and (max-width: 39.99875em) {
  .accessory-popup__item .img {
    max-width: 90px;
  }
}
.accessory-popup__item .img--lrg {
  max-width: 50%;
  margin-bottom: 1rem;
}
@media print, screen and (max-width: 39.99875em) {
  .accessory-popup .title {
    font-size: 0.8rem;
  }
}
.accessory-popup .title--right {
  display: block;
  text-align: center;
  line-height: 1.2;
}
.accessory-popup__link {
  display: inline-block;
  color: #ba1717;
  cursor: pointer;
  font-size: 100%;
}
.accessory-popup__link:hover {
  text-decoration: underline;
}

.accessory-popup--right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.accessory-popup--right .input {
  margin: 0;
}
.accessory-popup--right .content {
  padding: 0 2rem;
}
.accessory-popup--right .subtext {
  color: #ba1717;
  display: block;
  margin-bottom: 1rem;
}

.gallery-quote-popup__header {
  font-size: 1.7rem;
}
.gallery-quote-popup__txt {
  font-size: 0.95rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
}
@media print, screen and (max-width: 39.99875em) {
  .gallery-quote-popup__txt {
    line-height: 1.2;
  }
}
.gallery-quote-popup__note {
  font-size: 0.8rem;
  font-weight: 500;
  margin-bottom: 0;
}
.gallery-quote-popup label {
  font-size: 1rem;
  font-weight: 700;
}
.gallery-quote-popup input:not([type=submit]) {
  background-color: #eee;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  color: #000;
}

.form-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (max-width: 39.99875em) {
  .form-name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.form-name input {
  width: 19.5rem;
}
@media print, screen and (max-width: 39.99875em) {
  .form-name input {
    width: 100%;
  }
}
.form-name input::-webkit-input-placeholder {
  color: #333;
  font-size: 0.9rem;
}
.form-name input::-moz-placeholder {
  color: #333;
  font-size: 0.9rem;
}
.form-name input:-ms-input-placeholder {
  color: #333;
  font-size: 0.9rem;
}
.form-name input::-ms-input-placeholder {
  color: #333;
  font-size: 0.9rem;
}
.form-name input::placeholder {
  color: #333;
  font-size: 0.9rem;
}

.gallery-product-info span {
  font-weight: 400;
}

.fitmentCheck__txt {
  color: #ba1717;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
.fitmentCheck__btn {
  background-color: #ba1717;
  padding-right: 2rem;
  padding-left: 2rem;
}

#newsletter-popup h2 {
  text-align: center;
}
#newsletter-popup .input-group-button {
  vertical-align: top;
}
#newsletter-popup #mce-responses {
  white-space: normal;
  line-height: 1.25;
  font-size: 1rem;
}
#newsletter-popup.dark-popup h2, #newsletter-popup.dark-popup p {
  color: #fefefe;
}

#inventory {
  background-color: #fefefe;
  font-family: "Roboto", sans-serif;
}
#inventory .inventory-item {
  font-weight: 700;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  font-size: 1rem;
}
#inventory .inventory-item .slashout {
  text-decoration: line-through;
}
#inventory .inventory-part-number {
  color: #666;
  font-weight: 400;
}
#inventory .inventory-stock {
  color: #336699;
}
#inventory .inventory-stock-by-location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #ba1717;
}
#inventory .inventory-dealer, #inventory .inventory-msrp {
  font-weight: 300;
  color: #666;
  font-size: 0.8375rem;
  width: 50%;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .inventory-dealer, #inventory .inventory-msrp {
    width: auto;
  }
}
#inventory .inventory-msrp {
  text-transform: uppercase;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .inventory-msrp {
    padding-right: 1rem;
  }
}
#inventory .inventory-dealer {
  text-transform: capitalize;
}
#inventory .inventory-sale {
  color: #0a0a0a;
  text-transform: capitalize;
}
#inventory .inventory-sale-price {
  color: #ba1717;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .inventory-purchase {
    margin-top: 0.5rem;
  }
}
#inventory .inventory-purchase > button {
  background-color: #ba1717;
  font-family: "Roboto Condensed", sans-serif;
  color: #fefefe;
  text-transform: uppercase;
  padding: 1rem 1.5rem;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .inventory-purchase > button {
    padding: 0.5rem 1rem;
  }
}
#inventory .inventory-purchase > button:hover {
  background-color: #336699;
}
#inventory .inventory-divider {
  height: 1px;
  background-color: #7f8283;
}
#inventory .no-matches, #inventory .result-count-empty {
  display: none;
}
#inventory .view-list .inventory-item {
  display: inline-block;
  border-bottom: 1px solid #7f8283;
  width: 100%;
}
#inventory .view-list .inventory-thumbnail {
  width: 12%;
  float: left;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .view-list .inventory-thumbnail {
    width: auto;
  }
}
#inventory .view-list .inventory-thumbnail img {
  max-width: 70px;
}
#inventory .view-list .inventory-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .view-list .inventory-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 1rem;
  }
}
#inventory .view-list .inventory-location {
  width: 40%;
}
#inventory .view-list .inventory-description {
  float: left;
}
@media print, screen and (min-width: 40em) {
  #inventory .view-list .inventory-description {
    width: 88%;
  }
}
#inventory .view-list .inventory-description-top {
  color: #0a0a0a;
  line-height: 1.35;
  padding-bottom: 0.5rem;
}
#inventory .view-list .inventory-description-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (max-width: 63.99875em) {
  #inventory .view-list .inventory-description-bottom {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  #inventory .view-list .inventory-description-bottom > div {
    width: 50%;
  }
}
#inventory .view-list .inventory-description-bottom .inventory-description-left {
  width: 100%;
}
#inventory .view-list .inventory-description-bottom-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#inventory .view-gallery .inventory-thumbnail img {
  max-width: 200px;
  width: 100%;
}
#inventory .view-gallery .inventory-msrp, #inventory .view-gallery .inventory-dealer {
  color: #0a0a0a;
}
#inventory .view-gallery .inventory-location {
  width: 33%;
}
#inventory .view-gallery .inventory-purchase {
  margin-top: 0.5rem;
}

#ware-box, #ware-box2, #ware-box3 {
  position: fixed;
  display: none;
  opacity: 0;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.7);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.item-popup {
  font-size: 1rem;
  font-weight: 500;
  width: 600px;
  padding: 20px;
  background-color: #fefefe;
  /*@media screen and (max-height: 1100px) {
    overflow-y: scroll;
  }*/
}
.item-popup h3 {
  font-size: 1.25rem;
}
.item-popup .item-popup-title h3 {
  text-transform: uppercase;
  letter-spacing: 1px;
}
.item-popup label {
  text-transform: uppercase;
  width: 80px;
  font-weight: 600;
}
.item-popup input {
  width: 50px;
}
.item-popup > div {
  width: 100%;
}
.item-popup .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}
.item-popup .field > div {
  width: auto;
}
.item-popup .field.upsell {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.item-popup .button {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  letter-spacing: 0;
}
.item-popup .button:hover {
  background-color: #0a0a0a;
}
.item-popup .item-popup-cta {
  padding-left: 80px;
}
.item-popup .item-popup-cta .button:first-child {
  background-color: #0a0a0a;
}
.item-popup .item-popup-cta .button:hover {
  background-color: #7f8283;
}
.item-popup .upsell {
  padding-bottom: 1.5rem;
}
.item-popup .upsell label {
  width: 100%;
  padding-bottom: 0.5rem;
}
.item-popup .upsell input {
  margin-bottom: 0;
  width: auto;
}
.item-popup .upsell table {
  font-size: 0.85rem;
}
.item-popup .upsell table tr td {
  padding: 0.25rem 0.75rem;
}
.item-popup .upsell table span {
  text-transform: uppercase;
}

#ware-box2 .item-popup-msg {
  text-align: center;
  text-transform: uppercase;
  padding-bottom: 2rem;
}
#ware-box2 #message {
  font-weight: 500;
  font-size: 1rem;
}
#ware-box2 #message .fa-check-circle, #ware-box2 #message .fa-minus-circle, #ware-box2 #message .fa-times-circle, #ware-box2 #message .fa-exclamation-triangle {
  font-size: 3rem;
  margin-bottom: 1rem;
}
#ware-box2 #message .fa-check-circle {
  color: #33cc33;
}
#ware-box2 #message .fa-minus-circle, #ware-box2 #message .fa-times-circle, #ware-box2 #message .fa-exclamation-triangle {
  color: #f4a826;
}
#ware-box2 .item-popup-cta {
  margin-left: 0;
  text-align: center;
}
#ware-box2 .item-popup-cta a.button:link:first-child, #ware-box2 .item-popup-cta a.button:visited:first-child {
  background-color: #ba1717;
}
#ware-box2 .item-popup-cta a.button:link:last-child, #ware-box2 .item-popup-cta a.button:visited:last-child {
  background-color: #7f8283;
}
#ware-box2 .item-popup-cta a.button:link:hover, #ware-box2 .item-popup-cta a.button:visited:hover {
  background-color: #0a0a0a;
}

#ware-box3 .cart-results th, #ware-box3 .cart-results td {
  font-size: 1rem;
}
#ware-box3 .cart-top {
  padding-top: 1rem;
  padding-left: 1rem;
}
#ware-box3 .cart-top h1 {
  font-size: 2rem;
}
#ware-box3 .mobile-cart .accordion-item .accordion-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #e4e4e4;
  border-top: 1px solid #7f8283;
  border-bottom: 1px solid #7f8283;
  padding: 1rem 0.75rem;
}
#ware-box3 .mobile-cart .accordion-item .accordion-title::before {
  display: none;
}
#ware-box3 .mobile-cart .accordion-item .accordion-title .mobile-summary-title {
  font-weight: 700;
  color: #ba1717;
}
#ware-box3 .mobile-cart .accordion-item .accordion-title .mobile-summary-icon {
  padding-left: 0.5rem;
}
#ware-box3 .mobile-cart .accordion-item .accordion-title .mobile-summary-total {
  color: #0a0a0a;
}
#ware-box3 .mobile-cart .accordion-item.is-active .fa-angle-down:before {
  content: "\f106";
}
#ware-box3 .mobile-cart .inventory-item {
  background-color: #e4e4e4;
  display: inline-block;
  border-bottom: 1px solid #7f8283;
  width: 100%;
  padding: 0.75rem;
}
#ware-box3 .mobile-cart .inventory-thumbnail {
  width: 12%;
  float: left;
}
@media print, screen and (max-width: 63.99875em) {
  #ware-box3 .mobile-cart .inventory-thumbnail {
    width: auto;
  }
}
#ware-box3 .mobile-cart .inventory-thumbnail img {
  max-width: 70px;
}
#ware-box3 .mobile-cart .inventory-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (max-width: 63.99875em) {
  #ware-box3 .mobile-cart .inventory-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 1rem;
  }
}
#ware-box3 .mobile-cart .inventory-description {
  float: left;
}
@media print, screen and (min-width: 40em) {
  #ware-box3 .mobile-cart .inventory-description {
    width: 88%;
  }
}
#ware-box3 .mobile-cart .inventory-description-top {
  color: #0a0a0a;
  line-height: 1.35;
  padding-bottom: 0.5rem;
  font-weight: 700;
}
#ware-box3 .mobile-cart .inventory-description-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (max-width: 63.99875em) {
  #ware-box3 .mobile-cart .inventory-description-bottom {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  #ware-box3 .mobile-cart .inventory-description-bottom > div {
    width: 50%;
  }
}
#ware-box3 .mobile-cart .inventory-description-bottom .inventory-description-left {
  width: 100%;
}
#ware-box3 .mobile-cart .inventory-description-bottom-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#ware-box3 .mobile-cart .mobile-checkout-cta, #ware-box3 .mobile-cart .mobile-cart-cta {
  padding: 0.75rem;
}
#ware-box3 .mobile-cart .mobile-checkout-cta .button, #ware-box3 .mobile-cart .mobile-cart-cta .button {
  padding: 0.75rem 1rem;
  font-size: 1.15rem;
}
#ware-box3 .mobile-cart .mobile-checkout-cta .button.edit-cart, #ware-box3 .mobile-cart .mobile-cart-cta .button.edit-cart {
  background-color: #7f8283;
  margin-left: 0.75rem;
}
#ware-box3 .mobile-cart .mobile-checkout-cta .button.checkout-button, #ware-box3 .mobile-cart .mobile-cart-cta .button.checkout-button {
  background-color: #33cc33;
  margin-left: 0.75rem;
}
#ware-box3 .mobile-cart .mobile-checkout-total, #ware-box3 .mobile-cart .mobile-cart-total {
  padding: 0.75rem;
  text-align: right;
  font-weight: 700;
}
#ware-box3 .mobile-cart-table-container {
  padding-bottom: 0;
  border-bottom: 1px solid #7f8283;
  font-size: 1rem;
}
#ware-box3 .mobile-cart {
  border-top: 1px solid #7f8283;
}
#ware-box3 .mobile-cart .inventory-item .inventory-description-bottom-bottom {
  display: block;
}
#ware-box3 .mobile-cart .inventory-item .inventory-description-bottom-bottom-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#ware-box3 .mobile-cart .inventory-item .inventory-description-bottom-bottom-bottom i {
  font-size: 1.25rem;
}
#ware-box3 .mobile-cart .mobile-cart-cta {
  padding: 1.25rem 0.75rem;
}
#ware-box3 .mobile-cart .mobile-cart-total {
  text-align: center;
}

#inventory .pagination-container {
  padding: 3rem 0;
  margin: 3rem 0;
}
#inventory .navigation {
  margin-bottom: 3rem;
  width: 100%;
}
#inventory .navigation.moreloaded {
  margin-bottom: 0;
}
#inventory .navigation a {
  display: inline-block;
  margin: 2rem auto;
  padding: 1rem 2rem;
  color: #fefefe;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #ba1717;
}
#inventory .navigation a:hover {
  background-color: #7f8283;
}

.inventory-head.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 10;
}
.inventory-head.fixed #left {
  background-color: #e4e4e4;
  padding-bottom: 1rem;
}

.user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 5px solid #7f8283;
  background-color: #e4e4e4;
  width: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-size: 1.05rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
@media print, screen and (max-width: 63.99875em) {
  .user {
    font-size: 0.875rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.user-name {
  font-style: italic;
  font-weight: 600;
  text-transform: capitalize;
  font-family: "Roboto", sans-serif;
}
@media print, screen and (max-width: 63.99875em) {
  .user-name {
    border-bottom: 1px solid #777777;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}
.user-code {
  color: #ba1717;
}
.user-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  text-transform: uppercase;
}
@media print, screen and (max-width: 63.99875em) {
  .user-options {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.user-options > div {
  font-weight: 900;
  margin-left: 1rem;
}
@media print, screen and (max-width: 63.99875em) {
  .user-options > div {
    margin-left: 0;
    margin-right: 1rem;
  }
}
.user-options > div a {
  color: #0a0a0a;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
}
@media print, screen and (max-width: 63.99875em) {
  .user-options > div a {
    font-weight: 500;
  }
}
.user-options > div a:hover {
  color: #ba1717;
}
.user-options > div a:hover i {
  color: #ba1717;
}
.user-options > div i {
  color: #7f8283;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}

.loading-screen {
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  z-index: 9999;
}
.loading-screen i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 45px;
  height: 45px;
  font-size: 3rem;
  color: #fefefe;
  -webkit-animation: spin 1s linear infinite;
  animation: spin 1s linear infinite;
}
@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media print, screen and (min-width: 40em) {
  #inventory {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

#inventory .filter, .inventory-head .filter {
  padding-bottom: 2rem;
}
#inventory .filter-selection, .inventory-head .filter-selection {
  border-right: 1px solid #7f8283;
}
#inventory .filter-selection h5, .inventory-head .filter-selection h5 {
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 1.15rem;
}
#inventory .filter-selection ul, .inventory-head .filter-selection ul {
  list-style: none;
  margin: 0;
}
#inventory .filter-selection li, .inventory-head .filter-selection li {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 0;
}
#inventory .filter-selection input, .inventory-head .filter-selection input {
  margin-bottom: 0.75rem;
}
#inventory .filter-selection label, .inventory-head .filter-selection label {
  line-height: 0;
}
#inventory .filter-active, .inventory-head .filter-active {
  font-weight: 400;
  padding-bottom: 2rem;
}
#inventory .filter-active:after, .inventory-head .filter-active:after {
  content: "";
  display: block;
  width: 75%;
  background-color: #7f8283;
  height: 1px;
}
#inventory .filter-active ul, .inventory-head .filter-active ul {
  padding-bottom: 2rem;
}
#inventory .filter-active a, .inventory-head .filter-active a {
  color: #336699;
  font-weight: 900;
  padding-right: 0.5rem;
}
#inventory .filter-active a#clear, .inventory-head .filter-active a#clear {
  display: block;
  margin-top: 0.5rem;
}
#inventory .filter-active-selected, .inventory-head .filter-active-selected {
  padding: 0.5rem;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  display: inline-block;
  border-radius: 5px;
}
#inventory .filter-active-selected:hover, .inventory-head .filter-active-selected:hover {
  background-color: #ba1717;
  color: white;
}
#inventory .filter-active-selected:hover a, .inventory-head .filter-active-selected:hover a {
  color: #fefefe;
}
#inventory .filter-button, .inventory-head .filter-button {
  color: #ba1717;
  font-weight: 900;
  font-size: 1rem;
}
#inventory .filter-part-number, .inventory-head .filter-part-number {
  max-width: 80%;
  border-bottom: 1px solid #7f8283;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
#inventory .filter-part-number input, .inventory-head .filter-part-number input {
  padding: 0.5rem;
  margin-bottom: 0;
  width: 100%;
  font-size: 1rem;
}
#inventory .filter-shopby, .inventory-head .filter-shopby {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (max-width: 39.99875em) {
  #inventory .filter-shopby, .inventory-head .filter-shopby {
    padding-bottom: 1rem;
  }
}
@media print, screen and (min-width: 40em) {
  #inventory .filter-shopby, .inventory-head .filter-shopby {
    border-bottom: 5px solid #7f8283;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 2rem;
    max-width: 80%;
  }
}
#inventory .filter-shopby label, #inventory .filter-shopby select, .inventory-head .filter-shopby label, .inventory-head .filter-shopby select {
  margin-bottom: 0;
}
#inventory .filter-shopby label, .inventory-head .filter-shopby label {
  margin-right: 0.5rem;
}
@media print, screen and (min-width: 40em) {
  #inventory .filter-shopby label, .inventory-head .filter-shopby label {
    margin-right: 1rem;
  }
}
#inventory .filter-shopby select, .inventory-head .filter-shopby select {
  width: auto;
}
@media print, screen and (max-width: 39.99875em) {
  #inventory .filter-shopby select, .inventory-head .filter-shopby select {
    font-size: 0.9rem;
  }
}
#inventory .filter-shopby h5, .inventory-head .filter-shopby h5 {
  color: #ba1717;
  margin-bottom: 0;
}
@media print, screen and (max-width: 39.99875em) {
  #inventory .filter-shopby h5, .inventory-head .filter-shopby h5 {
    font-size: 1.15rem;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
}

#inventory .options-bar {
  border-bottom: 5px solid #7f8283;
  padding-bottom: 2rem;
  color: #0a0a0a;
  font-weight: 400;
  font-size: 1rem;
}
#inventory .options-bar select, #inventory .options-bar input {
  font-size: 0.75rem;
}
#inventory .options-bar > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#inventory .options-bar > div:first-child {
  border-right: 1px solid #7f8283;
}
#inventory .options-bar-view {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#inventory .options-bar-view i {
  font-size: 1.5rem;
  color: #e4e4e4;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
#inventory .options-bar-view i:hover {
  color: #ba1717;
}
#inventory .options-bar-view button.active-view i {
  color: #ba1717;
}
#inventory .options-bar-instock input {
  margin-bottom: 0;
}
#inventory .options-bar-sort select {
  width: auto;
  margin-bottom: 0;
  margin-left: 0.5rem;
}
#inventory .options-bar .result-count, #inventory .options-bar .result-count-empty {
  padding-right: 0.25rem;
}

@media print, screen and (max-width: 63.99875em) {
  #inventory .filter-selection, .inventory-head .filter-selection {
    border: 0;
    padding: 0.75rem;
    height: 50vh;
    overflow-x: scroll;
  }
  #inventory .accordion-item, .inventory-head .accordion-item {
    border: 1px solid #7f8283;
  }
}
#inventory .accordion-item.is-active a, .inventory-head .accordion-item.is-active a {
  color: #336699;
}
#inventory .accordion-title, .inventory-head .accordion-title {
  font-family: "Roboto Condensed", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  border: 0;
}

.cart #login {
  display: none;
}
.cart .page-content {
  background-color: transparent;
}
.cart .page-content.cart-table-container form {
  width: 100%;
}
.cart .page-content .cart-listing {
  width: 100%;
  border: 1px solid #2e3130;
  border-top: 5px solid #ba1717;
}
.cart th {
  color: #fefefe;
  text-transform: uppercase;
  background-color: #2e3130;
  font-weight: 400;
}
.cart td {
  font-weight: 400;
}
.cart-buttons, .cart-total {
  padding: 2rem;
}
.cart-buttons .button {
  padding: 0.75rem 1rem;
  margin-bottom: 0;
}
.cart-buttons .button:hover {
  background-color: #0a0a0a;
}
.cart .new-search {
  text-align: left;
}
.cart .update-checkout {
  text-align: right;
}
.cart .update-checkout .button:first-child {
  background-color: #7f8283;
}
.cart .update-checkout .button:last-child {
  background-color: #33cc33;
}
.cart .update-checkout .button:hover {
  background-color: black;
}
.cart .edit-cart {
  text-align: right;
}
.cart .edit-cart .button {
  background-color: #7f8283;
}
.cart .edit-cart .button:hover {
  background-color: #0a0a0a;
}
.cart-qty {
  width: 50px;
  margin: 0 auto;
  pointer-events: none;
  border: 0;
  background-color: transparent !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.cart-total {
  font-weight: 900;
  text-transform: uppercase;
}
.cart-total-title {
  text-align: right;
}
.cart .disclaimer {
  text-align: left;
  padding-top: 1rem;
  border-top: 5px solid #2e3130;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 64em) {
  .cart .disclaimer {
    margin-top: 5rem;
  }
}
@media print, screen and (min-width: 40em) {
  .cart .inv-btn-container {
    padding-left: 0;
    padding-right: 0;
  }
}
.cart .checkout-error {
  color: #ed001a;
  font-size: 0.9rem;
  font-weight: 600;
}

.page-content .checkout-form {
  width: 100%;
}
@media print, screen and (min-width: 64em) {
  .page-content .checkout-form .buttons {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

#checkout h1, #checkout h2, #cart h1, #cart h2 {
  text-transform: uppercase;
}
#checkout h1, #cart h1 {
  color: #ba1717;
}
@media print, screen and (min-width: 40em) {
  #checkout .checkout-title, #checkout .cart-title, #cart .checkout-title, #cart .cart-title {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media print, screen and (max-width: 39.99875em) {
  #checkout .checkout-title h1, #checkout .cart-title h1, #cart .checkout-title h1, #cart .cart-title h1 {
    padding: 0 0.75rem;
    font-size: 2rem;
    letter-spacing: 0;
  }
}
@media print, screen and (max-width: 39.99875em) {
  #checkout .checkout-form h2, #cart .checkout-form h2 {
    letter-spacing: 0;
  }
}

.checkout-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.checkout-form {
  padding: 0.75rem;
  border-right-color: #7f8283;
}
@media print, screen and (min-width: 64em) {
  .checkout-form {
    border: 1px solid #2e3130;
    padding: 2rem;
  }
}
.checkout-form .buttons .button {
  max-width: 150px;
  width: 100%;
}
.checkout-form .buttons .button:first-child {
  background-color: #33cc33;
  margin-right: 0.5rem;
  padding-left: 0;
  padding-right: 0;
}
.checkout-form .buttons .button:last-child {
  background-color: #7f8283;
}
.checkout-form .buttons .button:hover {
  background-color: #0a0a0a;
}
.checkout-form .invalid {
  background-color: #ed001a;
  color: #fefefe;
}
.checkout label {
  max-width: 200px;
  width: 100%;
  font-weight: 700;
  /*font-size:1rem;*/
  text-transform: capitalize;
}
@media print, screen and (min-width: 64em) {
  .checkout .field input, .checkout .field select {
    max-width: 350px;
  }
}
.checkout .field textarea {
  max-width: 500px;
  min-height: 150px;
}
.checkout .customer-address {
  text-transform: none;
  line-height: 1.25;
  margin-bottom: 1rem;
  font-weight: 700;
}

#checkout .summary {
  padding: 2rem;
  background-color: #e4e4e4;
  border: 1px solid #2e3130;
  border-left: 0;
  font-size: 1rem;
}
#checkout .summary .cart-listing {
  margin-top: 2.5rem;
}
#checkout .summary th:nth-child(3) {
  min-width: 100px;
}

#checkout .mobile-checkout .accordion-item .accordion-title, #cart .mobile-cart .accordion-item .accordion-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #e4e4e4;
  border-top: 1px solid #7f8283;
  border-bottom: 1px solid #7f8283;
  padding: 1rem 0.75rem;
}
#checkout .mobile-checkout .accordion-item .accordion-title::before, #cart .mobile-cart .accordion-item .accordion-title::before {
  display: none;
}
#checkout .mobile-checkout .accordion-item .accordion-title .mobile-summary-title, #cart .mobile-cart .accordion-item .accordion-title .mobile-summary-title {
  font-weight: 700;
  color: #ba1717;
}
#checkout .mobile-checkout .accordion-item .accordion-title .mobile-summary-icon, #cart .mobile-cart .accordion-item .accordion-title .mobile-summary-icon {
  padding-left: 0.5rem;
}
#checkout .mobile-checkout .accordion-item .accordion-title .mobile-summary-total, #cart .mobile-cart .accordion-item .accordion-title .mobile-summary-total {
  color: #0a0a0a;
}
#checkout .mobile-checkout .accordion-item.is-active .fa-angle-down:before, #cart .mobile-cart .accordion-item.is-active .fa-angle-down:before {
  content: "\f106";
}
#checkout .mobile-checkout .inventory-item, #cart .mobile-cart .inventory-item {
  background-color: #e4e4e4;
  display: inline-block;
  border-bottom: 1px solid #7f8283;
  width: 100%;
  padding: 0.75rem;
}
#checkout .mobile-checkout .inventory-thumbnail, #cart .mobile-cart .inventory-thumbnail {
  width: 12%;
  float: left;
}
@media print, screen and (max-width: 63.99875em) {
  #checkout .mobile-checkout .inventory-thumbnail, #cart .mobile-cart .inventory-thumbnail {
    width: auto;
  }
}
#checkout .mobile-checkout .inventory-thumbnail img, #cart .mobile-cart .inventory-thumbnail img {
  max-width: 70px;
}
#checkout .mobile-checkout .inventory-info, #cart .mobile-cart .inventory-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media print, screen and (max-width: 63.99875em) {
  #checkout .mobile-checkout .inventory-info, #cart .mobile-cart .inventory-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-left: 1rem;
  }
}
#checkout .mobile-checkout .inventory-description, #cart .mobile-cart .inventory-description {
  float: left;
}
@media print, screen and (min-width: 40em) {
  #checkout .mobile-checkout .inventory-description, #cart .mobile-cart .inventory-description {
    width: 88%;
  }
}
#checkout .mobile-checkout .inventory-description-top, #cart .mobile-cart .inventory-description-top {
  color: #0a0a0a;
  line-height: 1.35;
  padding-bottom: 0.5rem;
  font-weight: 700;
}
#checkout .mobile-checkout .inventory-description-bottom, #cart .mobile-cart .inventory-description-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (max-width: 63.99875em) {
  #checkout .mobile-checkout .inventory-description-bottom, #cart .mobile-cart .inventory-description-bottom {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  #checkout .mobile-checkout .inventory-description-bottom > div, #cart .mobile-cart .inventory-description-bottom > div {
    width: 50%;
  }
}
#checkout .mobile-checkout .inventory-description-bottom .inventory-description-left, #cart .mobile-cart .inventory-description-bottom .inventory-description-left {
  width: 100%;
}
#checkout .mobile-checkout .inventory-description-bottom-bottom, #cart .mobile-cart .inventory-description-bottom-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#checkout .mobile-checkout .mobile-checkout-cta, #checkout .mobile-checkout .mobile-cart-cta, #cart .mobile-cart .mobile-checkout-cta, #cart .mobile-cart .mobile-cart-cta {
  padding: 0.75rem;
}
#checkout .mobile-checkout .mobile-checkout-cta .button, #checkout .mobile-checkout .mobile-cart-cta .button, #cart .mobile-cart .mobile-checkout-cta .button, #cart .mobile-cart .mobile-cart-cta .button {
  padding: 0.75rem 1rem;
  font-size: 1.15rem;
}
#checkout .mobile-checkout .mobile-checkout-cta .button.edit-cart, #checkout .mobile-checkout .mobile-cart-cta .button.edit-cart, #cart .mobile-cart .mobile-checkout-cta .button.edit-cart, #cart .mobile-cart .mobile-cart-cta .button.edit-cart {
  background-color: #7f8283;
  margin-left: 0.75rem;
}
#checkout .mobile-checkout .mobile-checkout-cta .button.checkout-button, #checkout .mobile-checkout .mobile-cart-cta .button.checkout-button, #cart .mobile-cart .mobile-checkout-cta .button.checkout-button, #cart .mobile-cart .mobile-cart-cta .button.checkout-button {
  background-color: #33cc33;
  margin-left: 0.75rem;
}
#checkout .mobile-checkout .mobile-checkout-total, #checkout .mobile-checkout .mobile-cart-total, #cart .mobile-cart .mobile-checkout-total, #cart .mobile-cart .mobile-cart-total {
  padding: 0.75rem;
  text-align: right;
  font-weight: 700;
}

/*///// Mobile - Cart /////*/
#cart .mobile-cart-table-container {
  padding-bottom: 0;
  border-bottom: 1px solid #7f8283;
}

#cart .mobile-cart {
  border-top: 1px solid #7f8283;
}
#cart .mobile-cart .inventory-item .inventory-description-bottom-bottom {
  display: block;
}
#cart .mobile-cart .inventory-item .inventory-description-bottom-bottom-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#cart .mobile-cart .inventory-item .inventory-description-bottom-bottom-bottom i {
  font-size: 1.25rem;
}
#cart .mobile-cart .mobile-cart-cta {
  padding: 1.25rem 0.75rem;
}
#cart .mobile-cart .mobile-cart-total {
  text-align: center;
}

/*///// Remove Item Popup /////*/
#ware-box2.cart .item-popup-cta {
  padding-left: 0;
}

.login label {
  font-weight: 600;
}
.login input {
  max-width: 40%;
}
.login .inv-links ul {
  margin: 0;
  list-style: none;
}
.login .inv-links ul li {
  margin-bottom: 0.5rem;
  text-decoration: underline;
  font-weight: 500;
}
.login .inv-disclaimer {
  text-align: center;
}
.login .title h3 {
  text-transform: uppercase;
  font-size: 2rem;
}
.login #login_form {
  text-transform: uppercase;
}
.login .inv-msg > p {
  font-weight: 700;
  color: #ba1717;
}

.inv.thanks {
  /*  .page-content {
      padding-top:1rem;
    }*/
}
.inv.thanks h3 {
  color: #33cc33;
  font-size: 4rem;
}
.inv.thanks .buttons > a {
  background-color: #ba1717;
  color: #fefefe;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 400;
}
.inv.thanks .thanks-text {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media print, screen and (min-width: 64em) {
  .inv.thanks .thanks-text {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

@media print, screen and (max-width: 63.99875em) {
  .orders .page-content .accordion, .orders .inventory-head .accordion {
    background-color: #e4e4e4;
  }
  .orders .page-content .accordion #inventory-filter-search, .orders .inventory-head .accordion #inventory-filter-search {
    padding: 0;
  }
  .orders .page-content .accordion .accordion-item, .orders .inventory-head .accordion .accordion-item {
    border: 0;
  }
}
.orders .page-content .subheader, .orders .inventory-head .subheader {
  font-weight: 1rem;
  color: #0a0a0a;
  font-weight: 600;
  background-color: #e4e4e4;
  padding: 2rem;
  margin: 0;
}
@media print, screen and (max-width: 63.99875em) {
  .orders .page-content .subheader, .orders .inventory-head .subheader {
    padding: 1rem;
  }
}
.orders .page-content .subheader label, .orders .inventory-head .subheader label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 1rem;
  color: #0a0a0a;
  font-weight: 600;
}
@media print, screen and (max-width: 39.99875em) {
  .orders .page-content .subheader label, .orders .inventory-head .subheader label {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.orders .page-content .subheader input, .orders .inventory-head .subheader input {
  width: auto;
  margin-bottom: 0;
  margin-left: 0.5rem;
}
@media print, screen and (max-width: 39.99875em) {
  .orders .page-content .subheader input, .orders .inventory-head .subheader input {
    width: 100%;
  }
}
@media print, screen and (min-width: 40em) {
  .orders .page-content .subheader .search-filter, .orders .inventory-head .subheader .search-filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.orders .page-content .subheader .search-filter > div, .orders .inventory-head .subheader .search-filter > div {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 64em) {
  .orders .page-content .subheader .search-filter > div:first-child, .orders .inventory-head .subheader .search-filter > div:first-child {
    width: 37%;
  }
  .orders .page-content .subheader .search-filter > div:nth-child(2), .orders .inventory-head .subheader .search-filter > div:nth-child(2) {
    width: 5%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .orders .page-content .subheader .search-filter > div:nth-child(3), .orders .inventory-head .subheader .search-filter > div:nth-child(3) {
    width: 20%;
  }
}
.orders .page-content .subheader .search-filter .divider, .orders .inventory-head .subheader .search-filter .divider {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.orders .page-content .subheader .search-filter .button, .orders .inventory-head .subheader .search-filter .button {
  margin-bottom: 0;
}
@media print, screen and (max-width: 39.99875em) {
  .orders .page-content .subheader .search-filter .button, .orders .inventory-head .subheader .search-filter .button {
    width: 100%;
  }
}
.orders .page-content .subheader .dates > label, .orders .inventory-head .subheader .dates > label {
  margin-right: 0.5rem;
  font-size: 1rem;
}
.orders .page-content .subheader .dates > label:nth-child(2), .orders .inventory-head .subheader .dates > label:nth-child(2) {
  margin-right: 0;
}
.orders .page-content {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.orders .page-content > div:first-child {
  padding-top: 1rem;
}
.orders .order-query {
  padding: 1rem 2rem;
  text-transform: uppercase;
  font-style: italic;
  color: #ba1717;
  font-weight: 600;
}
@media print, screen and (max-width: 63.99875em) {
  .orders .order-query {
    padding: 1rem;
  }
}
.orders .order-table {
  padding-bottom: 1rem;
}
@media print, screen and (max-width: 63.99875em) {
  .orders .order-table {
    overflow-y: auto;
  }
}
.orders .order-table table {
  text-transform: uppercase;
}
.orders .order-table thead, .orders .order-table tbody {
  border: 0;
  border-bottom: 10px solid #0a0a0a;
  background-color: transparent;
}
.orders .order-table tr {
  background-color: transparent;
  border-bottom: 1px solid #cccccc;
}
.orders .order-table td {
  white-space: nowrap;
}
.orders .order-table .button {
  margin-bottom: 0;
}
.orders .order-table .button.tracking-order-button {
  visibility: hidden;
}
.orders .disclaimer {
  color: #ba1717;
  font-style: italic;
}
@media print, screen and (min-width: 40em) {
  .orders .disclaimer {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

#ware-box2.order-details, #inv-order-print {
  color: #0a0a0a;
}
#ware-box2.order-details .item-popup, #inv-order-print .item-popup {
  border-radius: 5px;
}
@media print, screen and (min-width: 40em) {
  #ware-box2.order-details .item-popup, #inv-order-print .item-popup {
    padding: 2rem;
    width: 900px;
  }
}
@media print, screen and (max-width: 39.99875em) {
  #ware-box2.order-details .item-popup, #inv-order-print .item-popup {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
#ware-box2.order-details .header, #inv-order-print .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1rem;
}
@media print, screen and (min-width: 40em) {
  #ware-box2.order-details .header, #inv-order-print .header {
    margin-bottom: 2rem;
  }
}
#ware-box2.order-details .header > div, #inv-order-print .header > div {
  width: 35%;
}
@media print, screen and (max-width: 63.99875em) {
  #ware-box2.order-details .header > div, #inv-order-print .header > div {
    width: 45%;
    line-height: 1.4;
  }
}
#ware-box2.order-details .header .address, #inv-order-print .header .address {
  font-size: 0.9rem;
  line-height: 1.1;
}
@media print, screen and (max-width: 39.99875em) {
  #ware-box2.order-details .header .address, #inv-order-print .header .address {
    font-size: 0.8rem;
  }
}
#ware-box2.order-details .header .address > div, #inv-order-print .header .address > div {
  padding-left: 1rem;
}
#ware-box2.order-details .header .address > div:first-child, #inv-order-print .header .address > div:first-child {
  padding-left: 0;
}
#ware-box2.order-details .header .order-info, #inv-order-print .header .order-info {
  font-weight: 600;
}
@media print, screen and (max-width: 39.99875em) {
  #ware-box2.order-details .header .order-info, #inv-order-print .header .order-info {
    font-size: 0.9rem;
  }
}
#ware-box2.order-details .product-list, #inv-order-print .product-list {
  margin-bottom: 1rem;
}
@media print, screen and (max-width: 39.99875em) {
  #ware-box2.order-details .product-list, #inv-order-print .product-list {
    line-height: 1.25;
    font-size: 0.9rem;
  }
}
#ware-box2.order-details table, #inv-order-print table {
  text-transform: uppercase;
}
#ware-box2.order-details table thead, #ware-box2.order-details table tbody, #inv-order-print table thead, #inv-order-print table tbody {
  border: 0;
  background-color: transparent;
  border-bottom: 10px solid #0a0a0a;
}
#ware-box2.order-details table td, #inv-order-print table td {
  text-align: left;
}
#ware-box2.order-details .cta, #inv-order-print .cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#ware-box2.order-details .cta > div, #inv-order-print .cta > div {
  margin-left: 1rem;
}
#ware-box2.order-details .cta .button, #inv-order-print .cta .button {
  margin-bottom: 0;
}

.user-options > div.user-options-inventory {
  display: none;
}
.user-options > div.user-options-inventory a, .user-options > div.user-options-inventory i {
  color: #ba1717;
}
.user-options > div.user-options-inventory a:hover {
  color: #0a0a0a;
}
.user-options > div.user-options-inventory a:hover i {
  color: #0a0a0a;
}

.user-options-inventory {
  display: none;
}

.print-container {
  background-color: #fefefe;
}

#inv-order-print .item-popup {
  margin: 0 auto;
  width: 100%;
}
#inv-order-print .order-info, #inv-order-print table {
  font-size: 0.9rem;
}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiVXNlcnMvZG9uYWxkaWNvbm1lZGlhL0Rlc2t0b3AvZGV2L3ZveHh3aGVlbC5jb20vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay10aGVtZS5zY3NzIiwib3ZlcnJpZGVzL3NsaWNrLnNjc3MiLCJVc2Vycy9kb25hbGRpY29ubWVkaWEvRGVza3RvcC9kZXYvdm94eHdoZWVsLmNvbS9ub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9tYWduaWZpYy1wb3B1cC9zcmMvY3NzL21haW4uc2NzcyIsIlVzZXJzL2RvbmFsZGljb25tZWRpYS9EZXNrdG9wL2Rldi92b3h4d2hlZWwuY29tL25vZGVfbW9kdWxlcy9tYWduaWZpYy1wb3B1cC9zcmMvY3NzL19zZXR0aW5ncy5zY3NzIiwiY2FydC9fb3ZlcnJpZGVzLnNjc3MiLCJfZ2VuZXJhbC5zY3NzIiwiX3V0aWxpdHkuc2NzcyIsIl9oZWFkZXIuc2NzcyIsIl9mb290ZXIuc2NzcyIsImhvbWUvX2hlcm8uc2NzcyIsImhvbWUvX2N0YS5zY3NzIiwiaG9tZS9fdmVoaWNsZS1zZWxlY3Quc2NzcyIsImhvbWUvX3BhbmVscy5zY3NzIiwiaG9tZS9fYmFubmVycy5zY3NzIiwiaG9tZS9fdmVoaWNsZS1wYWNrYWdlcy5zY3NzIiwiaG9tZS9fZmVhdHVyZWQtd2hlZWxzLnNjc3MiLCJob21lL19uZXdzbGV0dGVyLnNjc3MiLCJob21lL19nYWxsZXJ5LnNjc3MiLCJob21lL19pbnN0YWdyYW0uc2NzcyIsImhvbWUvX3BhcmFsbGF4LnNjc3MiLCJob21lL192aWRlby5zY3NzIiwiX2ZpbHRlcnMuc2NzcyIsIl92ZWhpY2xlLWJhci5zY3NzIiwiX25hdi1zZWFyY2guc2NzcyIsIndoZWVsL193aGVlbHMuc2NzcyIsIndoZWVsL193aGVlbC5zY3NzIiwid2hlZWwvX3N0YWdlLnNjc3MiLCJ3aGVlbC9fc3BlY3Muc2NzcyIsIndoZWVsL19pbmZvLnNjc3MiLCJ3aGVlbC9fY3RhLnNjc3MiLCJ3aGVlbC9fZGV0YWlscy1tZWRpYS5zY3NzIiwid2hlZWwvX3ZpZXctb24tdmVoaWNsZS5zY3NzIiwid2hlZWwvX3ZlaGljbGUtZ2FsbGVyeS5zY3NzIiwid2hlZWwvX3NwZWMtdGFicy5zY3NzIiwid2hlZWwvX2FkZGl0aW9uYWwuc2NzcyIsIndoZWVsL19zaG9wcy5zY3NzIiwiZWxpdGUtZmxvdy9fZmlsdGVycy5zY3NzIiwiZWxpdGUtZmxvdy9fbGlzdGluZy5zY3NzIiwiZWxpdGUtZmxvdy9fZGV0YWlsLnNjc3MiLCJlbGl0ZS1mbG93L19maXRtZW50LnNjc3MiLCJlbGl0ZS1mbG93L192aWV3LW9uLXZlaGljbGUuc2NzcyIsInRpcmUvX3RpcmUuc2NzcyIsInRpcmUvX2luZm8uc2NzcyIsInRpcmUvX2N0YS5zY3NzIiwidGlyZS9fc3BlY3Muc2NzcyIsImFjY2Vzc29yeS9fYWNjZXNzb3J5LnNjc3MiLCJhY2Nlc3NvcnkvX2N0YS5zY3NzIiwiYWNjZXNzb3J5L19iYXIuc2NzcyIsImdhbGxlcnkvX2ZpbHRlci5zY3NzIiwiZ2FsbGVyeS9fbGFuZGluZy5zY3NzIiwiZ2FsbGVyeS9fZGV0YWlsLnNjc3MiLCJjb250ZW50L19jb250YWN0LnNjc3MiLCJjb250ZW50L19wYWdlLnNjc3MiLCJjb250ZW50L19uZXdzLnNjc3MiLCJjb250ZW50L19kZWFsZXJzLnNjc3MiLCJjb250ZW50L19kb3dubG9hZHMuc2NzcyIsImNvbnRlbnQvX2Vycm9yLnNjc3MiLCJjb250ZW50L19nZnguc2NzcyIsInBvcHVwcy9fcGFja2FnZS5zY3NzIiwicG9wdXBzL19hY2Nlc3Nvcnkuc2NzcyIsInBvcHVwcy9fZ2FsbGVyeS1xdW90ZS5zY3NzIiwicG9wdXBzL19maXRtZW50LWNoZWNrLnNjc3MiLCJwb3B1cHMvX25ld3NsZXR0ZXIuc2NzcyIsImludmVudG9yeS9faW52ZW50b3J5LnNjc3MiLCJpbnZlbnRvcnkvX2hlYWRlci5zY3NzIiwiaW52ZW50b3J5L19maWx0ZXIuc2NzcyIsImludmVudG9yeS9fY2FydC5zY3NzIiwiaW52ZW50b3J5L19sb2dpbi5zY3NzIiwiaW52ZW50b3J5L190aGFua3Muc2NzcyIsImludmVudG9yeS9fb3JkZXJzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7O0NBQUE7QUNzRytDLGFBQUE7QUFDK0Isa0JBQUE7QUFDRCxtQkFBQTtBQUNDLG1CQUFBO0FBQ0MsZ0JBQUE7QUMxRy9FOzs7OztFQUFBO0FDbUxRO0VDdElOO0lBQ0UsV0FBQTtJQUNBLFVBQUE7SUFDQSxjQUFBO0VMMUJGO0FBQ0Y7QU1wQkUsMkVBQUE7QUFRQTtFQUNFLGlCQUFBO0VBQ0EsOEJBQUE7QU5lSjs7QU1QRTtFQUNFLFNBQUE7QU5VSjs7QU1KRTtFQUNFLGNBQUE7RUFDQSxnQkFBQTtBTk9KOztBTUVFO0VBQ0UsK0JBQUE7VUFBQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTtBTkNKOztBTUtFO0VBQ0UsaUNBQUE7RUFDQSxjQUFBO0FORko7O0FNVUU7RUFDRSw2QkFBQTtBTlBKOztBTWFFO0VBQ0UsZ0JBQUE7RUFDQSxpQ0FBQTtBTlZKOztBTWVFOztFQUVFLG1CQUFBO0FOWko7O0FNa0JFOzs7RUFHRSxpQ0FBQTtFQUNBLGNBQUE7QU5mSjs7QU1vQkU7RUFDRSxjQUFBO0FOakJKOztBTXVCRTs7RUFFRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0Esd0JBQUE7QU5wQko7O0FNdUJFO0VBQ0UsZUFBQTtBTnBCSjs7QU11QkU7RUFDRSxXQUFBO0FOcEJKOztBTTRCRTtFQUNFLGtCQUFBO0FOekJKOztBTWtDRTs7Ozs7RUFLRSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFNBQUE7QU4vQko7O0FNcUNFOztFQUVFLGlCQUFBO0FObENKOztBTXdDRTs7RUFFRSxvQkFBQTtBTnJDSjs7QU0wQ0U7Ozs7RUFJRSwwQkFBQTtBTnZDSjs7QU00Q0U7Ozs7RUFJRSxrQkFBQTtFQUNBLFVBQUE7QU56Q0o7O0FNOENFOzs7O0VBSUUsOEJBQUE7QU4zQ0o7O0FNZ0RFO0VBQ0UsOEJBQUE7QU43Q0o7O0FNcURFO0VBQ0UsOEJBQUE7VUFBQSxzQkFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtBTmxESjs7QU11REU7RUFDRSx3QkFBQTtBTnBESjs7QU15REU7RUFDRSxjQUFBO0FOdERKOztBTTRERTs7RUFFRSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsVUFBQTtBTnpESjs7QU04REU7O0VBRUUsWUFBQTtBTjNESjs7QU1pRUU7RUFDRSw2QkFBQTtFQUNBLG9CQUFBO0FOOURKOztBTW1FRTtFQUNFLHdCQUFBO0FOaEVKOztBTXNFRTtFQUNFLDBCQUFBO0VBQ0EsYUFBQTtBTm5FSjs7QU0yRUU7RUFDRSxjQUFBO0FOeEVKOztBTTZFRTtFQUNFLGtCQUFBO0FOMUVKOztBTWtGRTtFQUNFLGFBQUE7QU4vRUo7O0FNb0ZFO0VBQ0UsYUFBQTtBTmpGSjs7QU15Rkk7Ozs7Ozs7RUFDRSxhQUFBO0FOaEZOOztBTXFGRTtFQUNFLDJCQUFBO0VBQ0EseUJBQUE7QU5sRko7O0FPdEVFO0VBQ0Usd0VBQUE7QVB5RUo7O0FPdEVFO0VBQ0UsOEJBQUE7VUFBQSxzQkFBQTtFQUNBLGVMcEdlO0FGNktuQjs7QU9yRUU7OztFQUdFLDJCQUFBO1VBQUEsbUJBQUE7QVB3RUo7O0FPcEVFO0VBQ0UsU0FBQTtFQUNBLFVBQUE7RUFVQSxtQkwzR0k7RUs2R0oscUVMekdlO0VLMEdmLG1CTHRHbUI7RUt1R25CLGdCTDdIZ0I7RUs4SGhCLGNMakhJO0VLb0hGLG1DQUFBO0VBQ0Esa0NBQUE7QVAyRE47O0FPdkRFO0VBRUUscUJBQUE7RUFDQSxzQkFBQTtFQUdBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsK0JBQUE7QVB1REo7O0FPbkRFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JMN0hZO0FGbUxoQjs7QU9sREU7RUFDRSw4QkFBQTtVQUFBLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCTHBJWTtBRnlMaEI7O0FPOUNJOzs7Ozs7RUFHRSwwQkFBQTtBUG9ETjs7QVEvREU7RUFDRSxVQUFBO0FSa0VKO0FPbkRFO0VBRUUsVUFBQTtFQUNBLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxnQkx4Slk7RUt5SlosdUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUEvR21CO0FQbUt2Qjs7QU9oREU7RUFDRSxjQUFBO0VBQ0EsaUNBQUE7QVBtREo7O0FPL0NFOzs7OztFQUtFLG9CQUFBO0FQa0RKOztBTzlDRTtFQUNFLHlCQUFBO0FQaURKOztBTzlDRTtFQUNFLHdCQUFBO0FQaURKOztBU25MRTs7RUFFRSx3QkFBQTtLQUFBLHFCQUFBO1VBQUEsZ0JBQUE7RUF2Q0YsY0FBQTtFQUNBLDhCQUFBO1VBQUEsc0JBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBTFM7RUFNVCxnQkFBQTtFQUNBLGVBdENjO0VBd0NkLHNCUHNSYTtFT3JSYixnQlBwQmM7RU9xQmQseUJQL0JNO0VPZ0NOLHlEUHFSYTtVT3JSYixpRFBxUmE7RU9uUmIsb0JQNFFrQjtFTzNRbEIsZVA0UWdCO0VPM1FoQixtQlA1QnFCO0VPNkJyQixnQlBuRGtCO0VPb0RsQixjUHZDTTtFTzBDSiwyRVArUWU7RU8vUWYsbUVQK1FlO0VPL1FmLDJEUCtRZTtFTy9RZixvRlArUWU7QUZyRG5CO0FTdE5FOztFQUNFLGFBQUE7RUFDQSx5QlBxUWlCO0VPcFFqQix5QlBoREk7RU9pREosZ0NQcVFpQjtVT3JRakIsd0JQcVFpQjtFT2xRZiwyRVBvUWE7RU9wUWIsbUVQb1FhO0VPcFFiLDJEUG9RYTtFT3BRYixvRlBvUWE7QUY3Q25COztBU3pNRTtFQUNFLGVBQUE7QVQ0TUo7QVMxTUk7RUFDRSxZQUFBO0FUNE1OOztBU3JNSTs7O0VBRUUseUJQcEZPO0VPcUZQLGVQdU9rQjtBRjlCeEI7O0FTcE1FOztFQUVFLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLGdCUDlFWTtBRnFSaEI7O0FTbk1FO0VBQ0UsOEJBQUE7VUFBQSxzQkFBQTtBVHNNSjs7QVNyTEU7RUFDRSxXUG5IVTtBRjJTZDs7QVN6TEU7RUFDRSxXUG5IVTtBRjJTZDs7QVN6TEU7RUFDRSxXUG5IVTtBRjJTZDs7QVN6TEU7RUFDRSxXUG5IVTtBRjJTZDs7QVN6TEU7RUFDRSxXUG5IVTtBRjJTZDs7QVUvVkU7OztFQUdFLGdCQUFBO0FWa1dKOztBVTlWRTs7RUFFRSxxQkFBQTtFQUNBLHdCQUFBO0VBRUEsbUJBQUE7RUFDQSxrQlJ3VVc7RVF2VVgsZ0JBQUE7QVZnV0o7QVU5Vkk7O0VBQ0UsZUFBQTtBVmlXTjs7QVU1VkU7O0VBRUUsb0JBQUE7QVYrVko7O0FVM1ZFO0VBQ0UsV0FBQTtBVjhWSjs7QVd6VkU7RUFsQkEsY0FBQTtFQUNBLFNBQUE7RUFFQSxtQlQyVXFCO0VTMVVyQixtQlQ0Q3FCO0VTM0NyQixnQlQyVXVCO0VTMVV2QixjVGlDTTtBRjZVUjtBVy9WSTtFQVRGLGdCQUFBO0VBQ0EsZ0JUYWtCO0VTWmxCLG9CQUFBO0FYMldGOztBWTdYRTtFQUdFLG1CQUZhO0VBR2Isb0JWdVVpQjtFVXRVakIsa0JWdVVrQjtFVXRVbEIsY1ZxQ0k7QUZ5VlI7O0FhL1hFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQlhpVVc7QUZpRWY7QWEzWE07RUFDRSxzQkFBQTtBYjZYUjtBYXhYTTtFQUNFLHNCQUFBO0FiMFhSOztBYXJYRTs7OztFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUdFLG1CQUFBO0VBQ0Esc0JBQUE7QWJ5WE47O0FhclhFO0VBRUUsZUFBQTtFQUNBLHNCWHVTa0I7RVd0U2xCLG1CWEZTO0VXSVQsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFRRSxTQUFBO0VBQ0EsWUFBQTtBYitXTjtBYTNXTTtFQUNFLGVBQUE7QWI2V1I7QWExV007RUFDRSxjQUFBO0FiNFdSOztBYXZXRTtFQUVFLGdCQUFBO0FieVdKOztBYWpXRTtFQUVFLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBT0UsU0FBQTtFQUNBLFlBQUE7QWI2Vk47QWExVkk7Ozs7RUFXSSxpQkFyR0c7RUF1R0wsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZVgrT1k7QUZxR2xCOztBYTdVTTtFQUNFLG1CQUFBO0FiZ1ZSOztBY25iRTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtBZHNiSjs7QWNuYkU7RUFDRSxlQUFBO0VBQ0EscUJBQUE7QWRzYko7O0FjbmJFO0VBeEJBLGtCWm1VZ0I7RVlsVWhCLGdCWmlVaUI7RVloVWpCLHNCWitUZ0I7QUZnSmxCO0FjN2NFO0VBRUUsU0FBQTtFQUNBLHVCQUFBO0VBQ0Esb0JaNFRhO0FGa0pqQjs7QWV4WkU7RUFoRUEsaUJBRlM7RUFHVCxnQkFBQTtFQUNBLGVONkJjO0VNM0JkLHdCQUFBO0tBQUEscUJBQUE7VUFBQSxnQkFBQTtFQUNBLHNCYndWYTtFYXZWYixnQmI4Q2M7RWE3Q2QseUJibUNNO0VhakNOLG9CYitVa0I7RWE5VWxCLGViK1VnQjtFYTlVaEIsbUJidUNxQjtFYXRDckIsZ0JiZ0JrQjtFYWZsQixjYjRCTTtFYXpCSiwyRWJrVmU7RWFsVmYsbUVia1ZlO0VhbFZmLDJEYmtWZTtFYWxWZixvRmJrVmU7RWE5VWYsOEJBQUE7RUFDQSx1Q0FBQTtFQUNBLDRCQUFBO0VBQ0Esd0JBQUE7RUFFQSxxQkFBQTtFUDJHRixxT0FBQTtBUjBXRjtBUXhXRTtFT3RFQTtJUHlFSSx1V0FBQTtFUnlXSjtBQUNGO0FlcGRFO0VBQ0UsYUFBQTtFQUNBLHlCYjZUaUI7RWE1VGpCLHlCYlFJO0VhUEosZ0NiNlRpQjtVYTdUakIsd0JiNlRpQjtFYTFUZiwyRWI0VGE7RWE1VGIsbUViNFRhO0VhNVRiLDJEYjRUYTtFYTVUYixvRmI0VGE7QUZ3Sm5CO0FlL2NFO0VBQ0UseUJiUFM7RWFRVCxlYm9Ub0I7QUY2SnhCO0FlN2NFO0VBQ0UsYUFBQTtBZitjSjtBZTVjRTtFQUNFLFlBQUE7RUFDQSxzQkFBQTtBZjhjSjtBZTVjRTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtBZjhjSjs7QWdCcGZFO0VBQ0UscUJkbUx1QjtFY2xMdkIsd0NBQUE7QWhCdWZKO0FnQnJmSTtFQUNFLGNkK0txQjtBRndVM0I7QWdCeGZJO0VBQ0UsY2QrS3FCO0FGd1UzQjtBZ0J4Zkk7RUFDRSxjZCtLcUI7QUZ3VTNCO0FnQnhmSTtFQUNFLGNkK0txQjtBRndVM0I7QWdCeGZJO0VBQ0UsY2QrS3FCO0FGd1UzQjs7QWdCN2RJO0VBQ0UsY2RxSnFCO0FGMlUzQjs7QWdCM2RFO0VBekJBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CZG9TYTtFY2xTYixrQmR1S3NCO0VjdEt0QixpQmRhbUI7RWNabkIsY2RvS2tCO0FGbVZwQjtBZ0JqZUk7RUFDRSxjQUFBO0FoQm1lTjs7QWlCclZFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQUE7RUFDQSxVQUFBO0FqQndWSjs7QWlCcFZFO0VBQ0UsbUJmN0VzQjtFZStFdEIsa0JBQUE7RUFDQSxnQmZqRm1CO0Vla0ZuQixrQ2ZoRnVCO0FGc2EzQjs7QWlCbFZFOztFQUVFLGtCQUFBO0VBQ0Esb0JBQUE7QWpCcVZKOztBaUJqVkU7O0VBRUUsaUJmbk1pQjtFZW9NakIsb0JBQUE7QWpCb1ZKOztBaUJoVkU7RUFDRSxjZnZHYztFZXdHZCxvQkFBQTtBakJtVko7O0FpQi9VRTs7Ozs7O0VBTUUscUVmek5lO0VlME5mLGtCZjNJZ0I7RWU0SWhCLGlCZnROaUI7RWV1TmpCLGNmekhXO0VlMEhYLGtDZnZIb0I7QUZ5Y3hCO0FpQmhWSTs7Ozs7O0VBQ0UsY0FBQTtFQUNBLGNmekhvQjtBRmdkMUI7O0FpQjlVUTtFQUlJLGlCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBakJzVFo7O0FpQnJWUTtFQUlJLGtCQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBakI2VFo7O0FpQjVWUTtFQUlJLG9CQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBakJvVVo7O0FpQm5XUTtFQUlJLG1CQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBakIyVVo7O0FpQjFXUTtFQUlJLG9CQURpQjtFQWFqQixnQkFBQTtFQVFBLGFBQUE7RUFPQSxxQkFBQTtBakJrVlo7O0FpQmpYUTtFQUlJLGVBRGlCO0VBYWpCLGdCQUFBO0VBUUEsYUFBQTtFQU9BLHFCQUFBO0FqQnlWWjs7QUlwZlE7RWE0SEE7SUFJSSxtQkFEaUI7RWpCMFgzQjtFaUI3WE07SUFJSSxrQkFEaUI7RWpCNlgzQjtFaUJoWU07SUFJSSxpQkFEaUI7RWpCZ1kzQjtFaUJuWU07SUFJSSxlQURpQjtFakJtWTNCO0VpQnRZTTtJQUlJLGtCQURpQjtFakJzWTNCO0VpQnpZTTtJQUlJLGVBRGlCO0VqQnlZM0I7QUFDRjtBaUJ0V0U7RUFDRSxvQkFBQTtFQUNBLGNDMU5nQjtFRDJOaEIscUJmaEtxQjtFZWtLckIsZUFBQTtBakJ1V0o7QWlCcldJO0VBRUUsd0JmdktlO0FGNmdCckI7QWlCaFdJO0VBQ0UsU0FBQTtBakJrV047O0FpQjdWRTtFQUNFLFdBQUE7RUFFQSxnQmY1VFc7RWU2VFgsU0FBQTtFQUNBLG9CZm5MUTtFZXFMUixhQUFBO0VBQ0EsZUFBQTtFQUNBLDZCZnhMUTtFZXlMUixjQUFBO0FqQjhWSjs7QWlCMVZFOzs7RUFHRSxtQmY3TXNCO0VlOE10Qiw0QmY1TGtCO0VlNkxsQixnQmZoTm1CO0FGNmlCdkI7O0FpQnpWRTtFQUNFLGtCQUFBO0FqQjRWSjs7QWlCeFZFO0VBQ0Usb0JmdE1lO0VldU1mLHFCZnpNYztBRm9pQmxCOztBaUJ2VkU7RUFDRSxvQmY1TWU7QUZzaUJuQjs7QWlCclZJO0VBQ0Usb0Jmak5vQjtFZWtOcEIsZ0JBQUE7QWpCd1ZOOztBaUJuVkU7RUFDRSxtQmZ2TnFCO0FGNmlCekI7QWlCcFZJO0VBQ0UscUJmeE53QjtFZXlOeEIsaUJmclZlO0FGMnFCckI7O0FpQmpWRTtFQUNFLGdCQUFBO0VBQ0Esc0NmOU5pQjtFZStOakIsMkJmOU5nQjtBRmtqQnBCO0FpQmxWSTtFQUNFLGdCZjVQaUI7RWU2UGpCLGNmNVdNO0FGZ3NCWjs7QWlCdFVFO0VBQ0UsaUNmek9hO0VlME9iLFlBQUE7RUFDQSxxQkFBQTtBakJ5VUo7O0FpQnJVRTtFQUNFLFNBQUE7QWpCd1VKOztBaUI3VEU7RUFDRSxTQUFBO0VBQ0EsMkJmL1BnQjtFZWlRaEIseUJmcFpTO0Vlc1pULDREZjdUb0I7RWU4VHBCLGNmblpJO0FGaXRCUjs7QW1CNW9CRTtFQUNFLGtCakJtRm1CO0VpQmxGbkIscUJqQm1Gc0I7RWlCakZ0QixtQmpCaEVtQjtFaUJpRW5CLGdCakI0RW1CO0VpQjNFbkIsY2pCNUVRO0FGMHRCWjs7QW1CMW9CRTtFQUNFLGVqQm9FYTtFaUJuRWIsZ0JqQm9FYztBRnlrQmxCOztBbUJ6b0JFO0VBQ0UsaUJqQnFFYTtFaUJwRWIsY0FBQTtBbkI0b0JKO0FtQjFvQkk7RUFDRSxpQkFBQTtBbkI0b0JOOztBbUJ0b0JJO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FuQnlvQk47O0FtQnJvQkU7RUFqRkEsY0FBQTtFQUNBLGNqQnZCVTtFaUJ3QlYsb0JqQm1IZTtBRnVtQmpCO0FtQnh0QkU7RUFDRSxhQXhDa0I7QW5Ca3dCdEI7O0FtQnRvQkU7RUE3RUEsc0JqQm9GWTtFaUJuRloseUJqQnRDVztFaUJ3Q1gsNERqQmlEc0I7RWlCaER0QixtQmpCNUJxQjtFaUI2QnJCLGNqQnRDTTtFaUI0Q04sZUFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUVBLHFDakJzRWE7QUYwb0JmOztBbUJ6b0JFO0VBdEZBLHNCakJvRlk7RWlCbkZaLHlCakJ0Q1c7RWlCd0NYLDREakJpRHNCO0VpQmhEdEIsbUJqQjVCcUI7RWlCNkJyQixjakJ0Q007RWlCc0ROLGNBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSxhQTVDbUI7RUE2Q25CLHFCQXpDeUI7QW5CMnZCM0I7O0FvQi96QlU7RUFDRSxnQkFSVTtBcEIwMEJ0Qjs7QW9CbjBCVTtFQUNFLGlCQVJVO0FwQjgwQnRCOztBb0J2MEJVO0VBQ0Usa0JBUlU7QXBCazFCdEI7O0FvQjMwQlU7RUFDRSxtQkFSVTtBcEJzMUJ0Qjs7QUkxcUJRO0VnQjFLRTtJQUNFLGdCQUhVO0VwQjIxQnBCO0VvQnoxQlE7SUFDRSxpQkFIVTtFcEI4MUJwQjtFb0I1MUJRO0lBQ0Usa0JBSFU7RXBCaTJCcEI7RW9CLzFCUTtJQUNFLG1CQUhVO0VwQm8yQnBCO0FBQ0Y7QUl6ckJRO0VnQjFLRTtJQUNFLGdCQUhVO0VwQnkyQnBCO0VvQnYyQlE7SUFDRSxpQkFIVTtFcEI0MkJwQjtFb0IxMkJRO0lBQ0Usa0JBSFU7RXBCKzJCcEI7RW9CNzJCUTtJQUNFLG1CQUhVO0VwQmszQnBCO0FBQ0Y7QXFCejJCRTtFQUFrQix3QkFBQTtBckI0MkJwQjs7QXFCMTJCRTtFQUNFO0lBSUksa0NBQUE7SUFDQSx1QkFBQTtJQUNBLG1DQUFBO1lBQUEsMkJBQUE7SUFPRixtQ0FBQTtZQUFBLDJCQUFBO0lBQ0EsNEJBQUE7RXJCbzJCSjtFcUJqMkJFO0lBQWtCLHlCQUFBO0VyQm8yQnBCO0VxQm4yQkU7SUFBa0Isd0JBQUE7RXJCczJCcEI7RXFCcDJCRTtJQUF1Qix5QkFBQTtFckJ1MkJ6QjtFcUJ0MkJFO0lBQXVCLHNDQUFBO0VyQnkyQnpCO0VxQngyQkU7SUFBdUIsbUNBQUE7RXJCMjJCekI7RXFCMTJCRTtJQUFvQiw2QkFBQTtFckI2MkJ0QjtFcUI1MkJFO0lBQW9CLDhCQUFBO0VyQisyQnRCO0VxQjkyQkU7SUFBb0IsOEJBQUE7RXJCaTNCdEI7RXFCOTJCRTs7SUFDWSwwQkFBQTtFckJpM0JkO0VxQi8yQkk7SUFBZ0IsNEJBQUE7RXJCazNCcEI7RXFCOTJCRTs7O0lBRXFCLFdBQUE7RXJCaTNCdkI7RXFCOTJCRTtJQUFvQiw2QkFBQTtFckJpM0J0QjtFcUI5MkJFOztJQUVFLHlCQUFBO0lBQ0Esd0JBQUE7RXJCZzNCSjtFcUI1MkJFO0lBQVEsMkJBQUE7RXJCKzJCVjtFcUI3MkJFOztJQUNNLHdCQUFBO0VyQmczQlI7RXFCOTJCRTtJQUFNLDBCQUFBO0VyQmkzQlI7RXFCLzJCRTtJQUFRLGFBQUE7RXJCazNCVjtFcUJoM0JFOzs7SUFHRSxVQUFBO0lBQ0EsU0FBQTtFckJrM0JKO0VxQjkyQkU7O0lBQ0ssdUJBQUE7RXJCaTNCUDtFcUI5MkJFO0lBQ0UsdUJBQUE7RXJCZzNCSjtBQUNGO0FzQmw3QkU7RUNzRUEsZ0JyQi9DYTtFcUJZWCxrQkFBQTtFQUNBLGlCQUFBO0F2Qm01Qko7QVFweUJFO0VBRUUsY0FBQTtFQUNBLFlBQUE7QVJxeUJKO0FRN3hCRTtFQUNFLFdBQUE7QVIreEJKO0FzQno3Qk07RUVWRixnQkFGVTtFQUdWLGVBSFU7QXhCeThCZDtBc0J2N0JJO0VDOENBLHVCQUZTO0VBR1Qsc0JBSFM7QXZCKzRCYjtBSTl5QlE7RWtCN0lKO0lDOENBLHdCQUZTO0lBR1QsdUJBSFM7RXZCbzVCWDtBQUNGO0FJcHpCUTtFa0I3SUo7SUM4Q0Esd0JBRlM7SUFHVCx1QkFIUztFdkIwNUJYO0FBQ0Y7QXNCcDhCTTtFQUNFLGVBQUE7RUFDQSxjQUFBO0F0QnM4QlI7QXNCajhCSTtFQ2lERixlQUhTO0F2QnM1Qlg7QXNCajhCTTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7QXRCbThCUjtBc0IvN0JJO0VDd0NGLGVBSFM7QXZCNjVCWDtBc0J6N0JVO0VFNUNOLHVCQUZVO0VBR1Ysc0JBSFU7QXhCMitCZDtBc0I3N0JVO0VFNUNOLHdCQUZVO0VBR1YsdUJBSFU7QXhCKytCZDs7QXNCeDdCRTtFRzlDQSxXbEJpR1k7RW1CaEhaLFdBQUE7RUZRRSx1QkFGVTtFQUdWLHNCQUhVO0F4QnMvQmQ7QUl2MUJRO0VrQnhHTjtJRXJERSx3QkFGVTtJQUdWLHVCQUhVO0V4QjIvQlo7QUFDRjtBMkI3L0JJO0VBQ0UsV3BCMEdRO0VvQnpHUixXQUFBO0EzQisvQk47QTJCMS9CTTtFQUNFLFlwQm9HTztBUHc1QmY7QTJCLzhCRTtFQUNFLFdwQnFEVTtBUDQ1QmQ7O0FzQm44QkU7RUFDRSxXQUFBO0F0QnM4Qko7O0FzQmw4QkU7RUFDRSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtBdEJxOEJKOztBc0IvN0JNO0VJeEZKLG9CQUFBO0ExQjJoQ0Y7O0FzQjU3QlU7RUt6RU4sa0JBQUE7RUFDQSxtQkFIUztBM0I0Z0NiOztBc0IzN0JVO0VLL0VOLGtCQUFBO0VBQ0Esb0JBSFM7QTNCaWhDYjs7QXNCdDdCUTtFSzNETixlQUFBO0EzQnEvQkY7O0FzQmo5Qk07RUl4RkoscUJBQUE7QTFCNmlDRjs7QXNCOThCVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQjhoQ2I7O0FzQjc4QlU7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0JtaUNiOztBc0J4OEJRO0VLM0ROLDBCQUFBO0EzQnVnQ0Y7O0FzQm4rQk07RUl4RkosVUFBQTtBMUIrakNGOztBc0JoK0JVO0VLekVOLGtCQUFBO0VBQ0EsU0FIUztBM0JnakNiOztBc0IvOUJVO0VLL0VOLGtCQUFBO0VBQ0EsVUFIUztBM0JxakNiOztBc0IxOUJRO0VLM0ROLDJCQUFBO0EzQnloQ0Y7O0FzQnIvQk07RUl4RkoscUJBQUE7QTFCaWxDRjs7QXNCbC9CVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQmtrQ2I7O0FzQmovQlU7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0J1a0NiOztBc0I1K0JRO0VLM0ROLGdCQUFBO0EzQjJpQ0Y7O0FzQnZnQ007RUl4RkoscUJBQUE7QTFCbW1DRjs7QXNCcGdDVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQm9sQ2I7O0FzQm5nQ1U7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0J5bENiOztBc0I5L0JRO0VLM0ROLDJCQUFBO0EzQjZqQ0Y7O0FzQnpoQ007RUl4RkosVUFBQTtBMUJxbkNGOztBc0J0aENVO0VLekVOLGtCQUFBO0VBQ0EsU0FIUztBM0JzbUNiOztBc0JyaENVO0VLL0VOLGtCQUFBO0VBQ0EsVUFIUztBM0IybUNiOztBc0JoaENRO0VLM0ROLDJCQUFBO0EzQitrQ0Y7O0FzQjNpQ007RUl4RkoscUJBQUE7QTFCdW9DRjs7QXNCeGlDVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQnduQ2I7O0FzQnZpQ1U7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0I2bkNiOztBc0JsaUNRO0VLM0ROLGdCQUFBO0EzQmltQ0Y7O0FzQjdqQ007RUl4RkoscUJBQUE7QTFCeXBDRjs7QXNCMWpDVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQjBvQ2I7O0FzQnpqQ1U7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0Irb0NiOztBc0JwakNRO0VLM0ROLDJCQUFBO0EzQm1uQ0Y7O0FzQi9rQ007RUl4RkosVUFBQTtBMUIycUNGOztBc0I1a0NVO0VLekVOLGtCQUFBO0VBQ0EsU0FIUztBM0I0cENiOztBc0Iza0NVO0VLL0VOLGtCQUFBO0VBQ0EsVUFIUztBM0JpcUNiOztBc0J0a0NRO0VLM0ROLDJCQUFBO0EzQnFvQ0Y7O0FzQmptQ007RUl4RkoscUJBQUE7QTFCNnJDRjs7QXNCOWxDVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQjhxQ2I7O0FzQjdsQ1U7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0JtckNiOztBc0J4bENRO0VLM0ROLGdCQUFBO0EzQnVwQ0Y7O0FzQm5uQ007RUl4RkoscUJBQUE7QTFCK3NDRjs7QXNCaG5DVTtFS3pFTixrQkFBQTtFQUNBLG9CQUhTO0EzQmdzQ2I7O0FzQi9tQ1U7RUsvRU4sa0JBQUE7RUFDQSxxQkFIUztBM0Jxc0NiOztBc0IxbUNRO0VLM0ROLDJCQUFBO0EzQnlxQ0Y7O0FzQnJvQ007RUl4RkosV0FBQTtBMUJpdUNGOztBc0JsbkNRO0VLM0ROLDJCQUFBO0EzQmlyQ0Y7O0E0Qjl0Q0U7RUFDRSxXckJ3R1U7RXFCdkdWLFdBQUE7QTVCaXVDSjtBNEIzc0NJO0VBQ0UsV0FBQTtBNUI2c0NOO0E0QjFzQ0k7RUFDRSxXQUFBO0E1QjRzQ047QTRCenNDSTtFQUNFLFdyQndFUTtBUG1vQ2Q7O0E0QjV1Q0U7RUFDRSxXckJ3R1U7RXFCdkdWLFVBQUE7QTVCK3VDSjtBNEJ6dENJO0VBQ0UsV0FBQTtBNUIydENOO0E0Qnh0Q0k7RUFDRSxXQUFBO0E1QjB0Q047QTRCdnRDSTtFQUNFLFdyQndFUTtBUGlwQ2Q7O0E0QjF2Q0U7RUFDRSxXckJ3R1U7RXFCdkdWLHFCQUFBO0E1QjZ2Q0o7QTRCdnVDSTtFQUNFLFdBQUE7QTVCeXVDTjtBNEJ0dUNJO0VBQ0UsV0FBQTtBNUJ3dUNOO0E0QnJ1Q0k7RUFDRSxXckJ3RVE7QVArcENkOztBNEJ4d0NFO0VBQ0UsV3JCd0dVO0VxQnZHVixVQUFBO0E1QjJ3Q0o7QTRCcnZDSTtFQUNFLFdBQUE7QTVCdXZDTjtBNEJwdkNJO0VBQ0UsV0FBQTtBNUJzdkNOO0E0Qm52Q0k7RUFDRSxXckJ3RVE7QVA2cUNkOztBNEJ0eENFO0VBQ0UsV3JCd0dVO0VxQnZHVixVQUFBO0E1Qnl4Q0o7QTRCbndDSTtFQUNFLFdBQUE7QTVCcXdDTjtBNEJsd0NJO0VBQ0UsV0FBQTtBNUJvd0NOO0E0Qmp3Q0k7RUFDRSxXckJ3RVE7QVAyckNkOztBNEJweUNFO0VBQ0UsV3JCd0dVO0VxQnZHVixxQkFBQTtBNUJ1eUNKO0E0Qmp4Q0k7RUFDRSxXQUFBO0E1Qm14Q047QTRCaHhDSTtFQUNFLFdBQUE7QTVCa3hDTjtBNEIvd0NJO0VBQ0UsV3JCd0VRO0FQeXNDZDs7QTRCbHpDRTtFQUNFLFdyQndHVTtFcUJ2R1YscUJBQUE7QTVCcXpDSjtBNEIveENJO0VBQ0UsV0FBQTtBNUJpeUNOO0E0Qjl4Q0k7RUFDRSxXQUFBO0E1Qmd5Q047QTRCN3hDSTtFQUNFLFdyQndFUTtBUHV0Q2Q7O0E0QmgwQ0U7RUFDRSxXckJ3R1U7RXFCdkdWLFlBQUE7QTVCbTBDSjtBNEI3eUNJO0VBQ0UsV0FBQTtBNUIreUNOO0E0QjV5Q0k7RUFDRSxXQUFBO0E1Qjh5Q047QTRCM3lDSTtFQUNFLFdyQndFUTtBUHF1Q2Q7O0FzQnZ0Q007RUV0SEYsZ0JBRlU7RUFHVixlQUhVO0F4Qm8xQ2Q7QXNCMXRDTTtFQUNFLGVBQUE7RUFDQSxjQUFBO0F0QjR0Q1I7O0FzQnh0Q0k7RUFDRSxlQUFBO0VBQ0EsY0FBQTtBdEIydENOOztBc0J2dENNO0VFcElGLHVCQUZVO0VBR1Ysc0JBSFU7QXhCazJDZDs7QXNCdnRDTTtFS3JIRixpQkFBQTtFQUNBLGtCQUFBO0EzQmcxQ0o7QTJCLzBDSTtFQUNFLFdBQUE7RUFDQSxXQUFBO0EzQmkxQ047O0FzQnB0Q007RUtsSEosZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtBM0IwMENGO0EyQmwzQ0k7RUFDRSxXcEIwR1E7RW9CekdSLFdBQUE7QTNCbzNDTjtBMkIvMkNNO0VBQ0UsWXBCb0dPO0FQNndDZjs7QUl6dENRO0VrQjdFRjtJSXhGSixvQkFBQTtFMUJtNENBO0VzQnB5Q1E7SUt6RU4sa0JBQUE7SUFDQSxtQkFIUztFM0JtM0NYO0VzQmx5Q1E7SUsvRU4sa0JBQUE7SUFDQSxvQkFIUztFM0J1M0NYO0VzQjV4Q007SUszRE4sZUFBQTtFM0IwMUNBO0VzQnR6Q0k7SUl4RkoscUJBQUE7RTFCaTVDQTtFc0JsekNRO0lLekVOLGtCQUFBO0lBQ0Esb0JBSFM7RTNCaTRDWDtFc0JoekNRO0lLL0VOLGtCQUFBO0lBQ0EscUJBSFM7RTNCcTRDWDtFc0IxeUNNO0lLM0ROLDBCQUFBO0UzQncyQ0E7RXNCcDBDSTtJSXhGSixVQUFBO0UxQis1Q0E7RXNCaDBDUTtJS3pFTixrQkFBQTtJQUNBLFNBSFM7RTNCKzRDWDtFc0I5ekNRO0lLL0VOLGtCQUFBO0lBQ0EsVUFIUztFM0JtNUNYO0VzQnh6Q007SUszRE4sMkJBQUE7RTNCczNDQTtFc0JsMUNJO0lJeEZKLHFCQUFBO0UxQjY2Q0E7RXNCOTBDUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQjY1Q1g7RXNCNTBDUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQmk2Q1g7RXNCdDBDTTtJSzNETixnQkFBQTtFM0JvNENBO0VzQmgyQ0k7SUl4RkoscUJBQUE7RTFCMjdDQTtFc0I1MUNRO0lLekVOLGtCQUFBO0lBQ0Esb0JBSFM7RTNCMjZDWDtFc0IxMUNRO0lLL0VOLGtCQUFBO0lBQ0EscUJBSFM7RTNCKzZDWDtFc0JwMUNNO0lLM0ROLDJCQUFBO0UzQms1Q0E7RXNCOTJDSTtJSXhGSixVQUFBO0UxQnk4Q0E7RXNCMTJDUTtJS3pFTixrQkFBQTtJQUNBLFNBSFM7RTNCeTdDWDtFc0J4MkNRO0lLL0VOLGtCQUFBO0lBQ0EsVUFIUztFM0I2N0NYO0VzQmwyQ007SUszRE4sMkJBQUE7RTNCZzZDQTtFc0I1M0NJO0lJeEZKLHFCQUFBO0UxQnU5Q0E7RXNCeDNDUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQnU4Q1g7RXNCdDNDUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQjI4Q1g7RXNCaDNDTTtJSzNETixnQkFBQTtFM0I4NkNBO0VzQjE0Q0k7SUl4RkoscUJBQUE7RTFCcStDQTtFc0J0NENRO0lLekVOLGtCQUFBO0lBQ0Esb0JBSFM7RTNCcTlDWDtFc0JwNENRO0lLL0VOLGtCQUFBO0lBQ0EscUJBSFM7RTNCeTlDWDtFc0I5M0NNO0lLM0ROLDJCQUFBO0UzQjQ3Q0E7RXNCeDVDSTtJSXhGSixVQUFBO0UxQm0vQ0E7RXNCcDVDUTtJS3pFTixrQkFBQTtJQUNBLFNBSFM7RTNCbStDWDtFc0JsNUNRO0lLL0VOLGtCQUFBO0lBQ0EsVUFIUztFM0J1K0NYO0VzQjU0Q007SUszRE4sMkJBQUE7RTNCMDhDQTtFc0J0NkNJO0lJeEZKLHFCQUFBO0UxQmlnREE7RXNCbDZDUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQmkvQ1g7RXNCaDZDUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQnEvQ1g7RXNCMTVDTTtJSzNETixnQkFBQTtFM0J3OUNBO0VzQnA3Q0k7SUl4RkoscUJBQUE7RTFCK2dEQTtFc0JoN0NRO0lLekVOLGtCQUFBO0lBQ0Esb0JBSFM7RTNCKy9DWDtFc0I5NkNRO0lLL0VOLGtCQUFBO0lBQ0EscUJBSFM7RTNCbWdEWDtFc0J4NkNNO0lLM0ROLDJCQUFBO0UzQnMrQ0E7RXNCbDhDSTtJSXhGSixXQUFBO0UxQjZoREE7RXNCOTZDTTtJSzNETiwyQkFBQTtFM0I0K0NBO0U0QnpoREE7SUFDRSxXckJ3R1U7SXFCdkdWLFdBQUE7RTVCMmhERjtFNEJyZ0RFO0lBQ0UsV0FBQTtFNUJ1Z0RKO0U0QnBnREU7SUFDRSxXQUFBO0U1QnNnREo7RTRCbmdERTtJQUNFLFdyQndFUTtFUDY3Q1o7RTRCdGlEQTtJQUNFLFdyQndHVTtJcUJ2R1YsVUFBQTtFNUJ3aURGO0U0QmxoREU7SUFDRSxXQUFBO0U1Qm9oREo7RTRCamhERTtJQUNFLFdBQUE7RTVCbWhESjtFNEJoaERFO0lBQ0UsV3JCd0VRO0VQMDhDWjtFNEJuakRBO0lBQ0UsV3JCd0dVO0lxQnZHVixxQkFBQTtFNUJxakRGO0U0Qi9oREU7SUFDRSxXQUFBO0U1QmlpREo7RTRCOWhERTtJQUNFLFdBQUE7RTVCZ2lESjtFNEI3aERFO0lBQ0UsV3JCd0VRO0VQdTlDWjtFNEJoa0RBO0lBQ0UsV3JCd0dVO0lxQnZHVixVQUFBO0U1QmtrREY7RTRCNWlERTtJQUNFLFdBQUE7RTVCOGlESjtFNEIzaURFO0lBQ0UsV0FBQTtFNUI2aURKO0U0QjFpREU7SUFDRSxXckJ3RVE7RVBvK0NaO0U0QjdrREE7SUFDRSxXckJ3R1U7SXFCdkdWLFVBQUE7RTVCK2tERjtFNEJ6akRFO0lBQ0UsV0FBQTtFNUIyakRKO0U0QnhqREU7SUFDRSxXQUFBO0U1QjBqREo7RTRCdmpERTtJQUNFLFdyQndFUTtFUGkvQ1o7RTRCMWxEQTtJQUNFLFdyQndHVTtJcUJ2R1YscUJBQUE7RTVCNGxERjtFNEJ0a0RFO0lBQ0UsV0FBQTtFNUJ3a0RKO0U0QnJrREU7SUFDRSxXQUFBO0U1QnVrREo7RTRCcGtERTtJQUNFLFdyQndFUTtFUDgvQ1o7RTRCdm1EQTtJQUNFLFdyQndHVTtJcUJ2R1YscUJBQUE7RTVCeW1ERjtFNEJubERFO0lBQ0UsV0FBQTtFNUJxbERKO0U0QmxsREU7SUFDRSxXQUFBO0U1Qm9sREo7RTRCamxERTtJQUNFLFdyQndFUTtFUDJnRFo7RTRCcG5EQTtJQUNFLFdyQndHVTtJcUJ2R1YsWUFBQTtFNUJzbkRGO0U0QmhtREU7SUFDRSxXQUFBO0U1QmttREo7RTRCL2xERTtJQUNFLFdBQUE7RTVCaW1ESjtFNEI5bERFO0lBQ0UsV3JCd0VRO0VQd2hEWjtFc0IxZ0RJO0lFdEhGLGdCQUZVO0lBR1YsZUFIVTtFeEJzb0RaO0VzQjVnREk7SUFDRSxlQUFBO0lBQ0EsY0FBQTtFdEI4Z0ROO0VzQjFnREU7SUFDRSxlQUFBO0lBQ0EsY0FBQTtFdEI0Z0RKO0VzQnhnREk7SUVwSUYsd0JBRlU7SUFHVix1QkFIVTtFeEJrcERaO0VzQnZnREk7SUtySEYsaUJBQUE7SUFDQSxrQkFBQTtFM0IrbkRGO0UyQjluREU7SUFDRSxXQUFBO0lBQ0EsV0FBQTtFM0Jnb0RKO0VzQm5nREk7SUtsSEosZ0JBQUE7SUFDQSxlQUFBO0lBQ0EsY0FBQTtFM0J3bkRBO0UyQmhxREU7SUFDRSxXcEIwR1E7SW9CekdSLFdBQUE7RTNCa3FESjtFMkI3cERJO0lBQ0UsWXBCb0dPO0VQMmpEYjtBQUNGO0FJeGdEUTtFa0I3RUY7SUl4Rkosb0JBQUE7RTFCaXJEQTtFc0JsbERRO0lLekVOLGtCQUFBO0lBQ0EsbUJBSFM7RTNCaXFEWDtFc0JobERRO0lLL0VOLGtCQUFBO0lBQ0Esb0JBSFM7RTNCcXFEWDtFc0Ixa0RNO0lLM0ROLGVBQUE7RTNCd29EQTtFc0JwbURJO0lJeEZKLHFCQUFBO0UxQityREE7RXNCaG1EUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQitxRFg7RXNCOWxEUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQm1yRFg7RXNCeGxETTtJSzNETiwwQkFBQTtFM0JzcERBO0VzQmxuREk7SUl4RkosVUFBQTtFMUI2c0RBO0VzQjltRFE7SUt6RU4sa0JBQUE7SUFDQSxTQUhTO0UzQjZyRFg7RXNCNW1EUTtJSy9FTixrQkFBQTtJQUNBLFVBSFM7RTNCaXNEWDtFc0J0bURNO0lLM0ROLDJCQUFBO0UzQm9xREE7RXNCaG9ESTtJSXhGSixxQkFBQTtFMUIydERBO0VzQjVuRFE7SUt6RU4sa0JBQUE7SUFDQSxvQkFIUztFM0Iyc0RYO0VzQjFuRFE7SUsvRU4sa0JBQUE7SUFDQSxxQkFIUztFM0Irc0RYO0VzQnBuRE07SUszRE4sZ0JBQUE7RTNCa3JEQTtFc0I5b0RJO0lJeEZKLHFCQUFBO0UxQnl1REE7RXNCMW9EUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQnl0RFg7RXNCeG9EUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQjZ0RFg7RXNCbG9ETTtJSzNETiwyQkFBQTtFM0Jnc0RBO0VzQjVwREk7SUl4RkosVUFBQTtFMUJ1dkRBO0VzQnhwRFE7SUt6RU4sa0JBQUE7SUFDQSxTQUhTO0UzQnV1RFg7RXNCdHBEUTtJSy9FTixrQkFBQTtJQUNBLFVBSFM7RTNCMnVEWDtFc0JocERNO0lLM0ROLDJCQUFBO0UzQjhzREE7RXNCMXFESTtJSXhGSixxQkFBQTtFMUJxd0RBO0VzQnRxRFE7SUt6RU4sa0JBQUE7SUFDQSxvQkFIUztFM0JxdkRYO0VzQnBxRFE7SUsvRU4sa0JBQUE7SUFDQSxxQkFIUztFM0J5dkRYO0VzQjlwRE07SUszRE4sZ0JBQUE7RTNCNHREQTtFc0J4ckRJO0lJeEZKLHFCQUFBO0UxQm14REE7RXNCcHJEUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQm13RFg7RXNCbHJEUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQnV3RFg7RXNCNXFETTtJSzNETiwyQkFBQTtFM0IwdURBO0VzQnRzREk7SUl4RkosVUFBQTtFMUJpeURBO0VzQmxzRFE7SUt6RU4sa0JBQUE7SUFDQSxTQUhTO0UzQml4RFg7RXNCaHNEUTtJSy9FTixrQkFBQTtJQUNBLFVBSFM7RTNCcXhEWDtFc0IxckRNO0lLM0ROLDJCQUFBO0UzQnd2REE7RXNCcHRESTtJSXhGSixxQkFBQTtFMUIreURBO0VzQmh0RFE7SUt6RU4sa0JBQUE7SUFDQSxvQkFIUztFM0IreERYO0VzQjlzRFE7SUsvRU4sa0JBQUE7SUFDQSxxQkFIUztFM0JteURYO0VzQnhzRE07SUszRE4sZ0JBQUE7RTNCc3dEQTtFc0JsdURJO0lJeEZKLHFCQUFBO0UxQjZ6REE7RXNCOXREUTtJS3pFTixrQkFBQTtJQUNBLG9CQUhTO0UzQjZ5RFg7RXNCNXREUTtJSy9FTixrQkFBQTtJQUNBLHFCQUhTO0UzQml6RFg7RXNCdHRETTtJSzNETiwyQkFBQTtFM0JveERBO0VzQmh2REk7SUl4RkosV0FBQTtFMUIyMERBO0VzQjV0RE07SUszRE4sMkJBQUE7RTNCMHhEQTtFNEJ2MERBO0lBQ0UsV3JCd0dVO0lxQnZHVixXQUFBO0U1QnkwREY7RTRCbnpERTtJQUNFLFdBQUE7RTVCcXpESjtFNEJsekRFO0lBQ0UsV0FBQTtFNUJvekRKO0U0Qmp6REU7SUFDRSxXckJ3RVE7RVAydURaO0U0QnAxREE7SUFDRSxXckJ3R1U7SXFCdkdWLFVBQUE7RTVCczFERjtFNEJoMERFO0lBQ0UsV0FBQTtFNUJrMERKO0U0Qi96REU7SUFDRSxXQUFBO0U1QmkwREo7RTRCOXpERTtJQUNFLFdyQndFUTtFUHd2RFo7RTRCajJEQTtJQUNFLFdyQndHVTtJcUJ2R1YscUJBQUE7RTVCbTJERjtFNEI3MERFO0lBQ0UsV0FBQTtFNUIrMERKO0U0QjUwREU7SUFDRSxXQUFBO0U1QjgwREo7RTRCMzBERTtJQUNFLFdyQndFUTtFUHF3RFo7RTRCOTJEQTtJQUNFLFdyQndHVTtJcUJ2R1YsVUFBQTtFNUJnM0RGO0U0QjExREU7SUFDRSxXQUFBO0U1QjQxREo7RTRCejFERTtJQUNFLFdBQUE7RTVCMjFESjtFNEJ4MURFO0lBQ0UsV3JCd0VRO0VQa3hEWjtFNEIzM0RBO0lBQ0UsV3JCd0dVO0lxQnZHVixVQUFBO0U1QjYzREY7RTRCdjJERTtJQUNFLFdBQUE7RTVCeTJESjtFNEJ0MkRFO0lBQ0UsV0FBQTtFNUJ3MkRKO0U0QnIyREU7SUFDRSxXckJ3RVE7RVAreERaO0U0Qng0REE7SUFDRSxXckJ3R1U7SXFCdkdWLHFCQUFBO0U1QjA0REY7RTRCcDNERTtJQUNFLFdBQUE7RTVCczNESjtFNEJuM0RFO0lBQ0UsV0FBQTtFNUJxM0RKO0U0QmwzREU7SUFDRSxXckJ3RVE7RVA0eURaO0U0QnI1REE7SUFDRSxXckJ3R1U7SXFCdkdWLHFCQUFBO0U1QnU1REY7RTRCajRERTtJQUNFLFdBQUE7RTVCbTRESjtFNEJoNERFO0lBQ0UsV0FBQTtFNUJrNERKO0U0Qi8zREU7SUFDRSxXckJ3RVE7RVB5ekRaO0U0Qmw2REE7SUFDRSxXckJ3R1U7SXFCdkdWLFlBQUE7RTVCbzZERjtFNEI5NERFO0lBQ0UsV0FBQTtFNUJnNURKO0U0Qjc0REU7SUFDRSxXQUFBO0U1Qis0REo7RTRCNTRERTtJ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a0VyQjtBNkJ2NERFO0VBQ0UsK0RBWlk7RUFhWix3REFiWTtBN0JzNURoQjtBNkJqNERJO0VBQ0UseUJBQUE7RUFDQSw2QkFBQTtBN0JtNEROO0E2QnAzREU7RUFJRSxjWGxKZ0I7QWxCcWdFcEI7QTZCaDNERTtFQUNFLGNBWFk7QTdCNjNEaEI7QTZCMTNERTtFQUlFLGMzQjVOaUI7QUZxbEVyQjtBNkJ0M0RFO0VBQ0UsY0FYWTtBN0JtNERoQjtBNkJoNERFO0VBSUUsYzNCNU5pQjtBRjJsRXJCO0E2QjUzREU7RUFDRSx5QkFYWTtBN0J5NERoQjtBNkJ0NERFO0VBSUUsYzNCNU5pQjtBRmltRXJCO0E2Qmw0REU7RUFDRSx3REFYWTtBN0IrNERoQjtBNkI1NERFO0VBSUUsYzNCNU5pQjtBRnVtRXJCO0E2Qng0REU7RUFDRSx3QkFYWTtBN0JxNURoQjtBNkJsNURFO0VBSUUsYzNCNU5pQjtBRjZtRXJCO0E2Qjk0REU7RUFDRSx3REFYWTtBN0IyNURoQjtBNkJweURJO0VBbkdGLGEzQkZ3QjtFMkJHeEIsbUJBQUE7QTdCMDRERjtBNkI5M0RFO0VyQjNQQSxjQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFFQSxtQkFBQTtFQUNBLG1CcUJrUE87RXJCaFBQLFdBQUE7RUFHRSxzQkFBQTtFQUNBLDZDQUFBO0VxQmtQQSxrQkFBQTtFQUNBLFVBQUE7RUFFQSxxQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFUTztBN0IrNERYO0E2Qnh5RFE7RUFDRSx5QlhsUlU7QWxCNGpFcEI7QTZCcnlEWTtFQUNFLHlCM0JsV087QUZ5b0VyQjtBNkJ4eURZO0VBQ0UseUIzQmxXTztBRjRvRXJCO0E2QjN5RFk7RUFDRSx5QjNCbFdPO0FGK29FckI7QTZCOXlEWTtFQUNFLHlCM0JsV087QUZrcEVyQjtBNkJqekRZO0VBQ0UseUIzQmxXTztBRnFwRXJCO0E2QjN5REk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7QTdCNnlETjs7QTZCeHlESTtFQUVFLHFCQUFBO0E3QjB5RE47O0E4QjMvREU7RUFwTEEsbUI1QjJQbUI7RTRC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UTtFMEIyR0o7SUFFSSxjQUFBO0U5Qml0RU47RThCL3NFTTtJQUNFLGNBQUE7SUFDQSxlQUFBO0U5Qml0RVI7QUFDRjtBSW4wRVE7RTBCc0hKO0lBRUksY0FBQTtFOUIrc0VOO0U4QjdzRU07SUFDRSxjQUFBO0lBQ0EsZUFBQTtFOUIrc0VSO0FBQ0Y7O0ErQm41RUU7RUFkQSxrQkFBQTtFQUNBLFdBakZvQjtFQWtGcEIsYzdCakNVO0U2QmtDVixlQUFBO0EvQnE2RUY7QVF4ekVFO0VBQ0UsVUFBQTtBUjB6RUo7QStCcDZFRTtFQUVFLGM3QnZDSTtBRjQ4RVI7QStCdjVFUTtFQWxDTixXQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0EvQjQ3RUY7O0FnQ2grRUU7RUFaQSxxQkFBQTtFQUNBLDBCOUIwVmM7RThCeFZkLGdCOUJrQ2M7RThCaENkLGlCOUJxVmdCO0U4QnBWaEIsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQU9FLG1CZHlFZ0I7RWN4RWhCLGM5QnlVVTtBRitwRWQ7QWdDcitFTTtFQUNFLG1COUJOYTtFOEJPYixjQUFBO0FoQ3UrRVI7QWdDeitFTTtFQUNFLG1COUJOYTtFOEJPYixjQUFBO0FoQzIrRVI7QWdDNytFTTtFQUNFLG1COUJOYTtFOEJPYixjQUFBO0FoQysrRVI7QWdDai9FTTtFQUNFLG1COUJOYTtFOEJPYixjQUFBO0FoQ20vRVI7QWdDci9FTTtFQUNFLG1COUJOYTtFOEJPYixjQUFBO0FoQ3UvRVI7O0FpQ3pnRkU7RUFuQ0EsWS9CK2JnQjtFK0I5YmhCLG1CL0JnRWM7RStCL0RkLGdCL0JtRWM7RStCbEVkLHNCL0JvRFk7QUY0L0VkO0FpQzNnRlE7RUFDRSx5Qi9CS1c7QUZ3Z0ZyQjtBaUM5Z0ZRO0VBQ0UseUIvQktXO0FGMmdGckI7QWlDamhGUTtFQUNFLHlCL0JLVztBRjhnRnJCO0FpQ3BoRlE7RUFDRSx5Qi9CS1c7QUZpaEZyQjtBaUN2aEZRO0VBQ0UseUIvQktXO0FGb2hGckI7O0FpQ2xoRkU7RUF4Q0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsU0FBQTtF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RlI7QW1DcGtGRTtFQUNFLDRCQTNJNkI7QW5DaXRGakM7QW1DamtGRTtFQUNFLG1CQWpHcUI7RUFrR3JCLFlBdEdzQjtBbkN5cUYxQjtBUTdoRkU7RUFDRSxVQUFBO0FSK2hGSjs7QW1DLytFRTtFQTdFQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxtQ0FBQTtVQUFBLDJCQUFBO0FuQ2drRkY7O0FtQ2gvRUU7RUEzRUEsUUFBQTtFQUNBLGFBQUE7QW5DK2pGRjtBbUM3akZFO0VBQ0UsY0FBQTtBbkMrakZKOztBbUNsL0VFO0VBdkVBLFVBQUE7QW5DNmpGRjtBbUMzakZFO0VBQ0UsYUFBQTtBbkM2akZKOztBbUNuL0VFO0VBdkRBLGNqQzRRbUI7QUZreUVyQjtBbUM1aUZFO0VBQ0UsV0FSYTtFQVNiLGNqQ3dRaUI7RWlDdlFqQixtQkFtRHFCO0FuQzIvRXpCO0FtQzNpRkU7RUFDRSxZakN5UW1CO0VpQ3hRbkIsYWpDd1FtQjtFaUN2UW5CLFdBZmE7RUFnQmIsWUFmYztBbkM0akZsQjtBbUMxaUZFO0VBQ0UsYUFsQnFCO0FuQzhqRnpCOztBbUNqZ0ZFO0VBM0RBLGVqQzZRb0I7QUZtekV0QjtBbUM5akZFO0VBQ0UsYUFSYTtFQVNiLGVqQ3lRa0I7RWlDeFFsQixrQkF1RHFCO0FuQ3lnRnpCO0FtQzdqRkU7RUFDRSxZakN5UW1CO0VpQ3hRbkIsYWpDd1FtQjtFaUN2UW5CLGNBZmE7RUFnQmIsZUFmYztBbkM4a0ZsQjtBbUM1akZFO0VBQ0UsVUFsQnFCO0FuQ2dsRnpCOztBbUMvZ0ZFO0VBL0RBLGNqQzhRb0I7QUZvMEV0QjtBbUNobEZFO0VBQ0UsV0FSYTtFQVNiLGNqQzBRa0I7RWlDelFsQixlQTJEcUI7QW5DdWhGekI7QW1DL2tGRTtFQUNFLFlqQ3lRbUI7RWlDeFFuQixhakN3UW1CO0VpQ3ZRbkIsV0FmYTtFQWdCYixZQWZjO0FuQ2dtRmxCO0FtQzlrRkU7RUFDRSxhQWxCcUI7QW5Da21GekI7O0FvQ3ZnRkU7RUE5R0EseUJBQUE7RUFDQSxXQUFBO0VBQ0EsbUJsQy9IYztFa0NnSWQsZ0JsQzVIYztBRnF2RmhCO0FvQ2p0RkU7OztFQUdFLDBDbENnWVc7RWtDL1hYLHlCbENsREk7QUZxd0ZSOztBb0Mvc0ZFO0VBQ0UsaUNsQzJYWTtFa0MxWFosaUJsQy9DaUI7QUZpd0ZyQjs7QW9DOXNGRTtFQUNFLHVDbEM4WG9CO0VrQzdYcEIsY2xDL0RJO0FGZ3hGUjs7QW9DN3NGRTtFQUNFLG9DbEN5WG9CO0VrQ3hYcEIsY2xDckVJO0FGcXhGUjs7QW9DenNGSTs7RUFDRSx1QkFBQTtBcEM2c0ZOO0FvQ3pzRkk7Ozs7RUFFRSxpQ2xDZ1dVO0VrQy9WVixpQmxDMUVlO0VrQzJFZixnQkFBQTtBcEM2c0ZOOztBb0N2c0ZJOztFQUVFLGlDbENzVlU7QUZvM0VoQjs7QW9DL3dGTTtFQUNFLGdCQUFBO0VBQ0EsMENsQ2dhbUI7QUZrM0UzQjs7QW9DcHNGTTtFQUNFLHlCbEN4R0E7QUYreUZSO0FvQ3h3RkU7RUFDRSxpRGxDeVlXO0VrQ3hZWCx5QmxDekNJO0FGbXpGUjs7QUlqc0ZRO0VnQzBHSjtJQUNFLGFBQUE7RXBDMmxGSjtFb0N2bEZBO0lBQ0UsYUFBQTtFcEN5bEZGO0VvQ3RsRkE7OztJQUdFLGNBQUE7RXBDd2xGRjtFb0NybEZBO0lBQ0UsYUFBQTtFcEN1bEZGO0FBQ0Y7O0FvQ3prRkU7RUF2R0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtBcENvckZGOztBb0M3cUZJO0VBQ0UsNkNBcktpQjtBcENxMUZ2QjtBb0MxcUZJO0VBQ0UsMENBcEtpQjtBcENnMUZ2QjtBb0N0cUZJO0VBQ0UsMENsQ3dRWTtBRmc2RWxCO0FvQ2pxRk07RUFDRSw2Q2xDaVFpQjtBRms2RXpCOztBb0NwbEZFO0VBQ0UsZ0JBQUE7QXBDdWxGSjs7QXFDMzJGRTtFQVhBLHFCQUFBO0VBQ0EsZ0JuQ3dOZTtFbUN2TmYsY25Dc05jO0VtQ3BOZCxrQkFBQTtFQUVBLGlCbkNvTmdCO0VtQ25OaEIsa0JBQUE7RUFPRSxtQm5CMEVnQjtFbUJ6RWhCLGNuQ3dNVTtBRjBxRmQ7QXFDLzJGTTtFQUNFLG1CbkNMYTtFbUNNYixjQUFBO0FyQ2kzRlI7QXFDbjNGTTtFQUNFLG1CbkNMYTtFbUNNYixjQUFBO0FyQ3EzRlI7QXFDdjNGTTtFQUNFLG1CbkNMYTtFbUNNYixjQUFBO0FyQ3kzRlI7QXFDMzNGTTtFQUNFLG1CbkNMYTtFbUNNYixjQUFBO0FyQzYzRlI7QXFDLzNGTTtFQUNFLG1CbkNMYTtFbUNNYixjQUFBO0FyQ2k0RlI7O0FzQzUwRkU7RUEvQ0Esa0JwQ21NbUI7RW9DbE1uQixnQkFBQTtBdEMrM0ZGO0FRbHhGRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0FSbXhGSjtBUTN3RkU7RUFDRSxXQUFBO0FSNndGSjtBc0NqNEZFO0VBQ0UsV0FBQTtFQUVBLG9CcEMyTHlCO0VvQzFMekIsY3BDVkk7RW9DV0osZUFBQTtFQUdFLHlCQUFBO0F0Q2c0Rk47QXNDeDNGUTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxVQUFBO0VBQ0EsWUFQUTtFQVFSLFdwQzlCSTtBRnc1RmQ7QXNDaDNGRTtFQUNFLGNwQndCZ0I7QWxCMDFGcEI7QXNDaDNGSTtFQUNFLDBCQUFBO0F0Q2szRk47QXNDejJGSTtFQUNFLFdwQ3REUTtFb0N1RFIsbUJBQUE7QXRDMjJGTjs7QXVDbjRGRTtFQXBCQSw2Q0FGYTtFQUdiLGNBQUE7RUF2QkEsa0JBQUE7RUFDQSxrQnJDb1BlO0VxQ25QZixhQUFBO0VBRUEsd0NyQ2dQZTtFcUMvT2YsZ0JyQ29CYztBRjg1RmhCO0F1Qy82RkU7RUFDRSxhQUFBO0F2Q2k3Rko7QXVDOTZGRTtFQUNFLGdCQUFBO0F2Q2c3Rko7QXVDLzRGTTtFQXhCSix3Q0FGYTtFQUdiLGNBQUE7QXZDMDZGRjtBdUNuNUZNO0VBeEJKLDBDQUZhO0VBR2IsY0FBQTtBdkM4NkZGO0F1Q3Y1Rk07RUF4QkosNENBRmE7RUFHYixjQUFBO0F2Q2s3RkY7QXVDMzVGTTtFQXhCSiwwQ0FGYTtFQUdiLGNBQUE7QXZDczdGRjtBdUMvNUZNO0VBeEJKLDZDQUZhO0VBR2IsY0FBQTtBdkMwN0ZGO0F1Qzc1Rk07RUF6QkosbUJBd0IyQjtFQXZCM0IscUJBdUIyQjtFQXRCM0Isc0JBc0IyQjtFQXJCM0Isb0JBcUIyQjtBdkNvNkY3QjtBdUNuNkZNO0VBekJKLGlCQXdCMkI7RUF2QjNCLG1CQXVCMkI7RUF0QjNCLG9CQXNCMkI7RUFyQjNCLGtCQXFCMkI7QXZDMDZGN0I7O0F3Q2g2RkU7RUFsREEsbUJ0Q1VjO0VzQ1JkLHlCQXpDWTtFQTBDWixnQnRDV2M7RXNDVGQsbUJ0Q0RNO0VzQ0VOLHdCQXpDWTtVQXlDWixnQkF6Q1k7RUEyQ1osZ0JBQUE7RUFDQSxjdENOTTtBRnk5RlI7QXdDajlGRTtFQUNFLGdCQUFBO0F4Q205Rko7O0F3Q3o2RkU7RUE1QkEsYXRDZmU7RXNDZ0JmLG1CdEM1Qlc7QUZxK0ZiO0F3Q3Y4RkU7RUFDRSxnQkFBQTtBeEN5OEZKOztBd0M3NkZFO0VBaEJBLGF0Qy9CZTtBRmcrRmpCO0F3Qy83RkU7RUFDRSxnQkFBQTtBeENpOEZKOztBd0M5NkZFO0VBQ0UsZUFBQTtBeENpN0ZKOztBeUN6K0ZFO0VBNUJBLGtCQUFBO0VBQ0EsV0FBQTtFQUVBLGFBQUE7RUFFQSxZdkNvUmU7RXVDblJmLGF2Q2dSaUI7RXVDOVFqQixrQkFBQTtFQUNBLHNCdkM4UWdCO0V1QzdRaEIsZ0J2Q3VCYztFdUN0QmQseUJ2Q1lNO0V1Q1ZOLGdCdkMyUW1CO0FGMHZGckI7QXlDamdHRTtFQUNFLGNBQUE7QXpDbWdHSjtBeUNoZ0dFO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0F6Q2tnR0o7O0F5Q3YvRk07RUFDRSxZdkN3UFM7QUZrd0ZqQjs7QXlDMy9GTTtFQUNFLFl2Q3dQUztBRnN3RmpCOztBeUMvL0ZNO0VBQ0UsWXZDd1BTO0FGMHdGakI7O0EwQ3Q2RkU7RUFwRkEsY0FBQTtFQUNBLG1CeENmYztBRjZnR2hCO0FRdDZGRTtFQUVFLGNBQUE7RUFDQSxZQUFBO0FSdTZGSjtBUS81RkU7RUFDRSxXQUFBO0FSaTZGSjtBMENqZ0dFO0VBQ0UsdUJ4QytWc0I7RXdDOVZ0QixnQnhDakJZO0V3Q2tCWixtQnhDeVZtQjtFd0NuVmpCLGFBQUE7QTFDOC9GTjtBMEM1L0ZNO0VBRUUscUJBQUE7QTFDNi9GUjtBSWo3RlE7RXNDekZOO0lBdUJNLHFCQUFBO0UxQ3UvRk47QUFDRjtBMENsL0ZFOztFQUVFLGNBQUE7RUFDQSwyQnhDK1RzQjtFd0M5VHRCLGdCeENoRFk7RXdDaURaLGN4QzVESTtBRmdqR1I7QTBDbC9GSTs7RUFDRSxtQnhDbkVPO0FGd2pHYjtBMEN4OEZJO0VBbENGLDJCeEMrU3dCO0V3QzlTeEIsbUJ4QmJrQjtFd0JjbEIsY3hDa1Q4QjtFd0NqVDlCLGVBQUE7QTFDNitGRjtBMEMxOEZJO0VBM0JGLDJCeENvU3dCO0V3Q25TeEIsV3hDekZZO0V3QzBGWixtQkFBQTtBMUN3K0ZGO0EwQ3QrRkU7RUFDRSx1QkFBQTtBMUN3K0ZKO0EwQzk4Rkk7RUFqQkYsMkJ4Q3NSd0I7RXdDclJ4QixZQUFBO0VBQ0EsY3hDckdNO0FGdWtHUjs7QTBDNzhGSTs7RUFFRSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0EsWUF6SHNCO0ExQ3lrRzVCOztBMEM3OEZJOztFQUVFLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQTVIa0I7QTFDNGtHeEI7O0EyQzcvRkU7RUFuR0Esa0JBQUE7RUFDQSxxQkFBQTtFQUVBLGlDekN5ZXNCO0V5Q3hldEIsaUJ6Q2lCbUI7RXlDaEJuQixZQWhEZTtBM0NtcEdqQjs7QTJDamdHRTtFQTlGQSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0EsYUFBQTtFQUVBLGdCQWhDa0I7RUFpQ2xCLGdCekNpZWdCO0V5Qy9kaEIsZ0J6Q01jO0V5Q0xkLHlCekNOTTtFeUNPTixjekNxR2dCO0V5Q3BHaEIsY3pDUE07QUZ3bUdSO0EyQy9sR0U7RUFDRSxrQkFBQTtBM0NpbUdKO0EyQzdsR0k7RW5DaENGLGNBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUVBLG1CQUFBO0VBQ0EscUJOa2ZrQjtFTWhmbEIsV0FBQTtFQU9FLG1CQUFBO0VBQ0EsNkNBQUE7RW1DbUJFLFlBQUE7QTNDc21HTjtBMkNubUdJO0VBQ0UsU0FBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7QTNDcW1HTjtBMkNobUdJO0VuQzVDRixjQUFBO0VBQ0EsUUFBQTtF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O0VBQ0EsV0FBQTtBaER3NUdKOztBZ0R2MEdJO0VBQ0UsVUFBQTtBaEQwMEdOO0FnRHgwR007RUFDRSx1QkFBQTtBaEQwMEdSOztBZ0RwMEdFO0VBQ0UsbUI5QnZDZ0I7QWxCODJHcEI7QWdEcjBHSTtFQUNFLGNBQUE7QWhEdTBHTjtBZ0RyMEdNO0VBRUUsNEJBQUE7QWhEczBHUjs7QWdEajBHRTtFQTNGQSxXQUFBO0FoRGc2R0Y7QWdEOTVHRTtFQUNFLGNBQUE7RUFDQSxvQjlDNmFlO0U4QzVhZixrQjlDMGFpQjtFOEN6YWpCLGNBQUE7RUFDQSxjOUJpQ2dCO0FsQiszR3BCO0FRL3lHRTtFQUNFLFVBQUE7QVJpekdKO0FnRGg2R0k7RUFDRSxtQjlDaENFO0U4Q2lDRix3QkFBQTtBaERrNkdOO0FnRC81R0k7RUFFRSxtQjlDM0NPO0U4QzRDUCxjOUJzQmM7QWxCMDRHcEI7O0FnRG4xR0U7RUFsRUEseUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUI5Q3BETTtFOENxRE4sYzlDcVprQjtFOENwWmxCLGlDQUFBO0VBQUEseUJBQUE7QWhEeTVHRjs7QWdEdjFHRTtFQTNEQSx5QkFBQTtFQUNBLGNBQUE7QWhEczVHRjs7QWdEeDFHRTtFQXZEQSxhQUFBO0VBQ0EsYTlDcVlvQjtBRjhnR3RCO0FnRGo1R0U7RUFDRSxjQUFBO0FoRG01R0o7O0FpRGwrR0U7RUF6QkEscUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUIvQ21DYztFK0NqQ2QseUIvQ3llaUI7RStDeGVqQixnQi9Db0NjO0UrQ25DZCxtRC9DeWVpQjtVK0N6ZWpCLDJDL0N5ZWlCO0UrQ3ZlakIsY0FBQTtBakQ2L0dGOztBaUR4K0dFO0VBakJBLHFEL0NxZXFCO0UrQ3JlckIsNkMvQ3FlcUI7RStDcmVyQixxQy9DcWVxQjtFK0NyZXJCLHdFL0NxZXFCO0FGd2hHdkI7QWlEMy9HRTtFQUVFLG9EL0NnZXFCO1UrQ2hlckIsNEMvQ2dlcUI7QUY0aEd6QjtBaUR6L0dFO0VBQ0Usd0JBQUE7VUFBQSxnQkFBQTtBakQyL0dKOztBa0Q5cUdFO0VBMVVBLFVBQUE7RUFDQSxT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RUFDQSxpQkFBQTtBbklxdVlOOztBbUkvdFlFO0VBQ0UsZ0JBQUE7QW5Ja3VZSjs7QW9JbHhZRTtFQUNFLGN4REVJO0V3RERKLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBcElxeFlKO0FvSW54WUU7RUFDRSx5QnhESkk7RXdES0osbUJBQUE7RUFDQSxrQkFBQTtBcElxeFlKOztBcUk5eFlFO0VBQ0Usa0JBQUE7QXJJaXlZSjtBcUk1eFlFO0VBQ0UsbUJBQUE7QXJJOHhZSjtBcUk1eFlFO0VBQ0UsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7QXJJOHhZSjtBcUkzeFlJO0VBQ0UsY25JZ0RFO0FGNnVZUjs7QXNJN3lZQTtFQUNFLHlCcEkrRE07RW9JOUROLGlDMUQ0QjBCO0E1RW94WTVCO0FzSTl5WUk7RUFDRSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxlQUFBO0F0SWd6WU47QXNJL3lZTTtFQUNFLDZCQUFBO0F0SWl6WVI7QXNJOXlZSTtFQUNFLFdwSThDUTtFb0k3Q1IsZ0JBQUE7QXRJZ3pZTjtBc0k5eVlJO0VBQ0UsYzFEZUc7QTVFaXlZVDtBc0kveVlNO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxjMURsQkE7QTVFbTBZUjtBc0k5eVlJO0VBQ0UsZ0JBQUE7RUFDQSxXcElrQ1E7RW9JakNSLG9CQUFBO0VBQ0EsVUFBQTtBdElnellOO0FJMXBZUTtFa0kxSko7SUFNSSxXQUFBO0V0SWt6WU47QUFDRjtBc0loellJO0VBQ0UseUJBQUE7QXRJa3pZTjtBSWxxWVE7RWtJakpKO0lBR0ksbUJBQUE7RXRJb3pZTjtBQUNGO0FzSWx6WUk7RUFDRSwwQkFBQTtBdElvellOO0FzSWx6WUk7RUFDRSxjcElvQkU7RW9JbkJGLDBCQUFBO0F0SW96WU47QXNJbnpZTTtFQUNFLGMxRDNDQTtBNUVnMllSO0FJanJZUTtFa0lqSUo7SUFFSSxrQkFBQTtFdElvellOO0FBQ0Y7QXNJbnpZTTtFQUNFLHlCMURuREE7RTBEb0RBLDJDMUQxQlk7RTBEMkJaLGNwSVFBO0Vv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SXg4YUk7RUFDRSxjMUluTEU7QUY2bmJSO0E0SXo4YU07RUFDRSxjMUlyTEE7QUZnb2JSOztBNElyOGFBO0VBQ0UsYUFBQTtBNUl3OGFGOztBNEluOGFBO0VBQ0UseUIxSWpNTTtBRnVvYlI7O0E0SW44YUU7RUFDRSxjQUFBO0VBQ0EsV0FBQTtBNUlzOGFKO0E0SXA4YUU7RUFDRSxpQkFBQTtBNUlzOGFKIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5UYWJsZSBvZiBDb250ZW50c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuLyogMCwgNjQwcHggKi9cbi8qIDY0MXB4LCAxMDI0cHggKi9cbi8qIDEwMjVweCwgMTQ0MHB4ICovXG4vKiAxNDQxcHgsIDE5MjBweCAqL1xuLyogMTkyMXB4LCAuLi4gKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi45LjBcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLmxhcmdlLCAucmV2ZWFsLnNtYWxsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICosIFtkYXRhLXdoYXRpbnRlbnQ9bW91c2VdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW50ZW50PXRvdWNoXSAqLFxuW2RhdGEtd2hhdGludGVudD10b3VjaF0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKixcbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKixcbltkYXRhLXdoYXRpbnB1dD10b3VjaF0gKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbltkcmFnZ2FibGU9ZmFsc2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiO1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9d2Vla10sIFt0eXBlPWVtYWlsXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9c2VhcmNoXSwgW3R5cGU9dGVsXSwgW3R5cGU9dGltZV0sIFt0eXBlPXVybF0sIFt0eXBlPWNvbG9yXSxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5bdHlwZT10ZXh0XTpmb2N1cywgW3R5cGU9cGFzc3dvcmRdOmZvY3VzLCBbdHlwZT1kYXRlXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLCBbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsIFt0eXBlPW1vbnRoXTpmb2N1cywgW3R5cGU9d2Vla106Zm9jdXMsIFt0eXBlPWVtYWlsXTpmb2N1cywgW3R5cGU9bnVtYmVyXTpmb2N1cywgW3R5cGU9c2VhcmNoXTpmb2N1cywgW3R5cGU9dGVsXTpmb2N1cywgW3R5cGU9dGltZV06Zm9jdXMsIFt0eXBlPXVybF06Zm9jdXMsIFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJlMzEzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAjNjY2O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuW3R5cGU9ZmlsZV0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0gKyBsYWJlbCxcblt0eXBlPXJhZGlvXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblt0eXBlPWNoZWNrYm94XSArIGxhYmVsW2Zvcl0sXG5bdHlwZT1yYWRpb10gKyBsYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5sYWJlbCA+IFt0eXBlPWNoZWNrYm94XSxcbmxhYmVsID4gW3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cblt0eXBlPWZpbGVdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5sYWJlbC5taWRkbGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbn1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xufVxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xufVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjg0NiwgNDksIDQ4JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMmUzMTMwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgNXB4ICM2NjY7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuc2VsZWN0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2VjNTg0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1Mi4yLCAyMzcuNCwgMjM1KTtcbn1cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZWM1ODQwO1xufVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWM1ODQwO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwO1xufVxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLCAuaDYgc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDQuODc1cmVtO1xuICB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogNC4yNXJlbTtcbiAgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI2NjMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYigxNzUuNDQsIDAsIDApO1xufVxuYSBpbWcge1xuICBib3JkZXI6IDA7XG59XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG51bCB1bCwgdWwgb2wsIG9sIHVsLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5kbCBkdCB7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjY2O1xufVxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICMyZTMxMzA7XG59XG5cbmFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMmUzMTMwO1xufVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNpdGUtYmxvY2ssIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMyZTMxMzA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuLmNpdGUtYmxvY2s6YmVmb3JlLCBjaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUIFwiO1xufVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhYWFhO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG59XG5cbi5jb2RlLWJsb2NrIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY2NjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWFhYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgcHJpbnQtY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzJlMzEzMDtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi5yb3c6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnJvdyAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIH1cbn1cbi5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ucm93LmV4cGFuZGVkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnJvdy5leHBhbmRlZCAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbWVkaXVtID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xufVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG4uY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xufVxuLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlO1xufVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbn1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7XG59XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMzMzMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY2NjY2NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cbi5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbn1cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG4uc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICBjbGVhcjogYm90aDtcbn1cbi5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbn1cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgY2xlYXI6IG5vbmU7XG59XG4uc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICBjbGVhcjogYm90aDtcbn1cbi5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7XG59XG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gIGNsZWFyOiBub25lO1xufVxuLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAlO1xufVxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cbi5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xufVxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cbi5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxNDI4NTclO1xufVxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cbi5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlO1xufVxuLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICBjbGVhcjogbm9uZTtcbn1cbi5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG59XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuc21hbGwtcHVsbC0wLCAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IG5vbmU7XG59XG4uc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuc21hbGwtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTtcbiAgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsIC5tZWRpdW0tcHVzaC0wLCAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLCAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLm1lZGl1bS1wdXNoLTAsIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5tZWRpdW0tcHVsbC0wLCAubWVkaXVtLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLm1lZGl1bS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlO1xuICB9XG4gIC5sYXJnZS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMzMzMzMzJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lO1xuICB9XG4gIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MTQyODU3JTtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAubGFyZ2UtY2VudGVyZWQsIC5sYXJnZS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCwgLmxhcmdlLXB1c2gtMCwgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXVuY2VudGVyZWQsIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdXNoLTAsIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1bGwtMCwgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxuICAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuLmJ1dHRvbi50aW55IHtcbiAgZm9udC1zaXplOiAwLjZyZW07XG59XG4uYnV0dG9uLnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLmJ1dHRvbi5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5idXR0b24uZXhwYW5kZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4uYnV0dG9uLCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3My40LCAwLCAwKTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE2My4yLCAwLCAwKTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNjMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMTYzLjIsIDApO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzQuMjM4NjI2NjA5NCwgMTg3LjM2MTM3MzM5MDYsIDkxLjMwMzAwNDI5MTgpO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5idXR0b24ud2FybmluZywgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LCAxMzkuMiwgMCk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi5hbGVydCwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTguMjg1NzE0Mjg1NywgNDkuMTQyODU3MTQyOSwgMjEuNzE0Mjg1NzE0Myk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2MwMDAwO1xuICBjb2xvcjogI2NjMDAwMDtcbn1cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2MDAwMDtcbiAgY29sb3I6ICM2NjAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjMDAwMDtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjYwMDAwO1xuICBjb2xvcjogIzY2MDAwMDtcbn1cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmNjMDA7XG4gIGNvbG9yOiAjZmZjYzAwO1xufVxuLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMjcuNSwgMTAyLCAwKTtcbiAgY29sb3I6IHJnYigxMjcuNSwgMTAyLCAwKTtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigyMS4zOTkxNDE2MzA5LCAxMTcuMTAwODU4MzY5MSwgNTcuMDY0Mzc3NjgyNCk7XG4gIGNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZywgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogcmdiKDEyNy41LCA4NywgMCk7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDg3LCAwKTtcbn1cbi5idXR0b24uaG9sbG93LmFsZXJ0LCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgY29sb3I6ICNlYzU4NDA7XG59XG4uYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMzYuNDI4NTcxNDI4NiwgMzAuNzE0Mjg1NzE0MywgMTMuNTcxNDI4NTcxNCk7XG4gIGNvbG9yOiByZ2IoMTM2LjQyODU3MTQyODYsIDMwLjcxNDI4NTcxNDMsIDEzLjU3MTQyODU3MTQpO1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5jbGVhciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjY2MwMDAwO1xufVxuLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gIGNvbG9yOiAjNjYwMDAwO1xufVxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjNjYwMDAwO1xufVxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmY2MwMDtcbn1cbi5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDEwMiwgMCk7XG59XG4uYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogIzNhZGI3Njtcbn1cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6IHJnYigyMS4zOTkxNDE2MzA5LCAxMTcuMTAwODU4MzY5MSwgNTcuMDY0Mzc3NjgyNCk7XG59XG4uYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmYWUwMDtcbn1cbi5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzIHtcbiAgY29sb3I6IHJnYigxMjcuNSwgODcsIDApO1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjZWM1ODQwO1xufVxuLmJ1dHRvbi5jbGVhci5hbGVydDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTM2LjQyODU3MTQyODYsIDMwLjcxNDI4NTcxNDMsIDEzLjU3MTQyODU3MTQpO1xufVxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjRlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjYzAwMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5wcmltYXJ5OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjYzAwMDA7XG59XG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZjYzAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwO1xufVxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlYzU4NDA7XG59XG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwO1xufVxuLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMXB4KTtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFweCk7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTZweDtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbn1cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjMuMiwgMCwgMCk7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmNjMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMDQsIDE2My4yLCAwKTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDM0LjIzODYyNjYwOTQsIDE4Ny4zNjEzNzMzOTA2LCA5MS4zMDMwMDQyOTE4KTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4uYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNCwgMTM5LjIsIDApO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE4LjI4NTcxNDI4NTcsIDQ5LjE0Mjg1NzE0MjksIDIxLjcxNDI4NTcxNDMpO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2MwMDAwO1xuICBjb2xvcjogI2NjMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjAwMDA7XG4gIGNvbG9yOiAjNjYwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2MwMDAwO1xuICBjb2xvcjogI2NjMDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2MDAwMDtcbiAgY29sb3I6ICM2NjAwMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZjYzAwO1xuICBjb2xvcjogI2ZmY2MwMDtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTI3LjUsIDEwMiwgMCk7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDEwMiwgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xuICBjb2xvcjogcmdiKDIxLjM5OTE0MTYzMDksIDExNy4xMDA4NTgzNjkxLCA1Ny4wNjQzNzc2ODI0KTtcbn1cbi5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYigxMjcuNSwgODcsIDApO1xuICBjb2xvcjogcmdiKDEyNy41LCA4NywgMCk7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgY29sb3I6ICNlYzU4NDA7XG59XG4uYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTM2LjQyODU3MTQyODYsIDMwLjcxNDI4NTcxNDMsIDEzLjU3MTQyODU3MTQpO1xuICBjb2xvcjogcmdiKDEzNi40Mjg1NzE0Mjg2LCAzMC43MTQyODU3MTQzLCAxMy41NzE0Mjg1NzE0KTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjY2MwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMge1xuICBjb2xvcjogIzY2MDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiAjY2MwMDAwO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzY2MDAwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICBjb2xvcjogI2ZmY2MwMDtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEyNy41LCAxMDIsIDApO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMjEuMzk5MTQxNjMwOSwgMTE3LjEwMDg1ODM2OTEsIDU3LjA2NDM3NzY4MjQpO1xufVxuLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNmZmFlMDA7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiByZ2IoMTI3LjUsIDg3LCAwKTtcbn1cbi5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgY29sb3I6ICNlYzU4NDA7XG59XG4uYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICBjb2xvcjogcmdiKDEzNi40Mjg1NzE0Mjg2LCAzMC43MTQyODU3MTQzLCAxMy41NzE0Mjg1NzE0KTtcbn1cbi5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4wNjI1cmVtO1xufVxuLmJ1dHRvbi1ncm91cC5uby1nYXBzIC5idXR0b24gKyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZDo6YWZ0ZXIsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZDo6YWZ0ZXIsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFweCk7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDFweDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC02cHg7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDFweCk7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTZweDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTZweDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDFweCk7XG4gIG1hcmdpbi1yaWdodDogMXB4O1xufVxuLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogLTZweDtcbn1cbi5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY2NjY2NjclIC0gMXB4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG59XG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6ICMyZTMxMzA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG4uY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4uY2xvc2UtYnV0dG9uLm1lZGl1bSwgLmNsb3NlLWJ1dHRvbiB7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogI2NjMDAwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4ubGFiZWwucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNjYzAwMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmxhYmVsLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICNmZmNjMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmxhYmVsLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5sYWJlbC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4ubGFiZWwuYWxlcnQge1xuICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xufVxuLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbn1cbi5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2MwMDtcbn1cbi5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG59XG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xufVxuLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG59XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MwMDAwO1xufVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhYWFhO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cblxuLnNsaWRlci1oYW5kbGUge1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBjdXJzb3I6IGdyYWI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAuc2xpZGVyLWhhbmRsZSB7XG4gIG91dGxpbmU6IDA7XG59XG4uc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzMuNCwgMCwgMCk7XG59XG4uc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwLjVyZW07XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4uc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM2NjY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBjb250ZW50OiBcIlwiO1xufVxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogI2NjMDAwMDtcbn1cbmlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjI1cmVtO1xufVxuaW5wdXQ6Zm9jdXMtdmlzaWJsZSB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogcmdiKDkxLjgsIDkxLjgsIDkxLjgpO1xufVxuaW5wdXQ6Zm9jdXMtdmlzaWJsZSB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG5pbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgfiAuc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6IHJnYigxNzMuNCwgMCwgMCk7XG59XG5pbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1pbmFjdGl2ZSwgLnN3aXRjaC1hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTtcbn1cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTtcbn1cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn1cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG59XG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDEuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07XG59XG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogMC4yNXJlbTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbn1cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDJyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyNDEuMywgMjQxLjMsIDI0MS4zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnRoZWFkIHtcbiAgYmFja2dyb3VuZDogcmdiKDI0Ny42NSwgMjQ3LjY1LCAyNDcuNjUpO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxudGZvb3Qge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQxLjMsIDI0MS4zLCAyNDEuMyk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG50aGVhZCB0aCxcbnRoZWFkIHRkLFxudGZvb3QgdGgsXG50Zm9vdCB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRib2R5IHRoLFxudGJvZHkgdGQge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG59XG5cbnRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDEuMywgMjQxLjMsIDI0MS4zKTtcbn1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjQxLjMsIDI0MS4zLCAyNDEuMyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQyLjU1LCAyNDIuNTUsIDI0Mi41NSk7XG59XG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzYuMiwgMjM2LjIsIDIzNi4yKTtcbn1cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OC45LCAyNDguOSwgMjQ4LjkpO1xufVxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNi4xNSwgMjM2LjE1LCAyMzYuMTUpO1xufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjY2MwMDAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5iYWRnZS5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2NjMDAwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4uYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogI2ZmY2MwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4uYmFkZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJhZGdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5iYWRnZS5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi5icmVhZGNydW1iczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAuNzVyZW07XG4gIG9wYWNpdHk6IDE7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBjb2xvcjogIzY2Njtcbn1cbi5icmVhZGNydW1icyBhIHtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjNjY2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY2FsbG91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTQuODUsIDI1NC44NSwgMjU0Ljg1KTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY2FsbG91dC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjA5LjEsIDIwOS4xKTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNDcuMzUsIDIxNi43NSk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjUuNDUsIDI0OS42LCAyMzQuNDUpO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5jYWxsb3V0Lndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNDIuODUsIDIxNi43NSk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmNhbGxvdXQuYWxlcnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLjE1LCAyMjkuOTUsIDIyNi4zNSk7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmNhbGxvdXQuc21hbGwge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5jYXJkID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbn1cbi5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxcmVtO1xufVxuLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMTZyZW07XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnBhZ2luYXRpb24gbGkge1xuICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLnBhZ2luYXRpb24gYTpob3Zlcixcbi5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNhYWFhYWE7XG59XG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2NjMDAwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6ICM2NjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4ucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGNvbnRlbnQ6IFwi4oCmXCI7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogXCLCq1wiO1xufVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6IFwiwrtcIjtcbn1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjMmUzMTMwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4udG9vbHRpcDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIGJvdHRvbTogMTAwJTtcbn1cbi50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4udG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjc1cmVtO1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgbGVmdDogMTAwJTtcbn1cbi50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4udG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMC43NXJlbTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4udG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi50b29sdGlwLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDEwJTtcbn1cbi50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgYm90dG9tOiAxMCU7XG4gIHRvcDogYXV0bztcbn1cbi50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gIGxlZnQ6IDEwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udG9vbHRpcC5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwJTtcbn1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbjpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYWFhYTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhYWFhO1xufVxuLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGNvbnRlbnQ6IFwiK1wiO1xufVxuLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCTXCI7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWFhYWFhO1xufVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ubWVkaWEtb2JqZWN0IGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm9yYml0LW5leHQsIC5vcmJpdC1wcmV2aW91cyB7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub3JiaXQtbmV4dCwgW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub3JiaXQtcHJldmlvdXMge1xuICBvdXRsaW5lOiAwO1xufVxuLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDpmb2N1cywgLm9yYml0LXByZXZpb3VzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xufVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwO1xufVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLm9yYml0LWJ1bGxldHMge1xuICBvdXRsaW5lOiAwO1xufVxuLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIG1hcmdpbjogMC4xcmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG59XG4ub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzMTMwO1xufVxuLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTMxMzA7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG4udGFiczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG59XG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNjYzAwMDA7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4udGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiKDIxOS4zLCAwLCAwKTtcbn1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbn1cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAycmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC50YWJzLXRpdGxlID4gYSB7XG4gIG91dGxpbmU6IDA7XG59XG4udGFicy10aXRsZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogcmdiKDE3NS40NCwgMCwgMCk7XG59XG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbiAgY29sb3I6ICNjYzAwMDA7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4udGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuYS50aHVtYm5haWwge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xufVxuYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgyMDQsIDAsIDAsIDAuNSk7XG59XG5hLnRodW1ibmFpbCBpbWFnZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5tZW51IGxpIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZW51IGEsXG4ubWVudSAuYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5tZW51IGlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1lbnUgbGksIC5tZW51Lmhvcml6b250YWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudS52ZXJ0aWNhbCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1lbnUuZXhwYW5kZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWVudS5leHBhbmRlZCA+IGxpIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG4ubWVudS5zaW1wbGUgYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVudS5tZWRpdW0tZXhwYW5kZWQgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZW51Lm1lZGl1bS1zaW1wbGUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS5sYXJnZS1ob3Jpem9udGFsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm1lbnUubGFyZ2UtdmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5tZW51LmxhcmdlLWV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVudS5sYXJnZS1leHBhbmRlZCA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgLm1lbnUubGFyZ2Utc2ltcGxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWVudS5sYXJnZS1zaW1wbGUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG4ubWVudS5uZXN0ZWQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuLm1lbnUuaWNvbnMgaW1nLFxuLm1lbnUuaWNvbnMgaSxcbi5tZW51Lmljb25zIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubWVudS5pY29ucyBpbWcgKyBzcGFuLFxuLm1lbnUuaWNvbnMgaSArIHNwYW4sXG4ubWVudS5pY29ucyBzdmcgKyBzcGFuIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5tZW51Lmljb24tdG9wIGltZyxcbi5tZW51Lmljb24tdG9wIGksXG4ubWVudS5pY29uLXRvcCBzdmcsIC5tZW51Lmljb24tcmlnaHQgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBpLFxuLm1lbnUuaWNvbi1yaWdodCBzdmcsIC5tZW51Lmljb24tYm90dG9tIGltZyxcbi5tZW51Lmljb24tYm90dG9tIGksXG4ubWVudS5pY29uLWJvdHRvbSBzdmcsIC5tZW51Lmljb24tbGVmdCBpbWcsXG4ubWVudS5pY29uLWxlZnQgaSxcbi5tZW51Lmljb24tbGVmdCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLm1lbnUuaWNvbi10b3AgaW1nICsgc3Bhbixcbi5tZW51Lmljb24tdG9wIGkgKyBzcGFuLFxuLm1lbnUuaWNvbi10b3Agc3ZnICsgc3BhbiwgLm1lbnUuaWNvbi1yaWdodCBpbWcgKyBzcGFuLFxuLm1lbnUuaWNvbi1yaWdodCBpICsgc3Bhbixcbi5tZW51Lmljb24tcmlnaHQgc3ZnICsgc3BhbiwgLm1lbnUuaWNvbi1ib3R0b20gaW1nICsgc3Bhbixcbi5tZW51Lmljb24tYm90dG9tIGkgKyBzcGFuLFxuLm1lbnUuaWNvbi1ib3R0b20gc3ZnICsgc3BhbiwgLm1lbnUuaWNvbi1sZWZ0IGltZyArIHNwYW4sXG4ubWVudS5pY29uLWxlZnQgaSArIHNwYW4sXG4ubWVudS5pY29uLWxlZnQgc3ZnICsgc3BhbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGksXG4ubWVudS5uZXN0ZWQuaWNvbi1sZWZ0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZyxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4ubWVudS5pY29uLXRvcCBsaSBhIGksXG4ubWVudS5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaSxcbi5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAwLjI1cmVtO1xufVxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSwgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbi5tZW51Lmljb24tYm90dG9tIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4ubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC4yNXJlbSBhdXRvIDA7XG59XG4ubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6ICNjYzAwMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLm1lbnUgLmFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjY2MwMDAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5tZW51LmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLm1lbnUuYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0IC5zdWJtZW51IGxpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIC5zdWJtZW51IGxpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5tZW51LmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZW51LmFsaWduLWNlbnRlciAuc3VibWVudSBsaSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ubWVudSAubWVudS10ZXh0IHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IC5zdWJtZW51IGxpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZW51LWljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgY29udGVudDogXCJcIjtcbn1cbi5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjNjY2LCAwIDE0cHggMCAjNjY2O1xufVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4ubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzJlMzEzMDtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjMmUzMTMwLCAwIDE0cHggMCAjMmUzMTMwO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTtcbn1cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjY2MwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICByaWdodDogMXJlbTtcbn1cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiAjY2MwMDAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG59XG5cbi5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5pcy1kcmlsbGRvd24gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbn1cblxuLmRyaWxsZG93biBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG4uZHJpbGxkb3duIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjMDAwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgcmlnaHQ6IDFyZW07XG59XG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2NjMDAwMDtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87XG59XG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFyZW07XG59XG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6ICNjYzAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwO1xufVxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2NjMDAwMDtcbn1cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG59XG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbn1cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjYzAwMDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICNjYzAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjY2MwMDAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2NjMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjYzAwMDA7XG4gIH1cbn1cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC02cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG59XG4uZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjYzAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjYzAwMDA7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCB2aXNpYmlsaXR5IDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjI1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub2ZmLWNhbnZhcyB7XG4gIG91dGxpbmU6IDA7XG59XG4ub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cbi5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG59XG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2FhYWFhYTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuW2RhdGEtd2hhdGlucHV0PW1vdXNlXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIG91dGxpbmU6IDA7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gIHotaW5kZXg6IDEzO1xufVxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG59XG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAtMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG59XG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbn1cblxuLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xM3B4IDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCwgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbn1cbi5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNTBweDtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5odG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnJldmVhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5yZXZlYWwge1xuICBvdXRsaW5lOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG4ucmV2ZWFsLmNvbGxhcHNlIHtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwudGlueSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLnNtYWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwubGFyZ2Uge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAucmV2ZWFsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICB0b3A6IDA7XG59XG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG4uc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4udGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi50aXRsZS1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50b3AtYmFyIHtcbiAgcGFkZGluZzogMDtcbn1cbi50b3AtYmFyOjpiZWZvcmUsIC50b3AtYmFyOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi50b3AtYmFyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnRvcC1iYXIsXG4udG9wLWJhciB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcwLCAxNzAsIDE3MCwgMC44KTtcbn1cbi50b3AtYmFyIGlucHV0IHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbi50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udG9wLWJhciAudG9wLWJhci1sZWZ0LFxuLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMDtcbn1cbi50b3AtYmFyLXRpdGxlIC5tZW51LWljb24ge1xuICBib3R0b206IDJweDtcbn1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udG9wLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWRlLWZvci1kYXJrLW1vZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uc2hvdy1mb3ItaWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUtZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5zaG93LWZvci1zdGlja3kge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xufVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xufVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xufVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDtcbn1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50O1xufVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03O1xufVxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7XG4gIH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpO1xuICB9XG59XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47XG59XG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jY3ctMXR1cm47XG59XG5Aa2V5ZnJhbWVzIHNwaW4tY2N3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7XG4gIH1cbn1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZztcbn1cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTtcbiAgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTtcbiAgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB9XG59XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDtcbn1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7XG59XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbn1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50O1xufVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50O1xufVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50O1xufVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1sb2FkaW5nIC5zbGljay1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuL2FqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uc2xpY2stcHJldjpob3ZlciwgLnNsaWNrLXByZXY6Zm9jdXMsXG4uc2xpY2stbmV4dDpob3Zlcixcbi5zbGljay1uZXh0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG4uc2xpY2stcHJldjpiZWZvcmUsXG4uc2xpY2stbmV4dDpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4O1xufVxuW2Rpcj1ydGxdIC5zbGljay1wcmV2IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yNXB4O1xufVxuLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjtcbn1cbltkaXI9cnRsXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGklwiO1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDtcbn1cbltkaXI9cnRsXSAuc2xpY2stbmV4dCB7XG4gIGxlZnQ6IC0yNXB4O1xuICByaWdodDogYXV0bztcbn1cbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7XG59XG5bZGlyPXJ0bF0gLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjtcbn1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5zbGljay1kb3RzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIG1hcmdpbjogMCA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiBcIuKAolwiO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXNpemU6IDZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjI1O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4vLi4vaW1hZ2VzL3ZlbmRvcnMvYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc2xpY2stdHJhY2s6YmVmb3JlLCAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi5zbGljay10cmFjazphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG59XG5bZGlyPXJ0bF0gLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnNsaWNrLXNsaWRlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTtcbn1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDtcbn1cbi5tZnAtcHJlbG9hZGVyIGEge1xuICBjb2xvcjogI0NDQztcbn1cbi5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJ1dHRvbi5tZnAtY2xvc2UsIGJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTtcbn1cbi5tZnAtY2xvc2U6aG92ZXIsIC5tZnAtY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDtcbn1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogLTU0cHg7XG59XG4ubWZwLWFycm93OmhvdmVyLCAubWZwLWFycm93OmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7XG59XG4ubWZwLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgdG9wOiA4cHg7XG59XG4ubWZwLWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDtcbn1cbi5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzFweDtcbn1cbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7XG59XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDtcbn1cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzlweDtcbn1cbi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjtcbn1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgdG9wOiAtNDBweDtcbn1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cbi5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi5tZnAtZmlndXJlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDQwcHg7XG4gIGJvdHRvbTogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiAtMTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG59XG4ubWZwLWZpZ3VyZSBzbWFsbCB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbn1cbi5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvO1xufVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG59XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIH1cbn1cbiNmYyAuZmMtY2FydF9faXRlbV9fb3B0aW9uX192YWx1ZSxcbiNmYyAuZmMtY2FydF9faXRlbV9fb3B0aW9uX19uYW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAwLiBWYXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gR2VuZXJhbCAoRm91bmRhdGlvbiBPdmVycmlkZXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiA0OHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuYSB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudGFibGUge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbn1cblxudGFibGUgdHIgdGQsXG50YWJsZSB0aGVhZCB0ciB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUgdGhlYWQgdHIgdGgge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzcwNzA3MDtcbn1cblxuLmJnLWltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnByb2R1Y3QtcGFyYWdyYXBoIHtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uaW5mby0tbGltaXQge1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uaW5mby0taGVpZ2h0IHtcbiAgaGVpZ2h0OiA2ZW07XG59XG5cbi5wYXJhbGxheCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhcmFsbGF4IGgxLFxuLnBhcmFsbGF4IGgyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxLjhyZW07XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgdG9wOiAyNSU7XG59XG4ucGFyYWxsYXggLmltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLnBhcmFsbGF4IC5pbWcgLmJnLXRvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG59XG4ucGFyYWxsYXggLmltZzphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwLjQ7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi53aGl0ZS1wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuLndoaXRlLXBvcHVwIC5wb3B1cC1oZWFkZXIge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi53aGl0ZS1wb3B1cCAuYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5uby1yZXN1bHRzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB6LWluZGV4OiAxMDtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBub25lO1xufVxuLm92ZXJsYXktLW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDMuMnJlbTtcbn1cblxuLnByaW1hcnkge1xuICBjb2xvcjogI2JhMTcxNztcbn1cblxuLnByaW1hcnktYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xufVxuXG4ucHJpbWFyeS1idG4ge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDAuOHJlbSAxLjlyZW07XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5wcmltYXJ5LWJ0biBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5yZWQtYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xufVxuXG4uYmxhY2stZm9udCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ucmVkIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG5cbi53aGl0ZSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG59XG5cbi5uby1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gIGNvbG9yOiAjMzIzMjMyO1xufVxuXG4uYmxhY2ssXG4uYnV0dG9uLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmJ1dHRvbixcbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5mb250LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5mb250LWhlYXZ5IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLmZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZy1yZWNhcHRjaGEge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI2NhcHRjaGFDaGVjayB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBhZGRlZCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLnBhZGRlZC5leHRyYSB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cblxuLnBhZGRlZC5zaG9ydCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi5wYWRkZWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuXG4ucGFkZGVkLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuXG4uY29udGFpbmVyLXBhZGRpbmctLWIge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uLW5hdmlnYXRpb24gPiAuY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmFuY2hvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ubWVudS5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGl0bGUtYmFyLFxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udG9wLWJhcixcbi50b3AtYmFyIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi50b3AtYmFyIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gIGJvcmRlcjogMHB4O1xufVxuXG4uZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDBweDtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGE6aG92ZXIsXG4uZHJvcGRvd24ubWVudSA+IGxpID4gdWwgbGkgYTpob3Zlcixcbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpID4gdWwgbGkgYSB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwcmVtO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaW50LnNpdGUtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHtcbiAgLmludC5zaXRlLWNvbnRlbnQgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgfVxufVxuLyoqKioqKioqKiBWSURFTyAqKioqKioqKiovXG4jdmlkZW9zIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbiN2aWRlb3MgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuI3ZpZGVvcyBhOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuI3ZpZGVvcyBwIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG4jdmlkZW9zICNuZXh0LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4jdmlkZW9zICN2aWRlby1jb250YWluZXIgLmNvbHVtbiBhLCAjdmlkZW9zICN2aWRlby1jb250YWluZXIgLmNvbHVtbnMgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi53aGl0ZS1wb3B1cC53aGl0ZS1wb3B1cC0td2lkZSB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi5ob3Zlci1pdGVtLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbSAwO1xufVxuXG4uaG92ZXItaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaG92ZXItaXRlbTpob3ZlciAuaG92ZXItaXRlbV9faW1nIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5ob3Zlci1pdGVtX19oZWFkZXIge1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5ob3Zlci1pdGVtX19oZWFkZXIsXG4uaG92ZXItaXRlbSBoNiBzbWFsbCB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuLmhvdmVyLWl0ZW1fX2ltZyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC1hbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4ucG9wdXAtYmtnIC5tZnAtaW1nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnBvcHVwLWJrZyAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMwMDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB9XG59XG4uYnJlYWRjcnVtYnMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG4uYnJlYWRjcnVtYnMgdWwgbGkge1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5icmVhZGNydW1icyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmJyZWFkY3J1bWJzIHVsIGxpIGEge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuI3doZWVsIC5icmVhZGNydW1icyAucm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbiNsb2dpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG59XG4jbG9naW4gLmludi1kaXNjbGFpbWVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI2xvZ2luIGlucHV0IHtcbiAgbWF4LXdpZHRoOiA0MCU7XG59XG4jbG9naW4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiNsb2dpbiAucGFnZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDguIG1hZ25pZmljIHBvcHVwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1mcC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogaG9uZXlwb3QgKi9cbi5vaG5vaG9uZXkge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBsb2FkaW5nIHNwaW5uZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGRzLWVsbGlwc2lzLFxuLmxkcy1lbGxpcHNpcyBkaXYge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubGRzLWVsbGlwc2lzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGNvbG9yOiAjYjliOWI5O1xufVxuXG4ubGRzLWVsbGlwc2lzIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMy4zMzMzM3B4O1xuICB3aWR0aDogMTMuMzMzMzNweDtcbiAgaGVpZ2h0OiAxMy4zMzMzM3B4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDEsIDEsIDApO1xufVxuXG4ubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoMSkge1xuICBsZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogbGRzLWVsbGlwc2lzMSAwLjZzIGluZmluaXRlO1xufVxuXG4ubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoMikge1xuICBsZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogbGRzLWVsbGlwc2lzMiAwLjZzIGluZmluaXRlO1xufVxuXG4ubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoMykge1xuICBsZWZ0OiAzMnB4O1xuICBhbmltYXRpb246IGxkcy1lbGxpcHNpczIgMC42cyBpbmZpbml0ZTtcbn1cblxuLmxkcy1lbGxpcHNpcyBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgbGVmdDogNTZweDtcbiAgYW5pbWF0aW9uOiBsZHMtZWxsaXBzaXMzIDAuNnMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNHB4LCAwKTtcbiAgfVxufVxuLnQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi50LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC50LWNlbnRlci0tc20ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLnQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvbG9yLS1ncmF5IHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5tYXJnaW4tLXRiIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5wYWRkaW5nLS10YiB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5mLWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYm9yZGVyLWIge1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2JhMTcxNztcbn1cblxuLnByb2Nlc3Npbmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndoaXRlLXBvcHVwIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5kYXJrLXBvcHVwIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG59XG4uZGFyay1wb3B1cCAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oZWFkZXIgLnRvcC1iYXIge1xuICAvKnBhZGRpbmc6IDIxcHggMDsqL1xufVxuaGVhZGVyIC50b3AtYmFyIGEge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuaGVhZGVyIC50b3AtYmFyIC5ocC1idG4tbGlua3MgYSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMS44cmVtO1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuaGVhZGVyIC50b3AtYmFyLXRpdGxlIGltZyB7XG4gIG1heC13aWR0aDogMjAwcHg7XG59XG5oZWFkZXIgLmhlYWRlci1sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmhlYWRlciAuZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5oZWFkZXIgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbmhlYWRlciAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIHRvcDogNDhweCAhaW1wb3J0YW50O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEyMTJweCkge1xuICBoZWFkZXIgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogNDVweCAhaW1wb3J0YW50O1xuICB9XG59XG5oZWFkZXIgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuaGVhZGVyIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IGE6aG92ZXIge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbmhlYWRlciAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtc3VibWVudS1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZWZlZmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuaGVhZGVyIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG59XG5cbi8qLmRyb3Bkb3duLm1lbnU+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDE1NCU7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufSovXG4vKiBtb2JpbGUgKi9cbi5tZW51LWljb24uZGFyazpob3ZlcjphZnRlciwgLm1lbnUtaWNvbi5kYXJrOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xufVxuXG4vKiBNZWRpYSBRdWVyaWVzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwLjVyZW07XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGhlYWRlciAubWVudS5uYXYtc29jaWFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyLXRpdGxlIHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4O1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IHVsIHVsIGRpdiBkaXYge1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgdWwgdWwgZGl2IGRpdjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7XG4gIH1cbiAgaGVhZGVyLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM5OTk5OTksIDAgMTRweCAwICM5OTk5OTk7XG4gIH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjYycHgpIHtcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAzLiBUb3AgYmFyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI2hlYWRlciB7XG4gICAgaGVpZ2h0OiA0MC4yNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiNoZWFkZXIuc3RpY2t5LW1lbnUtb3BlbiB7XG4gIGhlaWdodDogNjQwcHggIWltcG9ydGFudDtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICB6LWluZGV4OiAxMDtcbiAgaGVpZ2h0OiA0MC4yNXB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIGhlaWdodDogODlweDtcbiAgfVxuICAuc3RpY2t5LWNvbnRhaW5lciAudG9wLWJhci1sZWZ0LCAuc3RpY2t5LWNvbnRhaW5lciAuaGVhZGVyLWxvZ28ge1xuICAgIGhlaWdodDogODhweDtcbiAgfVxufVxuLnN0aWNreS1jb250YWluZXIgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuaGVhZGVyLm1haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdmODI4MztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLmJhc2tldC1pY29uIHtcbiAgY29sb3I6ICNmZmNjMDA7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbn1cblxuaGVhZGVyIHtcbiAgLyovLy8gUGVuY2lsIE5hdmlnYXRpb24gLy8vKi9cbn1cbmhlYWRlciAucGVuY2lsLXRvcC1iYXIge1xuICBoZWlnaHQ6IDUxcHg7XG4gIGJhY2tncm91bmQ6ICNiYTE3MTc7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNzVkZWcsIGJsYWNrIDM1JSwgI2JhMTcxNyAzNSUsICNiYTE3MTcgNDAlKTtcbiAgLyogU3RhbmRhcmQgc3ludGF4ICovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIGhlYWRlciAucGVuY2lsLXRvcC1iYXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNzVkZWcsIGJsYWNrIDMzJSwgI2JhMTcxNyAzMyUsICNiYTE3MTcgNDAlKTtcbiAgfVxufVxuaGVhZGVyIC5wZW5jaWwtdG9wLWFubm91bmNlbWVudCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuaGVhZGVyIC5wZW5jaWwtdG9wLW1lbnUgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFyZW0gMC44cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICBoZWFkZXIgLnBlbmNpbC10b3AtbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIHBhZGRpbmc6IDFyZW0gMC4zcmVtO1xuICB9XG59XG5oZWFkZXIgLnBlbmNpbC10b3AtbWVudSAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGE6aG92ZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG5oZWFkZXIgLnBlbmNpbC10b3AtYW5ub3VuY2VtZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbmhlYWRlciAuYW5ub3VuY2VtZW50LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIGhlYWRlciAuYW5ub3VuY2VtZW50LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuaGVhZGVyIC5hbm5vdW5jZW1lbnQtc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIGhlYWRlciAuYW5ub3VuY2VtZW50LXNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuOTtcbiAgfVxufVxuaGVhZGVyIHtcbiAgLyovLy8gTWFpbiBOYXZpZ2F0aW9uIC8vLyovXG59XG5oZWFkZXIgLnRvcC1iYXIge1xuICAvKnBhZGRpbmc6IDE1cHg7Ki9cbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgaGVhZGVyIC50b3AtYmFyIHtcbiAgICAvKnBhZGRpbmc6IDIwcHggMCAxMHB4OyovXG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRyZW0pIHtcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjY2O1xuICB9XG59XG5oZWFkZXIgLnRvcC1iYXIgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICBjb2xvcjogIzJlMzEzMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0cmVtKSB7XG4gIGhlYWRlciAudG9wLWJhciAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbmhlYWRlciAudG9wLWJhciB7XG4gIC8qLmZpcnN0LXN1YiB7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAxMTklICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIH0qL1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NHJlbSkge1xuICBoZWFkZXIgLnRvcC1iYXIgLmhlYWRlci1sb2dvIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cbmhlYWRlciAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAudmVydGljYWwtcnVsZS1sZWZ0IHtcbiAgICBib3JkZXItbGVmdDogMXB4ICMyZTMxMzAgc29saWQ7XG4gIH1cbn1cblxuaGVhZGVyIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gIHBhZGRpbmc6IDAuMXJlbTtcbiAgbWFyZ2luOiAwIDAuNnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICBoZWFkZXIgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICBtYXJnaW46IDAgMC44NXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NHJlbSkge1xuICBoZWFkZXIgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMi4gSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogbW9iaWxlICovXG4ubWVudS1pY29uLmRhcms6aG92ZXI6YWZ0ZXIsIC5tZW51LWljb24uZGFyazphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbn1cblxuLyogTWVkaWEgUXVlcmllcyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMC41cmVtO1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIGhlYWRlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBoZWFkZXIgLm1lbnUubmF2LXNvY2lhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXItdGl0bGUgc3BhbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyLXRpdGxlIGltZyB7XG4gICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4O1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1yaWdodCAuaGVhZGVyLWN0YS10b3Age1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IC5oZWFkZXItY3RhLWJvdHRvbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgfVxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB1bCB1bCBkaXYgZGl2IHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IHVsIHVsIGRpdiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IC5kcm9wZG93bi5tZW51IC5zdWJtZW51IGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlO1xuICB9XG4gIGhlYWRlci5maXhlZCB7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gIH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOTk5OTk5LCAwIDE0cHggMCAjOTk5OTk5O1xuICB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIxMnB4KSB7XG4gIGhlYWRlciAudG9wLWJhciBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI2MnB4KSB7XG4gIGhlYWRlciAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4vKiBtb2JpbGUgKi9cbi5oZWFkZXItbG9nbyBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnRvcC1iYXItdGl0bGUge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLWJvdHRvbTogMCBzb2xpZCAjMGEwYTBhO1xufVxuLnRvcC1iYXItdGl0bGUgLm1lbnUtaWNvbjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbn1cblxuLm1lbnUtb3Blbi50b3AtYmFyLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xufVxuLm1lbnUtb3BlbiAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgbWF4LXdpZHRoOiA5NHB4O1xufVxuXG4uaXMtZHJvcGRvd24tbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cbmhlYWRlciAuaXMtZHJvcGRvd24tbWVudSAuaXMtZHJpbGxkb3duIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSwgaGVhZGVyIC5pcy1kcm9wZG93bi1tZW51IC5pcy1kcmlsbGRvd24gLnN1Ym1lbnUgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBSaWdodCBCYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oZWFkZXIgLmhlYWRlci1jdGEge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbmhlYWRlciAuaGVhZGVyLWN0YSBhIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmhlYWRlciAuaGVhZGVyLWN0YSBhOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtdG9wIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtdG9wIGEge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAwLjk3MzVyZW07XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtbG9naW4ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM3ZjgyODM7XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtbG9naW4gaSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDAuODVyZW07XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmhlYWRlciAuaGVhZGVyLWN0YS1zb2NpYWwgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbn1cbmhlYWRlciAuaGVhZGVyLWN0YS1zb2NpYWwgbGkge1xuICBtYXJnaW46IDAgMXB4O1xufVxuaGVhZGVyIC5oZWFkZXItY3RhLXNvY2lhbCBhIHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07XG59XG5oZWFkZXIgLmhlYWRlci1jdGEtc29jaWFsIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbmhlYWRlciAuaGVhZGVyLWN0YS1zb2NpYWwgYSBpbWcge1xuICB3aWR0aDogNzUlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubm8tanMgLnRvcC1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5vLWpzICNyZXNwb25zaXZlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5uby1qcyAudGl0bGUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBIZWFkZXIgLSBIb21lcGFnZSBvbmx5XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyouc3RpY2t5LWNvbnRhaW5lci5ocCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBvcGFjaXR5OjA7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgfVxufSovXG5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgfVxufVxuZm9vdGVyIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuZm9vdGVyIGEge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmZvb3RlciBsaSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgbWFyZ2luOiAwO1xufVxuLmZvb3Rlci10b3Age1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbn1cbi5mb290ZXItdG9wIC5yb3cge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mb290ZXItdG9wIC5yb3cge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG4uZm9vdGVyLXRvcCAucm93ID4gZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mb290ZXItdG9wIC5yb3cgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbi5mb290ZXItbG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZvb3Rlci1sb2dvIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuLmZvb3RlciAuZGlzY2xhaW1lciBwIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNXJlbTtcbn1cbi5mb290ZXIgLmRpc2NsYWltZXIgcCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4uZm9vdGVyLWRlYWxlci1saW5rcy10aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uZm9vdGVyLW5ld3NsZXR0ZXIge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLmZvb3Rlci1uZXdzbGV0dGVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4uZm9vdGVyLW5ld3NsZXR0ZXIgaW5wdXQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbi5mb290ZXItbmV3c2xldHRlciBpbnB1dC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBjb2xvcjogI2JhMTcxNztcbn1cbi5mb290ZXItbmV3c2xldHRlciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5mb290ZXItbmV3c2xldHRlciAjbWNlLXJlc3BvbnNlcyB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5mb290ZXItY3RhLWNvbnRhaW5lciA+IC5yb3cuc29jaWFsLWxpbmstaGFzaHRhZyB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5mb290ZXItY3RhLWNvbnRhaW5lciA+IC5yb3cuc29jaWFsLWxpbmstaGFzaHRhZyBhIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5mb290ZXItYm90dG9tIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuLmZvb3Rlci1ib3R0b20gLmRpc2NsYWltZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZm9vdGVyLWN0YS1jb250YWluZXIgPiAucm93IC5jb2xsYXBzZSAuc21hbGwtdXAtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmMTtcbn1cblxuLmZvb3Rlci1yZXR1cm4ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IC0xOHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZvb3Rlci1yZXR1cm4ge1xuICAgIG1hcmdpbi10b3A6IC04MXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbi5mb290ZXItcmV0dXJuIGEge1xuICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICB6LWluZGV4OiAxO1xuICAvKiBSb3RhdGUgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAvKiBSb3RhdGUgT3JpZ2luICovXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZm9vdGVyLXJldHVybiBhIGkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBmb250LXNpemU6IDJyZW07XG59XG4uZm9vdGVyLXJldHVybiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYyAhaW1wb3J0YW50O1xuICBjb2xvcjogI2JhMTcxNyAhaW1wb3J0YW50O1xufVxuXG4uZm9vdGVyLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MDcwNzA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG4uZm9vdGVyLWN0YS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmYxO1xufVxuLmZvb3Rlci1jdGEgPiBkaXYge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLmZvb3Rlci1jdGEgdWwge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZm9vdGVyLWN0YSBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuLmZvb3Rlci1jdGEtY29udGFpbmVyIC5yb3cgPiBkaXYge1xuICAvKiAmOmZpcnN0LWNoaWxkIHtcbiAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkd2hpdGU7XG4gICB9Ki9cbn1cbi5mb290ZXItY3RhLWNvbnRhaW5lciA+IC5yb3cge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG4uZm9vdGVyLWN0YS10aXRsZSBoNCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmZvb3Rlci1jdGEtc29jaWFsIGEsIC5mb290ZXItY3RhLW5ld3NsZXR0ZXIgYSB7XG4gIHdpZHRoOiA2NXB4O1xuICBoZWlnaHQ6IDY1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzcwNzA3MDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmZvb3Rlci1jdGEtc29jaWFsLWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzA3MDcwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZm9vdGVyLWN0YS1zb2NpYWwtbGluayB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cbn1cbi5mb290ZXItY3RhLWNvbnRhaW5lciAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIC5mb290ZXItY3RhLXNvY2lhbC1saW5rLCAuZm9vdGVyLWN0YS1jb250YWluZXIgLnJvdyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQgLmZvb3Rlci1jdGEtc29jaWFsLWxpbmsge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uZm9vdGVyLWN0YS1pY29uIHtcbiAgd2lkdGg6IDY1cHg7XG4gIGhlaWdodDogNjVweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzA3MDcwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDJyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZm9vdGVyLWN0YS1pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4uZm9vdGVyLWN0YS10ZXh0IHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4uaG9tZS1zbGlkZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5ob21lLXNsaWRlci1jb250YWluZXIgLnNsaWNrLXNsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZS1zbGlkZXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhlcm8ge1xuICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICB9XG59XG4uaGVyby1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaGVybyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5oZXJvIC52aWRlby55b3V0dWJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTQuNyU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlcm8gLnZpZGVvLnlvdXR1YmUgZW1iZWQsIC5oZXJvIC52aWRlby55b3V0dWJlIG9iamVjdCwgLmhlcm8gLnZpZGVvLnlvdXR1YmUgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5oZXJvLWJrZyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhlcm8tYmtnIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG59XG5cbi5oZXJvLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xufVxuLmhlcm8tb3ZlcmxheS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGVyby1vdmVybGF5LWNvbnRlbnQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGVyby1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuLmhlcm8tb3ZlcmxheS1pbmZvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTAyLCAxNzgpO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oZXJvLW92ZXJsYXktaW5mbyB7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlcm8tb3ZlcmxheS1pbmZvIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTAyLCAxNzgsIDAuOCk7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDYlIDAsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig2JSAwLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gIH1cbn1cbi5oZXJvLW92ZXJsYXktaW5mby0tc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oZXJvLW92ZXJsYXktaW5mby0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMS40M3JlbTtcbiAgfVxufVxuLmhlcm8tb3ZlcmxheS1pbmZvLS1tZWRpdW0ge1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhlcm8tb3ZlcmxheS1pbmZvLS1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG59XG4uaGVyby1vdmVybGF5LWluZm8tLWxhcmdlIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVyby1vdmVybGF5LWluZm8tLWxhcmdlIHtcbiAgICBmb250LXNpemU6IDQuNnJlbTtcbiAgfVxufVxuLmhlcm8tb3ZlcmxheS1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oZXJvLW92ZXJsYXktaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuLmhlcm8tb3ZlcmxheS1kZXNjIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhlcm8tb3ZlcmxheS1kZXNjIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5oZXJvLWJ0biB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGVyby1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGVyby1idG4ge1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gIH1cbn1cblxuLmN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIHBhZGRpbmc6IDFyZW0gMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmN0YSB7XG4gICAgcGFkZGluZzogM3JlbSAycmVtO1xuICB9XG59XG4uY3RhIC5jb2x1bW4sIC5jdGEgLmNvbHVtbnMge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi5jdGEgLmNvbHVtbjpudGgtY2hpbGQoNSksIC5jdGEgLmNvbHVtbnM6bnRoLWNoaWxkKDUpLCAuY3RhIC5jb2x1bW46bGFzdC1jaGlsZCwgLmN0YSAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY3RhIC5jb2x1bW4sIC5jdGEgLmNvbHVtbnMge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cbi5jdGEgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbi5jdGEgYSAuY3RhLWJnOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5jdGEgYTpob3ZlciAuY3RhLWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDUlO1xufVxuLmN0YSBhOmhvdmVyIC5jdGEtYmc6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuLmN0YS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uY3RhLWJnOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG4uY3RhLWl0ZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDkwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY3RhLWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uY3RhLXRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmN0YS1tYWluIGEge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmhwIC5jdGEtYmFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaHAgLmN0YS1iYXIge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgfVxufVxuLmhwIC5jdGEtYmFyIC5idXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaHAgLmN0YS1iYXIgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiA1MzBweDtcbiAgfVxufVxuLmhwIC5jdGEtYmFyIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5ocCAuY3RhLWJhciAuYnV0dG9uIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbi5ocCAuY3RhLWJhci5pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhMTcxNztcbn1cbi5ocCAuY3RhLWJhci5pbnZlcnNlIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xufVxuLmhwIC5jdGEtYmFyLmludmVyc2UgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG59XG5cbi52ZWhpY2xlLXNlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG4udmVoaWNsZS1zZWxlY3RfX3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAudmVoaWNsZS1zZWxlY3RfX3RvcCB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWFhYWFhO1xuICB9XG59XG4udmVoaWNsZS1zZWxlY3RfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbWFyZ2luOiAwO1xufVxuLnZlaGljbGUtc2VsZWN0X19pY29uIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4udmVoaWNsZS1zZWxlY3RfX2xpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi52ZWhpY2xlLXNlbGVjdF9fbGlua3MgYSB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC52ZWhpY2xlLXNlbGVjdF9fbGlua3MgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4udmVoaWNsZS1zZWxlY3RfX2JvdHRvbSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnZlaGljbGUtc2VsZWN0X19ib3R0b20ge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgfVxufVxuLnZlaGljbGUtc2VsZWN0IC5zZWxlY3Qge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xufVxuLnZlaGljbGUtc2VsZWN0IC5zZWxlY3Q6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG4uaG9tZS1wYW5lbHNfX2xlZnQsIC5ob21lLXBhbmVsc19fY2VudGVyLCAuaG9tZS1wYW5lbHNfX3JpZ2h0IHtcbiAgbWluLWhlaWdodDogMzk2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ob21lLXBhbmVsc19fbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWFnZXMvaG9tZS9wYW5lbC1sZWZ0LmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5ob21lLXBhbmVsc19fY2VudGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9ob21lL3BhbmVsLWNlbnRlci5qcGdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwcmVtKSB7XG4gIC5ob21lLXBhbmVsc19fY2VudGVyIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICB9XG59XG4uaG9tZS1wYW5lbHNfX3JpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltYWdlcy9ob21lL3BhbmVsLXJpZ2h0LmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5ob21lLXBhbmVsc19fYnRuIHtcbiAgYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4udGV4dC1iYW5uZXIge1xuICBwYWRkaW5nOiAzcmVtIDA7XG59XG4udGV4dC1iYW5uZXJfX2hlYWRlciB7XG4gIGNvbG9yOiAjMmUzMTMwO1xuICBmb250LXNpemU6IDIuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnRleHQtYmFubmVyLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhMTcxNztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG4udGV4dC1iYW5uZXItLXByaW1hcnlfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW46IDA7XG59XG5cbi5ob21lLXZlaGljbGUtcGFja2FnZXNfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMi45cmVtO1xufVxuLmhvbWUtdmVoaWNsZS1wYWNrYWdlcyAuY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMS4ycmVtO1xufVxuLmhvbWUtdmVoaWNsZS1wYWNrYWdlc19faW1nIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmhvbWUtdmVoaWNsZS1wYWNrYWdlc19faW1nOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHJvdGF0ZSgtM2RlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5ob21lLXZlaGljbGUtcGFja2FnZXMgLnZlaGljbGUtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZmVhdHVyZWQtd2hlZWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mZWF0dXJlZC13aGVlbHMge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgfVxufVxuLmZlYXR1cmVkLXdoZWVscy1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLmZlYXR1cmVkLXdoZWVscy1oZWFkZXIgaDIge1xuICBmb250LXdlaWdodDogOTAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDEuOXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mZWF0dXJlZC13aGVlbHMtaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgfVxufVxuLmZlYXR1cmVkLXdoZWVscy1oZWFkZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDYwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZWQtd2hlZWxzLWhlYWRlcjphZnRlciB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuLmZlYXR1cmVkLXdoZWVscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA1MCUpO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZWQtd2hlZWxzLWNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMjAlKTtcbiAgfVxufVxuLmZlYXR1cmVkLXdoZWVscyAuaW5mbyBoNiB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZlYXR1cmVkLXdoZWVscyAuaW5mbyBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZWQtd2hlZWxzIC5pbmZvIGg2IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbn1cbi5mZWF0dXJlZC13aGVlbHMgLmluZm8gaDYgc3BhbiB7XG4gIGNvbG9yOiAjN2Y4MjgzO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5mZWF0dXJlZC13aGVlbHMgLmluZm8gaDYgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mZWF0dXJlZC13aGVlbHMgLmluZm8gaDYgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gIH1cbn1cblxuI2ZlYXR1cmVkLXNsaWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZmVhdHVyZWQtc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmZlYXR1cmVkLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mZWF0dXJlZC1wcmV2LCAuZmVhdHVyZWQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4OyovXG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM3ZjgyODM7XG4gIHRvcDogMzUlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmZlYXR1cmVkLXByZXYsIC5mZWF0dXJlZC1uZXh0IHtcbiAgICB0b3A6IDQwJTtcbiAgfVxufVxuLmZlYXR1cmVkLXByZXY6aG92ZXIsIC5mZWF0dXJlZC1uZXh0OmhvdmVyIHtcbiAgY29sb3I6ICM3ZjgyODM7XG59XG4uZmVhdHVyZWQtcHJldiB7XG4gIGxlZnQ6IC01cHg7XG59XG4uZmVhdHVyZWQtcHJldiBpbWcge1xuICB3aWR0aDogMzBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5mZWF0dXJlZC1wcmV2IHtcbiAgICBsZWZ0OiAtNzBweDtcbiAgfVxuICAuZmVhdHVyZWQtcHJldiBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uZmVhdHVyZWQtbmV4dCB7XG4gIHJpZ2h0OiAtNXB4O1xufVxuLmZlYXR1cmVkLW5leHQgaW1nIHtcbiAgd2lkdGg6IDMwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmVhdHVyZWQtbmV4dCB7XG4gICAgcmlnaHQ6IC03MHB4O1xuICB9XG4gIC5mZWF0dXJlZC1uZXh0IGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBwYWRkaW5nOiAxcmVtIDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5uZXdzbGV0dGVyIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICB9XG59XG4ubmV3c2xldHRlci0tcG9zaXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5uZXdzbGV0dGVyLS1wb3NpdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLm5ld3NsZXR0ZXJfX2hlYWRlciB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubmV3c2xldHRlcl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zaWdudXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zaWdudXBfX2lucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG59XG4uc2lnbnVwX19pbnB1dC0tZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgXCJyb2JvdG9cIjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLnNpZ251cF9fYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaG9tZS1nYWxsZXJ5IHtcbiAgbWluLWhlaWdodDogNjk1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5ob21lLWdhbGxlcnk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG4uaG9tZS1nYWxsZXJ5X19iZyB7XG4gIG1heC1oZWlnaHQ6IDY5NXB4O1xuICB6LWluZGV4OiAtMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ob21lLWdhbGxlcnlfX2JnLS1wYWRkaW5nIHtcbiAgcGFkZGluZzogMC4xNXJlbTtcbn1cbi5ob21lLWdhbGxlcnlfX3RleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTAwJTtcbn1cbi5ob21lLWdhbGxlcnlfX2hlYWRlciwgLmhvbWUtZ2FsbGVyeV9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5ob21lLWdhbGxlcnlfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xufVxuLmhvbWUtZ2FsbGVyeV9fZGVzY3JpcHRpb24ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uaW5zdGFncmFtLWZlZWQgLmluc3RhZ3JhbS1oZWFkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhMGEwYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwYTBhMGE7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4uaW5zdGFncmFtLWZlZWQgLmluc3RhZ3JhbS1oZWFkZXIgaDIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW5zdGFncmFtLWZlZWQgLmVhcHBzLWluc3RhZ3JhbS1mZWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiYTE3MTc7XG59XG5cbi5pbnN0YWdyYW0tY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDZyZW07XG59XG4uaW5zdGFncmFtLWNvbnRhaW5lciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5pbnN0YWdyYW0tcG9wdXAge1xuICBtYXgtd2lkdGg6IDgwcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uaW5zdGFncmFtLXBvcHVwID4gZGl2IHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4uaW5zdGFncmFtLXBvcHVwLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbn1cbi5pbnN0YWdyYW0tcG9wdXAtcHJvZmlsZXBpYyB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5pbnN0YWdyYW0tcG9wdXAtcGFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaW5zdGFncmFtLXBvcHVwLXBhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6IDE7XG59XG4uaW5zdGFncmFtLXBvcHVwLXBhZ2U6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLmluc3RhZ3JhbS1wb3B1cC1saW5rIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5pbnN0YWdyYW0tcG9wdXAgLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaHAgLnBhcmFsbGF4IHtcbiAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgfVxufVxuLmhwIC5wYXJhbGxheCAuaW1nIHtcbiAgaGVpZ2h0OiAxMDAwcHg7XG59XG4uaHAgLnBhcmFsbGF4LTAxIC5pbWcge1xuICBib3R0b206IDUwJTtcbn1cbi5ocCAucGFyYWxsYXgtMDIgLmltZyB7XG4gIGJvdHRvbTogMTQwJTtcbn1cbi5ocCAucGFyYWxsYXgtMDMge1xuICBtaW4taGVpZ2h0OiAxMDAwcHg7XG59XG4uaHAgLnBhcmFsbGF4LTAzIC5pbWcge1xuICBib3R0b206IDIwJTtcbiAgaGVpZ2h0OiAyMDAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbn1cbi5ocCAucGFyYWxsYXgtMDMgLmltZzphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ocCAucGFyYWxsYXgtcGx1cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaHAgLnBhcmFsbGF4LXBsdXMgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgcGFkZGluZy10b3A6IDglO1xuICBwYWRkaW5nLWJvdHRvbTogOCU7XG59XG4uaHAgLnBhcmFsbGF4LXBsdXMgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZC1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5ocCAucGFyYWxsYXgtcGx1cyAucGFyYWxsYXgtcGx1cy1mb3JlZ3JvdW5kLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaHAgLnBhcmFsbGF4LXBsdXMgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZC1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWZvcmVncm91bmQtbG9nbyBpbWcge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWZvcmVncm91bmQtbG9nbyBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uaHAgLnBhcmFsbGF4LXBsdXMgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZC10ZXh0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC44Mzc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWZvcmVncm91bmQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaHAgLnBhcmFsbGF4LXBsdXMgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWZvcmVncm91bmQtdGV4dCAuZG90IHtcbiAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWJhY2tncm91bmQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuLmhwIC5wYXJhbGxheC1wbHVzIC5wYXJhbGxheC1wbHVzLWJhY2tncm91bmQtY29udGFpbmVyIC5wYXJhbGxheC1wbHVzLWltYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDgwMHB4O1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbn1cblxuLmhwIC52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwYWRkaW5nLXRvcDogOCU7XG4gIHBhZGRpbmctYm90dG9tOiA4JTtcbn1cbi5ocCAudmlkZW8gLnZpZGVvLWZvcmVncm91bmQtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4uaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLWxvZ28gaW1nIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLWxvZ28gaW1nIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ocCAudmlkZW8gLnZpZGVvLWZvcmVncm91bmQtbG9nbyBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLXRleHQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAwLjgzNzVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaHAgLnZpZGVvIC52aWRlby1mb3JlZ3JvdW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhwIC52aWRlbyAudmlkZW8tZm9yZWdyb3VuZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuLmhwIC52aWRlbyAudmlkZW8tZm9yZWdyb3VuZC10ZXh0IC5kb3Qge1xuICBtYXJnaW46IDAgMC41cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDJyZW07XG59XG4uaHAgLnZpZGVvIC52aWRlby1iYWNrZ3JvdW5kLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOCU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLTglO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5hY2NvcmRpb24tZmlsdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuLmFjY29yZGlvbi1maWx0ZXJfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG59XG4uYWNjb3JkaW9uLWZpbHRlcl9faGVhZGVyLS1tb2JpbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5hY2NvcmRpb24tZmlsdGVyX19jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYWNjb3JkaW9uLWZpbHRlcl9fZHJvcGRvd24ge1xuICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG59XG4uYWNjb3JkaW9uLWZpbHRlcl9fZHJvcGRvd24gc2VsZWN0IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwcmVtIGNlbnRlcjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hY2NvcmRpb24tZmlsdGVyX19kcm9wZG93biBzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXJfX2Ryb3Bkb3duIHNlbGVjdCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4uYWNjb3JkaW9uLWZpbHRlcl9fYnRuIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjY1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5hY2NvcmRpb24tZmlsdGVyX19idG4ge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG4uc2VsZWN0ZWRWZWhpY2xlQmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xufVxuLnNlbGVjdGVkVmVoaWNsZUJhciAubGF5b3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zZWxlY3RlZFZlaGljbGVCYXIgLmxheW91dCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLnNlbGVjdGVkVmVoaWNsZUJhciBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbn1cbi5zZWxlY3RlZFZlaGljbGVCYXIgLnJvdy0tc21hbGwge1xuICBtYXgtd2lkdGg6IDY3cmVtO1xufVxuLnNlbGVjdGVkVmVoaWNsZUJhcl9fY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbi5zZWxlY3RlZFZlaGljbGVCYXJfX2NvbnRlbnQtLW5vTWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNlbGVjdGVkVmVoaWNsZUJhcl9fY29udGVudCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gYXV0byAwO1xuICB9XG59XG4uc2VsZWN0ZWRWZWhpY2xlQmFyX190ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2VsZWN0ZWRWZWhpY2xlQmFyX190ZXh0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5zZWxlY3RlZFZlaGljbGVCYXJfX3NwYW4ge1xuICBjb2xvcjogIzZhNmE2YTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zZWxlY3RlZFZlaGljbGVCYXJfX2J0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLnNlbGVjdGVkVmVoaWNsZUJhci0tc21hbGxlciB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ucGVuY2lsLXRvcC1zZWFyY2gge1xuICBwYWRkaW5nOiAxMXB4IDA7XG59XG5cbi5uYXYtc2VhcmNoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5hdi1zZWFyY2gge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi5zZWFyY2gtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG59XG4uc2VhcmNoLWxpbmtfX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICB0b3A6IDAuMnJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuc2VhcmNoLWxpbmtfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2VhcmNoLWxpbmtfX3RleHQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICB9XG59XG5cbi5zZWFyY2gtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2VhcmNoLWljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB9XG59XG5cbi5zZWFyY2gtYm94IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuN3JlbTtcbiAgd2lkdGg6IDQyM3B4O1xuICB6LWluZGV4OiAxMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuc2VhcmNoLWJveCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG59XG5cbi5zZWFyY2gtYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuI3doZWVscyAucHJvZHVjdHMtbGlzdCwgI3doZWVsLWJyYW5kcyAucHJvZHVjdHMtbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuI3doZWVscyAuaG92ZXItaXRlbSBoNiwgI3doZWVsLWJyYW5kcyAuaG92ZXItaXRlbSBoNiB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbiN3aGVlbHMgLmhvdmVyLWl0ZW06aG92ZXIgaDYsICN3aGVlbC1icmFuZHMgLmhvdmVyLWl0ZW06aG92ZXIgaDYge1xuICBjb2xvcjogIzdmODI4Mztcbn1cblxuI3doZWVsLWJyYW5kcyAucHJvZHVjdHMtbGlzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG4jd2hlZWwtYnJhbmRzIC5wcm9kdWN0cy1saXN0IGE6aG92ZXIgaDYge1xuICBjb2xvcjogIzdmODI4Mztcbn1cbiN3aGVlbC1icmFuZHMgLnByb2R1Y3RzLWxpc3QgYSBoNiB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbiN3aGVlbC1icmFuZHMgLnByb2R1Y3RzLWxpc3QgLmhvdmVyLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbiN3aGVlbC1icmFuZHMgLnByb2R1Y3RzLWxpc3QgLmhvdmVyLWl0ZW0gLmNhdGVnb3J5LXN1YnRpdGxlIHtcbiAgd2lkdGg6IDUwJTtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cbiN3aGVlbC1icmFuZHMgLmNvbnRhaW5lciAuc2hvcnQucGFkZGVkLnJvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi53aGVlbHMtYnktYnJhbmQge1xuICB3aWR0aDogNDglO1xuICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgZmxvYXQ6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC53aGVlbHMtYnktYnJhbmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi53aGVlbHMtYnktYnJhbmQ6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jd2hlZWxzIC5wYWdlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuI3doZWVscyAucHJvZHVjdHMtbGlzdCAud2hlZWwtbmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jd2hlZWxzIC5wcm9kdWN0cy1saXN0IC53aGVlbC1maW5pc2gge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI3doZWVscyAucHJvZHVjdHMtbGlzdCAud2hlZWwtZGl2aWRlciB7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDQwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmExNzE3IDAlLCAjYmExNzE3IDUwJSwgIzBhMGEwYSA1MSUsICMwYTBhMGEgMTAwJSk7XG59XG4jd2hlZWxzIC5wcm9kdWN0cy1saXN0IC5ob3Zlci1pdGVtLWxpbms6aG92ZXIgLndoZWVsLWZpbmlzaCB7XG4gIGNvbG9yOiAjN2Y4MjgzO1xufVxuI3doZWVscyAucHJvZHVjdHMtbGlzdCAuaG92ZXItaXRlbS1saW5rOmhvdmVyIC53aGVlbC1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZDogIzdmODI4Mztcbn1cblxuI3doZWVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbiN3aGVlbCAucm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbiN3aGVlbCAucGFnZS1oZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG59XG4jd2hlZWwgLnBhZ2UtaGVhZGVyIGltZyB7XG4gIG1heC1oZWlnaHQ6IDgwcHg7XG59XG4jd2hlZWwgI2RldGFpbC10b3Age1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cbiN3aGVlbCAud2hlZWwtc2l6ZXMge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuI3doZWVsIC53aGVlbC1zaXplcyBzcGFuIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiN3aGVlbCAud2hlZWwtZGV0YWlscyB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xufVxuI3doZWVsIC53aGVlbC1kZXRhaWxzIC53aGVlbC1wYXJhZ3JhcGgge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuI3doZWVsIC53aGVlbC1kZXRhaWxzIC53aGVlbC1wYXJhZ3JhcGggc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuI3doZWVsIC5sb2FkaW5nSW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG59XG4jd2hlZWwgLmpzLXNsaWRlciAuc2xpY2stc2xpZGUgPiBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1zbGlkZSAud2hlZWwtZ2FsbGVyeUltYWdlIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1zbGlkZSAudmlkZW8taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjc1cmVtO1xuICBjb2xvcjogI2NjY2NjYztcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xufVxuI3doZWVsIC5qcy1zbGlkZXIgLnNsaWNrLWFycm93IHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYTBhMGE7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluO1xuICB0b3A6IDM1JTtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdyBpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICB9XG4gICN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdyBpIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgdG9wOiA0NSU7XG4gIH1cbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdy5mZWF0dXJlZC1uZXh0IHtcbiAgcmlnaHQ6IDBweDtcbn1cbiN3aGVlbCAuanMtc2xpZGVyIC5zbGljay1hcnJvdy5mZWF0dXJlZC1wcmV2IHtcbiAgbGVmdDogMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3doZWVsIC5qcy1zbGlkZXIgLnNsaWNrLWFycm93LmZlYXR1cmVkLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgfVxuICAjd2hlZWwgLmpzLXNsaWRlciAuc2xpY2stYXJyb3cuZmVhdHVyZWQtcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gIH1cbn1cblxuLndoZWVsLWRldGFpbC1nYWxsZXJ5LXBvcHVwIC5tZnAtdGl0bGUge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbn1cbi53aGVlbC1kZXRhaWwtZ2FsbGVyeS1wb3B1cCAubWZwLXRpdGxlIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZ2FsbGVyeS1wb3B1cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5nYWxsZXJ5LXBvcHVwIC5nYWxsZXJ5Vmlldy1pbmZvIHtcbiAgY29sb3I6ICNjY2M7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLmdhbGxlcnktcG9wdXAgLmdhbGxlcnlWaWV3LWluZm8gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmdhbGxlcnktcG9wdXAgLnBvcHVwLWNhciB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5nYWxsZXJ5LXBvcHVwIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbHQtaW1hZ2VzIC5zbGljay1zbGlkZSB7XG4gICAgLyp3aWR0aDogMTAwJSAhaW1wb3J0YW50OyovXG4gIH1cbn1cbi5kZXRhaWwtdGh1bWIgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAuMjVyZW07XG59XG4uZGV0YWlsLXRodW1iIC5maW5pc2gtbmFtZSB7XG4gIGNvbG9yOiAjMmUzMTMwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cbi5kZXRhaWwtdGh1bWIgaW1nIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uZGV0YWlsLXRodW1iIGltZzpob3ZlciB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbn1cblxuI3NwZWNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5zZWUtb24tdmVoaWNsZS1jb250YWluZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDAuMnJlbTtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbn1cblxuLnNlZS1vbi12ZWhpY2xlLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VlLW9uLXZlaGljbGUtc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudGFibGUge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG50YWJsZSB0ciB0ZCxcbnRhYmxlIHRyIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxudGFibGUgdHIgdGgge1xuICBiYWNrZ3JvdW5kOiAjYWFhYWFhO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAjd2hlZWwgLmJhbm5lci10b3AgLndoZWVsLWJhbm5lciB7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICB9XG4gICN3aGVlbCAuYmFubmVyLXRvcCAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgdG9wOiA5MCU7XG4gIH1cbiAgI3doZWVsIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZmluaXNoLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1haW4taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm1haW4taW1hZ2UgaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4ubWFpbi1pbWFnZSAuc2xpY2stZG90cyBsaSB7XG4gIG1hcmdpbjogMCAycHg7XG59XG4ubWFpbi1pbWFnZSAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuLm1haW4taW1hZ2UgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMi43NXJlbTtcbn1cblxuLmFsdC1pbWFnZXMge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYWx0LWltYWdlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5hbHQtaW1hZ2VzIC5zbGljay10cmFjayB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmFsdC1pbWFnZXMgLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5hbHQtaW1hZ2VzIC5zbGljay1zbGlkZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG4uYWx0LWltYWdlcyBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwLjdyZW07XG59XG4uYWx0LWltYWdlcyBpbWcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgbWF4LWhlaWdodDogOTBweDtcbn1cbi5hbHQtaW1hZ2VzIGltZzpob3ZlciB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbn1cblxuLndoZWVsLXNwZWNzIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi53aGVlbC1zcGVjc19faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ud2hlZWwtc3BlY3NfX2RldGFpbHMge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRldGFpbC1zcGVjLXRhYnMge1xuICBib3JkZXI6IG5vbmU7XG59XG4uZGV0YWlsLXNwZWMtdGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLmRldGFpbC1zcGVjLXRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwO1xufVxuLmRldGFpbC1zcGVjLXRhYnMgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5kZXRhaWwtc3BlYy10YWJzIGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwLjZyZW0gMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBjb2xvcjogIzY2Njtcbn1cbi5kZXRhaWwtc3BlYy10YWJzIGFbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmRldGFpbC1zcGVjLXRhYnMgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnAtdG9nZ2xlLWJ0biB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuXG4ud2hlZWwtZGV0YWlsLXRpdGxlIGgxIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC53aGVlbC1kZXRhaWwtdGl0bGUgaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuLndoZWVsLWRldGFpbC10aXRsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLndoZWVsLWRldGFpbC10aXRsZS1jb250YWluZXIgLndoZWVsLWluZm8gLndoZWVsLXNwZWMtc3VtbWFyeSB7XG4gIGJvcmRlcjogMDtcbn1cbi53aGVlbC1kZXRhaWwtdGl0bGUtY29udGFpbmVyIC53aGVlbC1icmFuZCBpbWcge1xuICBtYXgtaGVpZ2h0OiA5MHB4O1xufVxuXG4ud2hlZWwtaW5mbyB7XG4gIHBhZGRpbmc6IDA7XG59XG4ud2hlZWwtaW5mb19faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAud2hlZWwtaW5mb19faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW46IDAgMC41cmVtIDFyZW07XG4gIH1cbn1cbi53aGVlbC1pbmZvX19oZWFkZXItLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4ud2hlZWwtaW5mbyAud2hlZWwtZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDAgMS43NXJlbTtcbn1cbi53aGVlbC1pbmZvIC53aGVlbC1kZXNjcmlwdGlvbiAucHJvZHVjdC1wYXJhZ3JhcGgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbi53aGVlbC1pbmZvIC53aGVlbC1kZXNjcmlwdGlvbiAucHJvZHVjdC1wYXJhZ3JhcGguZXhwYW5kZWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi53aGVlbC1pbmZvIC53aGVlbC1kZXNjcmlwdGlvbiAudG9nZ2xlLWJ0biB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ud2hlZWwtaW5mbyAud2hlZWwtc3BlYy1zdW1tYXJ5IHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2JhMTcxNztcbn1cbi53aGVlbC1pbmZvIC53aGVlbC1zcGVjLXN1bW1hcnkgc3BhbiB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnNrdS5kZXRhaWwgLmN0YS1idXR0b25zIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5za3UuZGV0YWlsIC5jdGEtYnV0dG9uc19fYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2t1LmRldGFpbCAuY3RhLWJ1dHRvbnNfX2J0bi0tc3BhY2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG4uc2t1LmRldGFpbCAuY3RhLWJ1dHRvbnMgbGkge1xuICB3aWR0aDogMTAwJTtcbn1cbi5za3UuZGV0YWlsIC5jdGEtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2t1LmRldGFpbCAuY3RhLWJ1dHRvbnMgbGk6bnRoLWNoaWxkKDIpIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4uc2t1LmRldGFpbCAuY3RhLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnNrdS5kZXRhaWwgLmN0YS1idXR0b25zIGEuYnV0dG9uc19fYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3Nzc3Nztcbn1cbi5za3UuZGV0YWlsIC5jdGEtYnV0dG9ucyBhLmJ1dHRvbnNfX2J0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jdGEtYnV0dG9ucyB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmN0YS1idXR0b25zIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4uY3RhLWJ1dHRvbnMgbGk6bnRoLWNoaWxkKDIpIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmN0YS1idXR0b25zIGxpOmxhc3QtY2hpbGQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jdGEtYnV0dG9ucyBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgLmN0YS1idXR0b25zIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIH1cbn1cbi5jdGEtYnV0dG9ucyBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5jdGEtYnV0dG9ucyBsaSBhLmN0YS1idXR0b25zX19idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3O1xufVxuLmN0YS1idXR0b25zIGxpIGEuY3RhLWJ1dHRvbnNfX2J0bjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG59XG5cbiNidXktb3B0aW9ucy1wb3B1cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNidXktb3B0aW9ucy1wb3B1cCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuODVyZW0gMDtcbn1cbiNidXktb3B0aW9ucy1wb3B1cCAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4Mztcbn1cbiNidXktb3B0aW9ucy1wb3B1cCAucG9wdXAtdGl0bGUge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4jYnV5LW9wdGlvbnMtcG9wdXAgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiNidXktb3B0aW9ucy1wb3B1cCB1bCBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMC4yNXJlbTtcbn1cbiNidXktb3B0aW9ucy1wb3B1cCB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuI2J1eS1vcHRpb25zLXBvcHVwIHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5kZXRhaWxzLW1lZGlhIHtcbiAgei1pbmRleDogNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmRldGFpbHMtbWVkaWFfX2hlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2Utb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1vdXQ7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmRldGFpbHMtbWVkaWFfX2hlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuXG4uZGV0YWlscy1kaXZpZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG4uZGV0YWlscy1kaXZpZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAxNXB4IGF1dG8gMDtcbiAgd2lkdGg6IDJyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5kZXRhaWxzLTM2MCxcbiAgLmRldGFpbHMtdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMXJlbTtcbiAgfVxuICAuZGV0YWlscy1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIGg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIHNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDI7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5uby1maXRtZW50IHtcbiAgbWluLWhlaWdodDogNnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCAubm8tZml0bWVudDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwLjg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLm5vLWZpdG1lbnQgLmVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5sb2FkaW5nSW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLmhvdmVyLWl0ZW06aG92ZXIgYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCAuaG92ZXItaXRlbTpob3ZlciBpbWcge1xuICBvcGFjaXR5OiAwLjA3NTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5ob3Zlci1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjc7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwtb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA1MHB4O1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbC1vdmVybGF5IC5mYS1zcGlubmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ub3Blbi1zZWUtb24tdmVoaWNsZS1wb3B1cCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDAuODI1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm9wZW4tc2VlLW9uLXZlaGljbGUtcG9wdXA6aG92ZXIge1xuICBjb2xvcjogI2JhMTcxNztcbn1cbi5vcGVuLXNlZS1vbi12ZWhpY2xlLXBvcHVwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4jc2VlLW9uLXZlaGljbGUtcG9wdXAge1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgZm9udC1zaXplOiAwLjgyNXJlbTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbWFnZSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjZmZmZmZmLCAjY2NjY2NjKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gLndoZWVsLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uIC53aGVlbC1pbmZvIC50aHVtYiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTYwJTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiAud2hlZWwtaW5mbyAud2hlZWwge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiAud2hlZWwtaW5mbyAuc3BlY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uIC53aGVlbC1pbmZvIC5zcGVjcyAuZGl2aWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gLnZlaGljbGUtaW5mbyB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi53aGVlbC1nYWxsZXJ5X19oZWFkZXIge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi53aGVlbC1nYWxsZXJ5TGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi53aGVlbC1nYWxsZXJ5TGlzdF9faXRlbSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDQ5JTtcbn1cbi53aGVlbC1nYWxsZXJ5TGlzdF9faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLndoZWVsLWdhbGxlcnlMaXN0X19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC53aGVlbC1nYWxsZXJ5TGlzdF9faXRlbTpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxufVxuLndoZWVsLWdhbGxlcnlMaXN0X19pdGVtIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wb3B1cC13aGVlbGltYWdlIHtcbiAgbWF4LWhlaWdodDogODAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi53aGVlbC1nYWxsZXJ5SW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4ud2hlZWwtZ2FsbGVyeUltYWdlIGltZyB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2hlZWwtZ2FsbGVyeVR4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLndoZWVsLWdhbGxlcnlUeHQge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG5cbi53aGVlbC1zcGVjIC5hY2NvcmRpb24taXRlbSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4ud2hlZWwtc3BlYyAuYWNjb3JkaW9uLWl0ZW0gPiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4Mztcbn1cbi53aGVlbC1zcGVjIC5hY2NvcmRpb24tY29udGVudCB7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLndoZWVsLXNwZWMgLmFjY29yZGlvbi1jb250ZW50IGEge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi53aGVlbC1zcGVjIC5hY2NvcmRpb24tY29udGVudCBhOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG5cbi5hbHQtaW1hZ2VzIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4jc2hvcC1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNzaG9wLXBvcHVwIGg0IHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4jc2hvcC1wb3B1cCBzcGFuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbiNzaG9wLXBvcHVwIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDI7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIG1heC13aWR0aDogMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuI3Nob3AtcG9wdXAgYS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwLjQ7XG59XG4jc2hvcC1wb3B1cCAuc2hvcC1wb3B1cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbiNzaG9wLXBvcHVwIC5zaG9wLXBvcHVwIC5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuI3Nob3AtcG9wdXAgLmNsb3NlLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuI3Nob3AtcG9wdXAgI2Nsb3NlIHtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNzaG9wLXBvcHVwIC5kZWFsZXItc2hvcCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jc2hvcC1wb3B1cCAjdmVoaWNsZS1nYWxsZXJ5LXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cbiNzaG9wLXBvcHVwIHtcbiAgLyouY2xvc2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgcGFkZGluZy10b3A6MXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIH1cbiAgICAmLnNob3J0IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgcGFkZGluZy10b3A6MXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgICAjY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICNjbG9zZSB7XG4gICAgZm9udC1zaXplOjJyZW07XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6LTNyZW07XG4gICAgICByaWdodDoxcmVtOyAgXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICB0b3A6LS41cmVtO1xuICAgICAgcmlnaHQ6LTJyZW07XG4gICAgfVxuICB9Ki9cbn1cbiNzaG9wLXBvcHVwIC52ZWhpY2xlLWdhbGxlcnktc3BlY3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjd2hlZWxzIC5maWx0ZXIge1xuICAgIHdpZHRoOiA4NSU7XG4gIH1cbn1cbiN3aGVlbHMgLmZpbHRlciAucmVmZXJlbmNlLXZlaGljbGUgLmZpdG1lbnQtbWVudSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jd2hlZWxzIC5maWx0ZXIgaDMge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3doZWVscyAuZmlsdGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbn1cbiN3aGVlbHMgLmZpbHRlciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiN3aGVlbHMgLmZpbHRlciAuZmlsdGVyLWFjdGl2ZSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuI3doZWVscyAuZmlsdGVyIC5maWx0ZXItYWN0aXZlIGEge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRyYW5zZm9ybTogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmZpbHRlci1hY3RpdmUgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuI3doZWVscyAuZmlsdGVyIC5maWx0ZXItYWN0aXZlLXRpdGxlIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmZpbHRlci1hY3RpdmUtY2xlYXIge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmZpbHRlci1hY3RpdmUtY2xlYXIgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2JhMTcxNztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuI3doZWVscyAuZmlsdGVyIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmljb24tcHJvZHVjdC1maWx0ZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbn1cbiN3aGVlbHMgLmZpbHRlciAuaWNvbi1wcm9kdWN0LWZpbHRlci5maWx0ZXItYnJhbmRzLW9wdHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyLmZpbHRlci1hY3RpdmUge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmljb24tcHJvZHVjdC1maWx0ZXIuZmlsdGVyLWFjdGl2ZSAuZmlsdGVyLWFjdGl2ZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4jd2hlZWxzIC5maWx0ZXIgLmljb24tcHJvZHVjdC1maWx0ZXIgLmljb24tZmlsdGVyLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyIC5pY29uLWZpbHRlci10aXRsZSBpIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyIC5pY29uLWZpbHRlci1pdGVtcyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jd2hlZWxzIC5maWx0ZXIgLmljb24tcHJvZHVjdC1maWx0ZXIgLmljb24tZmlsdGVyLWl0ZW1zIGxhYmVsIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4jd2hlZWxzIC5maWx0ZXIgLmljb24tcHJvZHVjdC1maWx0ZXIgLmljb24tZmlsdGVyLWl0ZW1zIC5maWx0ZXItYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogI2JhMTcxNztcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyIC5pY29uLWZpbHRlci1pdGVtcyAuZmlsdGVyLWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjY2NjY2NjO1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyLmZpbHRlci1maXRtZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjOTk5OTk5O1xufVxuI3doZWVscyAuZmlsdGVyIC5pY29uLXByb2R1Y3QtZmlsdGVyLmZpbHRlci1maXRtZW50IC5maXRtZW50LXNlYXJjaC1idXR0b24gLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbn1cbiN3aGVlbHM6bm90KC53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSkgLmZpdG1lbnQtaGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjN2Y4MjgzO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZml0bWVudC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG4jd2hlZWxzOm5vdCgud2hlZWxzLXNlYXJjaGVkLWJ5LXZlaGljbGUpIC5maXRtZW50LWhlYWRlciAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZml0bWVudC1oZWFkZXIgLmNvbHVtbiwgI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZml0bWVudC1oZWFkZXIgLmNvbHVtbnMge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZml0bWVudC1oZWFkZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4jd2hlZWxzOm5vdCgud2hlZWxzLXNlYXJjaGVkLWJ5LXZlaGljbGUpIC5maXRtZW50LWhlYWRlciAuYnV0dG9uLmZpdG1lbnQtb3BlbiB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZmlsdGVyIC5maXRtZW50LXNlYXJjaC1idXR0b24gLmJ1dHRvbiB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuI3doZWVsczpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSAuZmlsdGVyIC5maWx0ZXItaXRlbXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYWNjb3JkaW9uLWZpbHRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5hY2NvcmRpb24tZmlsdGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5hY2NvcmRpb24tZmlsdGVyX19jb250YWluZXIge1xuICAgIC8qZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xuICB9XG59XG4uYWNjb3JkaW9uLWZpbHRlcl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbn1cbi5hY2NvcmRpb24tZmlsdGVyX19oZWFkZXItLW1vYmlsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLmFjY29yZGlvbi1maWx0ZXJfX2NvbnRlbnQge1xuICBib3JkZXI6IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYWNjb3JkaW9uLWZpbHRlcl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5hY2NvcmRpb24tZmlsdGVyX19kcm9wZG93biB7XG4gICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbn1cbi5hY2NvcmRpb24tZmlsdGVyX19kcm9wZG93biBzZWxlY3Qge1xuICBwYWRkaW5nOiAxcmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDByZW0gY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXJfX2Ryb3Bkb3duIHNlbGVjdCB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuYWNjb3JkaW9uLWZpbHRlcl9fZHJvcGRvd24gc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5hY2NvcmRpb24tZmlsdGVyX19idG4ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmFjY29yZGlvbi1maWx0ZXJfX2J0biB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQsIC5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00ODVweCk7XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4ub2ZmLWNhbnZhcyA+IGRpdiA+IGRpdiB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbn1cbi5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAvKndpZHRoOjQ0NXB4OyAvLyBOZWVkIHRvIHVwZGF0ZSBqcyBiZWZvcmUgYXBwbHlpbmcuLi4uKi9cbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB3aWR0aDogNDQ1cHg7XG4gIH1cbn1cbi5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ub2ZmLWNhbnZhcyAuY2xvc2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMS4yNXJlbSAycmVtO1xuICBmb250LXNpemU6IDAuODI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLm9mZi1jYW52YXMgLmNsb3NlLWJ1dHRvbiBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zaXplOiAzcmVtO1xufVxuLm9mZi1jYW52YXMgLmNsb3NlLWJ1dHRvbiB7XG4gIC8qXG4gIHBhZGRpbmc6LjVyZW0gMnJlbTtcbiAgY29sb3I6JGxpZ2h0LWdyYXk7XG4gIG1hcmdpbi1ib3R0b206LjVyZW07XG4gICovXG59XG4ub2ZmLWNhbnZhcyAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4ub2ZmLWNhbnZhcyAuY2xvc2UtYnV0dG9uLm9yYW5nZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG59XG4ub2ZmLWNhbnZhcyAuY2xvc2UtYnV0dG9uLm9yYW5nZTpob3ZlciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuLm9mZi1jYW52YXMgLnNsaWRlLW92ZXItY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cbi5vZmYtY2FudmFzIC5zbGlkZS1vdmVyLWNvbnRhaW5lciAuc2xpZGUtb3Zlci1maXRtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4ub2ZmLWNhbnZhcyAuc2xpZGUtb3Zlci1jb250YWluZXIgLnNsaWRlLW92ZXItZml0bWVudCAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhMTcxNztcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDU4cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuLm9mZi1jYW52YXMgLnNsaWRlLW92ZXItY29udGFpbmVyIC5zbGlkZS1vdmVyLWZpdG1lbnQgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG59XG4ub2ZmLWNhbnZhcyAuc2xpZGUtb3Zlci1jb250YWluZXIgLnNsaWRlLW92ZXItZml0bWVudCAuZml0bWVudC1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWF4LXdpZHRoOiA0MyU7XG59XG4ub2ZmLWNhbnZhcyAuc2xpZGUtb3Zlci1jb250YWluZXIgLnNsaWRlLW92ZXItZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbi5vZmYtY2FudmFzIC5zbGlkZS1vdmVyLWNvbnRhaW5lciAuc2xpZGUtb3Zlci1maWx0ZXIgc2VsZWN0LCAub2ZmLWNhbnZhcyAuc2xpZGUtb3Zlci1jb250YWluZXIgLnNsaWRlLW92ZXItZmlsdGVyIC5idXR0b24ge1xuICBoZWlnaHQ6IDU1cHg7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4ub2ZmLWNhbnZhcyAuc2xpZGUtb3Zlci1jb250YWluZXIgLnNsaWRlLW92ZXItZmlsdGVyIHNlbGVjdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4ub2ZmLWNhbnZhcyAudmVydGljYWwubWVudSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIG1hcmdpbi10b3A6IDA7XG59XG4ub2ZmLWNhbnZhcyAudmVydGljYWwubWVudSA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm9mZi1jYW52YXMgLnZlcnRpY2FsLm1lbnUgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgY29udGVudDogXCIrXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRvcDogMTNweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcmlnaHQ6IDJyZW07XG59XG4ub2ZmLWNhbnZhcyAudmVydGljYWwubWVudSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLVwiO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG4ub2ZmLWNhbnZhcyAudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLm9mZi1jYW52YXMgLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzMzMzMzMztcbn1cbi5vZmYtY2FudmFzIC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIC5mYS1jYXJldC1kb3duIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vZmYtY2FudmFzIC52ZXJ0aWNhbC5tZW51LmlzLWFjY29yZGlvbi1zdWJtZW51ID4gbGk6OmFmdGVyIHtcbiAgbGVmdDogMDtcbn1cbi5vZmYtY2FudmFzIC5zb2NpYWwtbWVudSB7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAycmVtO1xufVxuLm9mZi1jYW52YXMgLnNvY2lhbC1tZW51IGE6aG92ZXIge1xuICBjb2xvcjogIzMzMzMzMztcbn1cbi5vZmYtY2FudmFzIC5wcm9kdWN0LWZpbHRlcnMgLmljb24tcHJvZHVjdC1maWx0ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLm9mZi1jYW52YXMgLnByb2R1Y3QtZmlsdGVycyAuZmlsdGVyLWJyYW5kcy1vcHRzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vZmYtY2FudmFzIC5pY29uLWZpbHRlci10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5vZmYtY2FudmFzIC5pY29uLWZpbHRlci10aXRsZSBpIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuLm9mZi1jYW52YXMgLmljb24tZmlsdGVyLWl0ZW1zIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4ub2ZmLWNhbnZhcyAuaWNvbi1maWx0ZXItaXRlbXMgbGkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5vZmYtY2FudmFzIC5pY29uLWZpbHRlci1pdGVtcyBpbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ub2ZmLWNhbnZhcyAuaWNvbi1maWx0ZXItaXRlbXMgbGFiZWwge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5wcm9kdWN0LWZpbHRlcnMsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLnByb2R1Y3QtZmlsdGVycyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIGg0LCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIGg0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgdWwsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgbGFiZWwsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgbGFiZWwge1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgaS5mYS1taW51cywgLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgaS5mYS1wbHVzLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIGkuZmEtbWludXMsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgaS5mYS1wbHVzIHtcbiAgY29sb3I6ICM4ODg4ODg7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciBpLmZhLW1pbnVzOmhvdmVyLCAub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciBpLmZhLXBsdXM6aG92ZXIsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgaS5mYS1taW51czpob3ZlciwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciBpLmZhLXBsdXM6aG92ZXIge1xuICBjb2xvcjogI2JhMTcxNztcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItdGl0bGUsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci10aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYnV0dG9uLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzQ0NDQ0NDtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWl0ZW1zLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItaXRlbXMge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItaXRlbXMgbGksIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1pdGVtcyBsaSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgLmZpbHRlci1pdGVtcyBpbnB1dCwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWl0ZW1zIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItaXRlbXMgbGFiZWwsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1pdGVtcyBsYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgLnByb2R1Y3QtZmlsdGVycyAucHJvZHVjdC1maWx0ZXIsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLnByb2R1Y3QtZmlsdGVycyAucHJvZHVjdC1maWx0ZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUgdWwsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUgdWwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLm9mZi1jYW52YXMgLndoZWVscy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUgYSwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSBhIGksIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUgYSBpIHtcbiAgY29sb3I6ICNiYTE3MTc7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSBhOmhvdmVyLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIGE6aG92ZXIgaSwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSBhOmhvdmVyIGkge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIGEuZml0bWVudFNldCwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSBhLmZpdG1lbnRTZXQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTk5OTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIGEuZml0bWVudFNldCBpLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIGEuZml0bWVudFNldCBpIHtcbiAgY29sb3I6ICM2NjY2NjY7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSB1bCBsaSwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZSB1bCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZS1jbGVhciwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZS1jbGVhciB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZS1jbGVhciwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZS1jbGVhciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlLWNsZWFyIGEsIC5vZmYtY2FudmFzIC50aXJlcy1zbGlkZS1maWx0ZXIgLmZpbHRlci1hY3RpdmUtY2xlYXIgYSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM0NDQ0NDQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWFjdGl2ZS1jbGVhciBhOmhvdmVyLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlLWNsZWFyIGE6aG92ZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIC5maWx0ZXItYWN0aXZlLXRpdGxlLCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIC5maWx0ZXItYWN0aXZlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5vZmYtY2FudmFzIC53aGVlbHMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIC5maWx0ZXItYWN0aXZlLXRpdGxlIGg0LCAub2ZmLWNhbnZhcyAudGlyZXMtc2xpZGUtZmlsdGVyIC5maWx0ZXItYWN0aXZlIC5maWx0ZXItYWN0aXZlLXRpdGxlIGg0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4ub2ZmLWNhbnZhcyAud2hlZWxzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWJyYW5kcyBsYWJlbCwgLm9mZi1jYW52YXMgLnRpcmVzLXNsaWRlLWZpbHRlciAuZmlsdGVyLWJyYW5kcyBsYWJlbCB7XG4gIG1heC13aWR0aDogMjYwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLm9mZi1jYW52YXMgLnNsaWRlLWZpbHRlci1nYWxsZXJ5IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmludCAucGFnZS1jb250ZW50ID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuLmludCAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCA+IC5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLmludCAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW0gMC41cmVtO1xufVxuLmludCAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCAuYnV0dG9uLmZpdG1lbnQtb3BlbiB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmludCAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCAuYnV0dG9uOm5vdCguc2VhcmNoLWJ5LXZlaGljbGUpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuLmludCAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCAuYnV0dG9uOm5vdCguc2VhcmNoLWJ5LXZlaGljbGUpIC5idXR0b24tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmludCAubGlzdGluZy1zZWFyY2gtYmFyID4gLmNvbHVtbjpmaXJzdC1jaGlsZCwgLmludCAubGlzdGluZy1zZWFyY2gtYmFyID4gLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAuY29udGFpbmVyLXBhZGRpbmctLWIge1xuICBwYWRkaW5nOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAucGFnZS1oZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgfVxufVxuI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAucGFnZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbiN3aGVlbHMud2hlZWxzLXNlYXJjaGVkLWJ5LXZlaGljbGUgLnBhZ2UtY29udGVudCAubGlzdGluZyBoNCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAucGFnZS1jb250ZW50IC5saXN0aW5nIGg0IHNwYW4ge1xuICBjb2xvcjogI2JhMTcxNztcbn1cbiN3aGVlbHMud2hlZWxzLXNlYXJjaGVkLWJ5LXZlaGljbGUgLnByb2R1Y3RzLWxpc3QgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAucHJvZHVjdHMtbGlzdCAud2hlZWwtbmFtZS13aGVlbCB7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSAucHJvZHVjdHMtbGlzdCAud2hlZWwtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuI3doZWVsLmZpdG1lbnQtZGV0YWlsIC52b3YtY2FsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiN3aGVlbC5maXRtZW50LWRldGFpbCAudm92LWNhbGwgLmZpdG1lbnQtYnV0dG9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDIwcHg7XG59XG4jd2hlZWwuZml0bWVudC1kZXRhaWwgLnZvdi1jYWxsIC5maXRtZW50LWJ1dHRvbiBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzBhMGEwYTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuI3doZWVsLmZpdG1lbnQtZGV0YWlsIC52b3YtY2FsbCAuZml0bWVudC1idXR0b24gYSBpIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuI3doZWVsLmZpdG1lbnQtZGV0YWlsIC5jdGEtYnV0dG9ucyBsaTpsYXN0LWNoaWxkIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi52ZWhpY2xlLWZpdG1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLnZlaGljbGUtZml0bWVudCAuZml0bWVudC1zZWxlY3RlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VkZWRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cbi52ZWhpY2xlLWZpdG1lbnQgLmZpdG1lbnQtc2VsZWN0ZWQgLnZlaGljbGUge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG4udmVoaWNsZS1maXRtZW50IC5maXRtZW50LXNlbGVjdGVkLW90aGVyLXNwZWNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi52ZWhpY2xlLWZpdG1lbnQgLmZpdG1lbnQtc2VsZWN0ZWQtc2t1IHNwYW4ge1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi52ZWhpY2xlLWZpdG1lbnQgLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi52ZWhpY2xlLWZpdG1lbnQgaSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICMzM2NjMzM7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuLnZlaGljbGUtZml0bWVudCBwLCAudmVoaWNsZS1maXRtZW50IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udmVoaWNsZS1maXRtZW50IHAge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG4udmVoaWNsZS1maXRtZW50IC5yZW1vdmUtZml0bWVudCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnZlaGljbGUtZml0bWVudCAudm92LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCBoNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCBoNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgc2VsZWN0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLmVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMjtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLm5vLWZpdG1lbnQge1xuICBtaW4taGVpZ2h0OiA2cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5uby1maXRtZW50OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb250ZW50OiBcIlwiO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDAuODtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCAubm8tZml0bWVudCAuZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLmxvYWRpbmdJbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBub25lO1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCAuaG92ZXItaXRlbTpob3ZlciBidXR0b24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsIC5ob3Zlci1pdGVtOmhvdmVyIGltZyB7XG4gIG9wYWNpdHk6IDAuMDc1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLWluLW91dDtcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgLmhvdmVyLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuNztcbn1cbiNzZWUtb24tdmVoaWNsZS1kZXRhaWwgYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQwJTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBvcGFjaXR5OiAwO1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbCBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xufVxuI3NlZS1vbi12ZWhpY2xlLWRldGFpbC1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDUwcHg7XG59XG4jc2VlLW9uLXZlaGljbGUtZGV0YWlsLW92ZXJsYXkgLmZhLXNwaW5uZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vcGVuLXNlZS1vbi12ZWhpY2xlLXBvcHVwIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogMC44MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ub3Blbi1zZWUtb24tdmVoaWNsZS1wb3B1cDpob3ZlciB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuLm9wZW4tc2VlLW9uLXZlaGljbGUtcG9wdXAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBmb250LXNpemU6IDAuODI1cmVtO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiAwIDAuMjVyZW0gMC41cmVtO1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogMCAwLjM3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uID4gZGl2IGxhYmVsLCAjc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYgLmluZm8tZGlzcGxheSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYgbGFiZWwge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiA+IGRpdiBpIHtcbiAgY29sb3I6ICNiYTE3MTc7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYucGFpbnQtaW5mby1jb250YWluZXIgI2ljbS1jaGFuZ2UtY29sb3Ige1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYucGFpbnQtaW5mby1jb250YWluZXIgI2ljbS1jaGFuZ2UtY29sb3I6aG92ZXIge1xuICBjb2xvcjogI2ZmY2MwMDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiA+IGRpdi53aGVlbC1pbmZvLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gPiBkaXYud2hlZWwtaW5mby1jb250YWluZXIgaW1nIHtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uID4gZGl2LndoZWVsLWluZm8tY29udGFpbmVyIC5yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gLndoZWVsLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiAud2hlZWwtaW5mbyAudGh1bWIge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2MCU7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gLndoZWVsLWluZm8gLndoZWVsIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZlaGljbGUtcG9wdXAtaW5mb3JtYXRpb24gLndoZWVsLWluZm8gLnNwZWNzIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbmZvcm1hdGlvbiAud2hlZWwtaW5mbyAuc3BlY3MgLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWluZm9ybWF0aW9uIC52ZWhpY2xlLWluZm8ge1xuICBjb2xvcjogIzBhMGEwYTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC5tZnAtY2xvc2Uge1xuICBmb250LXNpemU6IDJyZW07XG59XG5cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwdm1heCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWQxZDE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAjc2VlLW9uLXZlaGljbGUtcG9wdXBbb3Blbl0ge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgI3doZWVsLXNwZWMtcHJpY2UsICNzZWUtb24tdmVoaWNsZS1wb3B1cCAuYnV5LW5vdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgI3ZlaGljbGUtZGVzY3JpcHRpb24sICNzZWUtb24tdmVoaWNsZS1wb3B1cCAjdmVoaWNsZS1kZXNjcmlwdGlvbi1tb2JpbGUge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAjdmVoaWNsZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAjdmVoaWNsZS1kZXNjcmlwdGlvbi1tb2JpbGUgI3Zvdi1zdWJtb2RlbCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1jb2xvci1idXR0b24ge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAud2hlZWwtaW5mbyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC53aGVlbC1pbmZvIC53aGVlbC10aHVtYm5haWwge1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnNwZWNzLWluZm8sICNzZWUtb24tdmVoaWNsZS1wb3B1cCAuc3BlY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC5zcGVjcy1pbmZvIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgI3doZWVsLWJyYW5kIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAuc3BlY3MtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNzZWUtb24tdmVoaWNsZS1wb3B1cCAuc3BlY3MtY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgLnNwZWNzLWNvbnRhaW5lciA+IC5zcGVjczpmaXJzdC1jaGlsZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjc2VlLW9uLXZlaGljbGUtcG9wdXAgLnNwZWNzLWNvbnRhaW5lciA+IC5zcGVjczpmaXJzdC1jaGlsZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC5zcGVjcyAuZGl2aWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC5zcGVjcyAuZGl2aWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAgI2ljbS12b3YtbG9hZGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZsZXgtZ3JvdzogMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbWFnZSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAwLjcxMjVyZW0gMC43NXJlbTtcbiAgfVxufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52ZWhpY2xlLXBvcHVwLWltYWdlIC52b3YtdmVoaWNsZS1pbWFnZS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbWFnZSAudm92LXZlaGljbGUtaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIHBhZGRpbmc6IDIuMjVyZW0gMDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudmVoaWNsZS1wb3B1cC1pbWFnZSB7XG4gIC8qI3Zvdi12ZWhpY2xlLWltYWdlLC52ZWhpY2xlLXBvcHVwLWNvbG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6Mi4yNXJlbSAwO1xuICB9Ki9cbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudm92LWFuZ2xlLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwLjk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjc2VlLW9uLXZlaGljbGUtcG9wdXAgLnZvdi1hbmdsZS1hcnJvdyB7XG4gICAgdG9wOiA0OCU7XG4gIH1cbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudm92LWFuZ2xlLWFycm93IGkge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAudm92LWFuZ2xlLWFycm93OmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAxO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwIC52b3YtYW5nbGUtYXJyb3c6aG92ZXIgaSB7XG4gIGNvbG9yOiAjY2NjY2NjO1xufVxuI3NlZS1vbi12ZWhpY2xlLXBvcHVwICN2b3YtcHJldmlvdXMtYW5nbGUge1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3NlZS1vbi12ZWhpY2xlLXBvcHVwICN2b3YtcHJldmlvdXMtYW5nbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCAjdm92LW5leHQtYW5nbGUge1xuICByaWdodDogMDtcbiAgcGFkZGluZzogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNzZWUtb24tdmVoaWNsZS1wb3B1cCAjdm92LW5leHQtYW5nbGUge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbiNzd2F0Y2hlcy1kaWFsb2cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwMHZtYXggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuI3N3YXRjaGVzLWRpYWxvZyBoNCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbiNzd2F0Y2hlcy1kaWFsb2cgLmljbS12b3Ytc3dhdGNoLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbn1cbiNzd2F0Y2hlcy1kaWFsb2cgLmljbS12b3Ytc3dhdGNoLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4udGlyZS1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59XG5cbi50aXJlLWluZm9fX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4udGlyZS1jdGEgLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbjogMDtcbn1cbi50aXJlLWN0YSAuYnV0dG9uLWdyb3VwIGxpIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi50aXJlLWN0YSAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRpcmUtc3BlY3Mge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLnRpcmUtc3BlY3NfX2hlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnRpcmUtc3BlY3NfX2RldGFpbHMge1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hY2Nlc3NvcnktaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuXG4uYWNjZXNzb3J5LW5hbWUge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLmFjY2Vzc29yeS1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59XG5cbi5hY2Nlc3NvcnktY3RhIC5jdGEtYnV0dG9ucyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5hY2Nlc3NvcnktY3RhIC5jdGEtYnV0dG9uc19fYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5hY2Nlc3NvcnktYmFyLWJ0biB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgI2JhMTcxNztcbiAgY29sb3I6ICNiYTE3MTc7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggIzk5OTtcbn1cbi5hY2Nlc3NvcnktYmFyLWJ0bjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbiNnYWxsZXJ5LWZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jZ2FsbGVyeS1maWx0ZXIgLmFjY29yZGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBjb2xvcjogI2JhMTcxNztcbn1cblxuI2dhbGxlcnkgLnBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG4jZ2FsbGVyeSAuZ2FsbGVyeS1zdWJtaXQge1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNnYWxsZXJ5IC5nYWxsZXJ5LXN1Ym1pdCBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbiNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgMXB4IDFweCAwO1xufVxuI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvLWltYWdlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG4jZ2FsbGVyeSAuaG92ZXItbGlzdCAucGhvdG8tb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90by1vdmVybGF5IHtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgfVxufVxuI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvLW92ZXJsYXkgPiBkaXYge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jZ2FsbGVyeSAuaG92ZXItbGlzdCAucGhvdG8tb3ZlcmxheSA+IGRpdi5waG90by1vdmVybGF5LWRpdmlkZXIge1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG4jZ2FsbGVyeSAuaG92ZXItbGlzdCAucGhvdG8tb3ZlcmxheS1hY2Nlc3NvcnksICNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90by1vdmVybGF5LW9mZnNldCwgI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvLW92ZXJsYXktc3VzcGVuc2lvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvLW92ZXJsYXktYWNjZXNzb3J5LCAjZ2FsbGVyeSAuaG92ZXItbGlzdCAucGhvdG8tb3ZlcmxheS1vZmZzZXQsICNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90by1vdmVybGF5LXN1c3BlbnNpb24ge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG4jZ2FsbGVyeSAuaG92ZXItbGlzdCAucGhvdG8tb3ZlcmxheS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiAyMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90by1vdmVybGF5LWRpdmlkZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjYzAwO1xuICBoZWlnaHQ6IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQzJTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbiNnYWxsZXJ5IC5ob3Zlci1saXN0IC5waG90by1vdmVybGF5LW1vcmVpbmZvIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnBob3RvOmhvdmVyIC5waG90by1vdmVybGF5IHtcbiAgb3BhY2l0eTogMTtcbn1cbiNnYWxsZXJ5IC5ob3Zlci1saXN0IC52aWRlbzphZnRlciB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuI2dhbGxlcnkgLmhvdmVyLWxpc3QgLnZpZGVvOmhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjIzLCA2MSwgNjEsIDAuOSk7XG59XG5cbi5nYWxsZXJ5LXRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBtYXJnaW46IDA7XG59XG4uZ2FsbGVyeS1tYWluLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uZ2FsbGVyeS1tYWluLWltZyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi5nYWxsZXJ5LXRodW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uZ2FsbGVyeS10aHVtYnMgLnNsaWNrLWRvdHMge1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG59XG4uZ2FsbGVyeS1kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuI2dhbGxlcnktdmVoaWNsZSAuZ2FsbGVyeS1tYWluLWltZyAuc2xpY2stc2xpZGUge1xuICBtaW4taGVpZ2h0OiAyNDBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNnYWxsZXJ5LXZlaGljbGUgLmdhbGxlcnktbWFpbi1pbWcgLnNsaWNrLXNsaWRlIHtcbiAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgfVxufVxuI2dhbGxlcnktdmVoaWNsZSAuZ2FsbGVyeS10aHVtYnMgLml0ZW0gPiBkaXYge1xuICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbiNjb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmMTtcbn1cbiNjb250YWN0IC5wYWdlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuI2NvbnRhY3QgLnBhZ2UtY29udGVudCA+IGRpdiB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xufVxuI2NvbnRhY3QgaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4jY29udGFjdCAuY29udGFjdC1pbnF1aXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4jY29udGFjdCAuY29udGFjdC1pbnF1aXJ5IGxhYmVsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jY29udGFjdCAuc29jaWFsIGltZyB7XG4gIG1heC13aWR0aDogMjVweDtcbn1cbiNjb250YWN0IC5zb2NpYWwgYSB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuI2NvbnRhY3QgLnNvY2lhbCBhOmhvdmVyIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMC43NSk7XG59XG5cbiNjb250YWN0IC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuXG4vKiB0aGFuayB5b3UgcGFnZSAqL1xuI3RoYW5rcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG59XG4jdGhhbmtzIC5wYWdlLWNvbnRlbiAucm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbiN0aGFua3MgLnRoYW5rcy10ZXh0IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3RoYW5rcyAudGhhbmtzLXRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICB9XG59XG5cbi5wYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmMTtcbn1cbi5wYWdlX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG4ucGFnZV9fY29udGVudCBoMSwgLnBhZ2VfX2NvbnRlbnQgaDIge1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzdmODI4MztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3ZjgyODM7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbi5wYWdlLWhlYWRlciBoMSB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFnZS1jb250ZW50IGltZyB7XG4gIC8qd2lkdGg6MTAwJTsqL1xufVxuLnBhZ2UtY29udGVudCA+IGRpdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG4ucGFnZS1jb250ZW50ID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG59XG5cbi5uZXdzLWFydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4ubmV3cy1hcnRpY2xlIC50aW1lc3RhbXAge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cbi5uZXdzLWFydGljbGUgLnRpbWVzdGFtcCAuZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm5ld3MtYXJ0aWNsZSBpbWcge1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2JhMTcxNztcbn1cbi5uZXdzLWFydGljbGUgLm5ld3Mtc2lkZWJhciB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQ6ICNmYmZiZmI7XG59XG4ubmV3cy1hcnRpY2xlIC5uZXdzLXNpZGViYXIgbGkgYSB7XG4gIGNvbG9yOiAjNTA1MDUwO1xufVxuLm5ld3MtYXJ0aWNsZSAubmV3cy1zaWRlYmFyIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI2JhMTcxNztcbn1cblxuLmRlYWxlcnMgLnBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG59XG4uZGVhbGVycyBoMyB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmRlYWxlcnMgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxufVxuXG4jZGVhbGVycyAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbiNkZWFsZXJzIC5zb2NpYWwgaW1nIHtcbiAgbWF4LXdpZHRoOiAyNXB4O1xufVxuI2RlYWxlcnMgLnNvY2lhbCBhIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jZGVhbGVycyAuc29jaWFsIGE6aG92ZXIge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwLjc1KTtcbn1cblxuI2Rvd25sb2FkcyAuZG93bmxvYWRzLXNlY3Rpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjJmMTtcbn1cbiNkb3dubG9hZHMgLmRvd25sb2Fkcy1zZWN0aW9uLWNvbnRhaW5lciBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuI2Rvd25sb2FkcyAuZG93bmxvYWRzLXNlY3Rpb24tY29udGFpbmVyIHAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cbiNkb3dubG9hZHMgLmRvd25sb2Fkcy1zZWN0aW9uLWNvbnRhaW5lciAuYnJhbmQtY29udGFpbmVyIGEgaSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBjb2xvcjogIzcwNzA3MDtcbn1cbiNkb3dubG9hZHMgLmRvd25sb2Fkcy1zZWN0aW9uLWNvbnRhaW5lciAuZG93bmxvYWRzLWJyYW5kcyB7XG4gIG1hcmdpbjogMDtcbn1cbiNkb3dubG9hZHMgLmRvd25sb2Fkcy1zZWN0aW9uLWNvbnRhaW5lciAuaW5mbyAud2hlZWwtbmFtZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jZG93bmxvYWRzIC5kb3dubG9hZHMtc2VjdGlvbi1jb250YWluZXIgLmluZm8gLndoZWVsLWRpdmlkZXIge1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiA0MCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2JhMTcxNyAwJSwgI2JhMTcxNyA1MCUsICMwYTBhMGEgNTElLCAjMGEwYTBhIDEwMCUpO1xufVxuI2Rvd25sb2FkcyAuZG93bmxvYWRzLXNlY3Rpb24tY29udGFpbmVyIC5pbmZvIC53aGVlbC1maW5pc2gge1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI2Rvd25sb2FkcyAuZG93bmxvYWRzLXNlY3Rpb24tY29udGFpbmVyIC5kb3dubG9hZHMtYnJhbmRzIC5sb2dvLXBhY2sge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4jZG93bmxvYWRzIC5icmVhZGNydW1icywgI2Rvd25sb2FkcyAucGFnZS1oZWFkZXIge1xuICBtYXJnaW46IDA7XG59XG5cbiNlcnJvci1wYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbiNlcnJvci1wYWdlIC5wYWdlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3V0aWxpdGllcy9lcnJvci1iZyAoMikucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwJTtcbiAgcGFkZGluZzogNzVweDtcbiAgbWFyZ2luLXRvcDogNzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNlcnJvci1wYWdlIC5wYWdlLWNvbnRlbnQge1xuICAgIGhlaWdodDogMzI1cHg7XG4gIH1cbiAgI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gIH1cbiAgI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgfVxuICAjZXJyb3ItcGFnZSAucGFnZS1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgfVxuICAjZXJyb3ItcGFnZSAucGFnZS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1JTtcbiAgfVxuICAjZXJyb3ItcGFnZSAucGFnZS1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG4gICNlcnJvci1wYWdlIC5wYWdlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4jZXJyb3ItcGFnZSAucGFnZS1jb250ZW50IGgzIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCBwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogLTZyZW07XG4gIGNvbG9yOiBibGFjaztcbn1cbiNlcnJvci1wYWdlIC5wYWdlLWNvbnRlbnQgcCBhIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDY2Y2M7XG59XG4jZXJyb3ItcGFnZSAucGFnZS1jb250ZW50ICNyZXR1cm4taG9tZSB7XG4gIG1hcmdpbi10b3A6IDlyZW07XG4gIHBhZGRpbmctdG9wOiA3cmVtO1xufVxuI2Vycm9yLXBhZ2UgLnBhZ2UtY29udGVudCBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuI2dmeC1sYW5kaW5nIC5zb2NpYWwtdGFiIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiA2JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIHotaW5kZXg6IDEwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5zb2NpYWwtdGFiIHtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICAgIHRvcDogMTUlO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLnNvY2lhbC10YWIgLnRleHQge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgd2lkdGg6IDMwJTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTVyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuI2dmeC1sYW5kaW5nIC5zb2NpYWwtdGFiIC50ZXh0IHAge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW46IDA7XG59XG4jZ2Z4LWxhbmRpbmcgLnNvY2lhbC10YWIgLmRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjhweDtcbiAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5zb2NpYWwtdGFiIC5kaXZpZGVyIHtcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5zb2NpYWwtdGFiIGEge1xuICBjb2xvcjogI2ZiN2YwMTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNnZngtbGFuZGluZyAuc29jaWFsLXRhYiBhOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jZ2Z4LWxhbmRpbmcgLnNvY2lhbC10YWIgLmxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLnNvY2lhbC10YWIgLmxpc3Qge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbn1cbiNnZngtbGFuZGluZyAuc29jaWFsLXRhYiAubGlzdCB1bCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8ge1xuICBtYXJnaW46IDA7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLnNsaWNrLWFycm93IHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLnNsaWNrLWFycm93IGkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5zbGljay1hcnJvdyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICB9XG4gICNnZngtbGFuZGluZyAuaGVybyAuc2xpY2stYXJyb3cgaSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5zbGljay1hcnJvdy5zbGlkZXItbmV4dCB7XG4gIHJpZ2h0OiAwcHg7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLnNsaWNrLWFycm93LnNsaWRlci1wcmV2IHtcbiAgbGVmdDogMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5zbGljay1hcnJvdy5zbGlkZXItbmV4dCB7XG4gICAgcmlnaHQ6IDI1cHg7XG4gIH1cbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5zbGljay1hcnJvdy5zbGlkZXItcHJldiB7XG4gICAgbGVmdDogMjVweDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5nZngtc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4MjgyODtcbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIHtcbiAgLyogRW5zdXJlIEJsYXplIFNsaWRlciB2YXJpYWJsZXMgYXJlIHNldCAqL1xuICAtLXNsaWRlcy10by1zaG93OiAxO1xuICAtLXNsaWRlLWdhcDogMjBweDtcbiAgLyogR2l2ZSB0aGUgc2xpZGUgY29udGFpbmVyIGEgcmVzcG9uc2l2ZSBhc3BlY3QgcmF0aW8gKi9cbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7IC8qIEtlZXBzIHZpZGVvIHByb3BvcnRpb25hbCAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIge1xuICAvKiBGb3JjZSB0aGUgaWZyYW1lIHRvIGZpbGwgdGhlIHNsaWRlIHNwYWNlIGNvbXBsZXRlbHkgKi9cbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItdmlkZW8gaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuc2xpZGVyLWFycm93IHtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuc2xpZGVyLWFycm93IGkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIgLnNsaWRlci1hcnJvdyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICB9XG4gICNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItYXJyb3cgaSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuc2xpZGVyLWFycm93LnNsaWNrLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIgLnNsaWRlci1hcnJvdy5zbGlkZXItbmV4dCB7XG4gIHJpZ2h0OiAwcHg7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuc2xpZGVyLWFycm93LnNsaWRlci1wcmV2IHtcbiAgbGVmdDogMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIgLnNsaWRlci1hcnJvdy5zbGlkZXItbmV4dCB7XG4gICAgcmlnaHQ6IDI1cHg7XG4gIH1cbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIgLnNsaWRlci1hcnJvdy5zbGlkZXItcHJldiB7XG4gICAgbGVmdDogMjVweDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIge1xuICAvKiBFbnN1cmUgQmxhemUgU2xpZGVyIHZhcmlhYmxlcyBhcmUgc2V0ICovXG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuYmxhemUge1xuICAtLXNsaWRlcy10by1zaG93OiAxO1xuICAtLXNsaWRlLWdhcDogMjBweDtcbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIHtcbiAgLyogR2l2ZSB0aGUgc2xpZGUgY29udGFpbmVyIGEgcmVzcG9uc2l2ZSBhc3BlY3QgcmF0aW8gKi9cbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7IC8qIEtlZXBzIHZpZGVvIHByb3BvcnRpb25hbCAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5ibGF6ZS1zbGlkZXIge1xuICAvKiBGb3JjZSB0aGUgaWZyYW1lIHRvIGZpbGwgdGhlIHNsaWRlIHNwYWNlIGNvbXBsZXRlbHkgKi9cbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItdmlkZW8gaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuYmxhemUtdHJhY2stY29udGFpbmVyIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHMgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNnZngtbGFuZGluZyAuaGVybyAuYmxhemUtc2xpZGVyIC5zbGlkZXItdmlkZW8gaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jZ2Z4LWxhbmRpbmcgLmhlcm8gLmJsYXplLXNsaWRlciAuc2xpZGVyLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNnZngtbGFuZGluZyAuaGVybyAuaGVyby1zY3JvbGwtbW9yZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNSU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB6LWluZGV4OiA5O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5oZXJvIC5oZXJvLXNjcm9sbC1tb3JlIHtcbiAgICBib3R0b206IDE1JTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC5oZXJvLXNjcm9sbC1tb3JlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMXJlbTtcbn1cbiNnZngtbGFuZGluZyAuaGVybyAuaGVyby1zY3JvbGwtbW9yZSBpIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYW5pbWF0aW9uOiB1cGRvd24gMnMgZWFzZSBpbmZpbml0ZTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5Aa2V5ZnJhbWVzIHVwZG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgOTklIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5oZXJvIHtcbiAgLyogQ29udGFpbmVyIGhpZGVzIGFueXRoaW5nIGV4dGVuZGluZyBwYXN0IGl0cyBib3VuZGFyeSAqL1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC52aWRlby55b3V0dWJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyAvKiBNYXRjaGVzIHN0YW5kYXJkIHZpZGVvIHNoYXBlcyAqL1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIHtcbiAgLyogTWFrZXMgdGhlIGFjdHVhbCBwbGF5ZXIgdGFsbGVyIHNvIGJvdHRvbSBjb250cm9scyBzaXQgYmVsb3cgdGhlIHZpc2libGUgYXJlYSAqL1xufVxuI2dmeC1sYW5kaW5nIC5oZXJvIC52aWRlby1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTE1JTsgLyogVGFsbCBlbm91Z2ggdG8gcHVzaCB0aGUgYm90dG9tIGJhciBvdXQgb2YgdmlldyAqL1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbiNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscy1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzLWhlYWRlciBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzLWhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbn1cbiNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscy1oZWFkZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDYwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMtaGVhZGVyOmFmdGVyIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgNTAlKTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzLWNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMjAlKTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzIC5pbmZvIGg2IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbiNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscyAuaW5mbyBoNiBzcGFuIHtcbiAgY29sb3I6ICM3ZjgyODM7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuI2dmeC1sYW5kaW5nICNnZngtbGF0ZXN0LXNsaWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiNnZngtbGFuZGluZyAjZ2Z4LWxhdGVzdC1zbGlkZXIgLmxhdGVzdC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIC5sYXRlc3QtcHJldiwgI2dmeC1sYW5kaW5nICNnZngtbGF0ZXN0LXNsaWRlciAubGF0ZXN0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDsqL1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRhODI2O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRvcDogMzUlO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIC5sYXRlc3QtcHJldiwgI2dmeC1sYW5kaW5nICNnZngtbGF0ZXN0LXNsaWRlciAubGF0ZXN0LW5leHQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGhlaWdodDogNTJweDtcbiAgICB3aWR0aDogNTJweDtcbiAgICB0b3A6IDQwJTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nICNnZngtbGF0ZXN0LXNsaWRlciAubGF0ZXN0LXByZXY6aG92ZXIsICNnZngtbGFuZGluZyAjZ2Z4LWxhdGVzdC1zbGlkZXIgLmxhdGVzdC1uZXh0OmhvdmVyIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYjdmMDE7XG59XG4jZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIC5sYXRlc3QtcHJldiB7XG4gIGxlZnQ6IC01cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIC5sYXRlc3QtcHJldiB7XG4gICAgbGVmdDogLTcwcHg7XG4gIH1cbn1cbiNnZngtbGFuZGluZyAjZ2Z4LWxhdGVzdC1zbGlkZXIgLmxhdGVzdC1uZXh0IHtcbiAgcmlnaHQ6IC01cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgI2dmeC1sYXRlc3Qtc2xpZGVyIC5sYXRlc3QtbmV4dCB7XG4gICAgcmlnaHQ6IC03MHB4O1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmN0YS1iYXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNnZngtbGFuZGluZyAuY3RhLWJhciB7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmN0YS1iYXIgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YTgyNjtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmN0YS1iYXIgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWF4LXdpZHRoOiA1MzBweDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5jdGEtYmFyIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbiNnZngtbGFuZGluZyAuY3RhLWJhciAuYnV0dG9uIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbiNnZngtbGFuZGluZyAuY3RhLWJhci5pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0YTgyNjtcbn1cbiNnZngtbGFuZGluZyAuY3RhLWJhci5pbnZlcnNlIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbiNnZngtbGFuZGluZyAuY3RhLWJhci5pbnZlcnNlIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xufVxuI2dmeC1sYW5kaW5nIC5jdGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZ2Z4L2Fzc2V0cy9ia2ctY3RhLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogNHJlbSAwO1xufVxuI2dmeC1sYW5kaW5nIC5jdGEgLnJvdyB7XG4gIG1heC13aWR0aDogODJyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmN0YSAucm93IC5jb2x1bW4sICNnZngtbGFuZGluZyAuY3RhIC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5jdGEgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogSW1wYWN0LCBIYWV0dGVuc2Nod2VpbGVyLCBcIkFyaWFsIE5hcnJvdyBCb2xkXCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZjRhODI2O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNnZngtbGFuZGluZyAuY3RhIGEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5jdGEgYSB7XG4gICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmN0YSBhOmhvdmVyIC5jdGEtYmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuI2dmeC1sYW5kaW5nIC5jdGEgYTpob3ZlciAuY3RhLWl0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4jZ2Z4LWxhbmRpbmcgLmN0YSBhIC5jdGEtYmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbiNnZngtbGFuZGluZyAuY3RhIGEgLmN0YS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNnZngtbGFuZGluZyAuY3RhIGEgLmN0YS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmN0YSBhIC5jdGEtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuI2dmeC1sYW5kaW5nIC5wZW5jaWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNnZngtbGFuZGluZyAucGVuY2lsIHtcbiAgICBwYWRkaW5nOiA1cmVtIDA7XG4gIH1cbn1cbiNnZngtbGFuZGluZyAucGVuY2lsIGgxIHtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgSGFldHRlbnNjaHdlaWxlciwgXCJBcmlhbCBOYXJyb3cgQm9sZFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzI0MzU1MTtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLnBlbmNpbCBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLnBlbmNpbCBoMSB7XG4gICAgZm9udC1zaXplOiA0LjI1cmVtO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLnBlbmNpbCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0MzU1MTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLnBlbmNpbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5wZW5jaWwgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG59XG4jZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMXJlbSAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzIHtcbiAgICBwYWRkaW5nOiAycmVtIDA7XG4gIH1cbn1cbiNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscy1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzLWhlYWRlciBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMtaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzLWhlYWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogNjAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscy1oZWFkZXI6YWZ0ZXIge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbiNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA1MCUpO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMtY29udGFpbmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAyMCUpO1xuICB9XG59XG4jZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMgLmluZm8gaDYge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscyAuaW5mbyBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMgLmluZm8gaDYge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtd2hlZWxzIC5pbmZvIGg2IHNwYW4ge1xuICBjb2xvcjogIzdmODI4MztcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmxhdGVzdC13aGVlbHMgLmluZm8gaDYgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNnZngtbGFuZGluZyAubGF0ZXN0LXdoZWVscyAuaW5mbyBoNiBzcGFuIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3Qtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3QtcHJldiwgI2dmeC1sYW5kaW5nIC5sYXRlc3QtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4OyovXG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIGZvbnQtc2l6ZTogNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM3ZjgyODM7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3QtcHJldjpob3ZlciwgI2dmeC1sYW5kaW5nIC5sYXRlc3QtbmV4dDpob3ZlciB7XG4gIGNvbG9yOiAjN2Y4MjgzO1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3QtcHJldiB7XG4gIGxlZnQ6IC03MHB4O1xufVxuI2dmeC1sYW5kaW5nIC5sYXRlc3QtbmV4dCB7XG4gIHJpZ2h0OiAtNzBweDtcbn1cbiNnZngtbGFuZGluZyB7XG4gIC8qLmZlYXR1cmVkLXdoZWVscyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy9nZngvYXNzZXRzL2JrZy1kaXNjb3Zlci5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHBhZGRpbmc6MXJlbSAwO1xuICAgIG1hcmdpbjowO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOjJyZW0gMDtcbiAgICB9XG4gICAgLmZlYXR1cmVkLXdoZWVscy1oZWFkZXIge1xuICAgICAgYm9yZGVyOjA7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgZm9udC1mYW1pbHk6SW1wYWN0LCBIYWV0dGVuc2Nod2VpbGVyLCAnQXJpYWwgTmFycm93IEJvbGQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBsaW5lLWhlaWdodDoxLjI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOjIuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZWQtc2xpZGVyIHtcbiAgICAgIG1heC13aWR0aDo4NXJlbTtcbiAgICB9XG4gICAgLmZlYXR1cmVkLWFycm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgzNiw1Myw4MSwuNSk7XG4gICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6NTBweDtcbiAgICAgIHBhZGRpbmc6MXJlbTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIHRvcDozNSU7XG4gICAgICB6LWluZGV4OjE7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTUwMHB4KSB7XG4gICAgICAgICYuZmVhdHVyZWQtbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6MSU7XG4gICAgICAgIH1cbiAgICAgICAgJi5mZWF0dXJlZC1wcmV2IHtcbiAgICAgICAgICBsZWZ0OjElO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIC8vcGFkZGluZzoxcmVtO1xuICAgICAgcGFkZGluZzouNXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIC8vcGFkZGluZzoxcmVtIDJyZW07XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDYge1xuICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgICAgY29sb3I6JGdmeGJsdWU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6MS43NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZlYXR1cmVkLXdoZWVsLW5hbWUge1xuICAgICAgICBmb250LWZhbWlseTpJbXBhY3QsIEhhZXR0ZW5zY2h3ZWlsZXIsICdBcmlhbCBOYXJyb3cgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MS41cmVtO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdmeGJsdWU7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICBwYWRkaW5nOi43NXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgICAgIHBhZGRpbmc6Ljc1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSovXG59XG4jZ2Z4LWxhbmRpbmcgLmdhbGxlcnkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvZ2Z4L2Fzc2V0cy9ia2ctY3RhLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogNHJlbSAwO1xufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGgxIHtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgSGFldHRlbnNjaHdlaWxlciwgXCJBcmlhbCBOYXJyb3cgQm9sZFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGgxIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cbiNnZngtbGFuZGluZyAuZ2FsbGVyeSAudGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IC5yb3cge1xuICBtYXgtd2lkdGg6IDgycmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IC5yb3cgLmNvbHVtbiwgI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IC5yb3cgLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IEltcGFjdCwgSGFldHRlbnNjaHdlaWxlciwgXCJBcmlhbCBOYXJyb3cgQm9sZFwiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZjRhODI2O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGEge1xuICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGE6aG92ZXIgLmdhbGxlcnktYmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGE6aG92ZXIgLmdhbGxlcnktaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4jZ2Z4LWxhbmRpbmcgLmdhbGxlcnkgYSAuZ2FsbGVyeS1iZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZ2Z4LWxhbmRpbmcgLmdhbGxlcnkgYSAuZ2FsbGVyeS1iZyB7XG4gICAgaGVpZ2h0OiA2MDBweDtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGEgLmdhbGxlcnktYmcgaW1nIHtcbiAgb3BhY2l0eTogMDtcbn1cbiNnZngtbGFuZGluZyAuZ2FsbGVyeSBhIC5nYWxsZXJ5LWl0ZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuI2dmeC1sYW5kaW5nIC5nYWxsZXJ5IGEgLmdhbGxlcnktdGl0bGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2dmeC1sYW5kaW5nIC5wZW5jaWwuZGVhbGVyLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9nZngvYXNzZXRzL2JrZy1kZWFsZXIuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG4jZ2Z4LWxhbmRpbmcgLnBlbmNpbC5kZWFsZXItc2VhcmNoIC5yb3cge1xuICBtYXgtd2lkdGg6IDgwcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5wZW5jaWwuZGVhbGVyLXNlYXJjaCAucGVuY2lsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuI2dmeC1sYW5kaW5nIC5wZW5jaWwuZGVhbGVyLXNlYXJjaCBoMSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5wZW5jaWwuZGVhbGVyLXNlYXJjaCBoMSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbn1cbiNnZngtbGFuZGluZyAucGVuY2lsLmRlYWxlci1zZWFyY2ggLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2dmeC1sYW5kaW5nIC5wZW5jaWwuZGVhbGVyLXNlYXJjaCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW07XG4gIH1cbn1cbiNnZngtbGFuZGluZyAucGVuY2lsLmRlYWxlci1zZWFyY2ggLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4ucGFja2FnZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbn1cbi5wYWNrYWdlcyAuaXRlbS1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG4ucGFja2FnZXMgLnJldHVyblR4dCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uYWNjZXNzb3J5LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYWNjZXNzb3J5LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cbn1cbi5hY2Nlc3NvcnktY29udGFpbmVyX19sZWZ0IHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbn1cblxuLmFjY2Vzc29yeS1wb3B1cCB7XG4gIG1heC13aWR0aDogNDI1cHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYWNjZXNzb3J5LXBvcHVwLS13aWRlIHtcbiAgbWF4LXdpZHRoOiA4NTBweDtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2hlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICNiYTE3MTc7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2l0ZW0ge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2l0ZW0tLWJvcmRlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYWNjZXNzb3J5LXBvcHVwX19pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgfVxufVxuLmFjY2Vzc29yeS1wb3B1cF9faXRlbSAuaW5wdXQge1xuICBtYXJnaW46IDAgMjBweDtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2l0ZW0gLmlucHV0LS1yaWdodCB7XG4gIG1hcmdpbjogMDtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2l0ZW0gLmltZyB7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYWNjZXNzb3J5LXBvcHVwX19pdGVtIC5pbWcge1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgfVxufVxuLmFjY2Vzc29yeS1wb3B1cF9faXRlbSAuaW1nLS1scmcge1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5hY2Nlc3NvcnktcG9wdXAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxufVxuLmFjY2Vzc29yeS1wb3B1cCAudGl0bGUtLXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cbi5hY2Nlc3NvcnktcG9wdXBfX2xpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFjY2Vzc29yeS1wb3B1cC0tcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hY2Nlc3NvcnktcG9wdXAtLXJpZ2h0IC5pbnB1dCB7XG4gIG1hcmdpbjogMDtcbn1cbi5hY2Nlc3NvcnktcG9wdXAtLXJpZ2h0IC5jb250ZW50IHtcbiAgcGFkZGluZzogMCAycmVtO1xufVxuLmFjY2Vzc29yeS1wb3B1cC0tcmlnaHQgLnN1YnRleHQge1xuICBjb2xvcjogI2JhMTcxNztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5nYWxsZXJ5LXF1b3RlLXBvcHVwX19oZWFkZXIge1xuICBmb250LXNpemU6IDEuN3JlbTtcbn1cbi5nYWxsZXJ5LXF1b3RlLXBvcHVwX190eHQge1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5nYWxsZXJ5LXF1b3RlLXBvcHVwX190eHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cbi5nYWxsZXJ5LXF1b3RlLXBvcHVwX19ub3RlIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uZ2FsbGVyeS1xdW90ZS1wb3B1cCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5nYWxsZXJ5LXF1b3RlLXBvcHVwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5mb3JtLW5hbWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZm9ybS1uYW1lIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4uZm9ybS1uYW1lIGlucHV0IHtcbiAgd2lkdGg6IDE5LjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZm9ybS1uYW1lIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLmZvcm0tbmFtZSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5nYWxsZXJ5LXByb2R1Y3QtaW5mbyBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZpdG1lbnRDaGVja19fdHh0IHtcbiAgY29sb3I6ICNiYTE3MTc7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5maXRtZW50Q2hlY2tfX2J0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cblxuI25ld3NsZXR0ZXItcG9wdXAgaDIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbmV3c2xldHRlci1wb3B1cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiNuZXdzbGV0dGVyLXBvcHVwICNtY2UtcmVzcG9uc2VzIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbiNuZXdzbGV0dGVyLXBvcHVwLmRhcmstcG9wdXAgaDIsICNuZXdzbGV0dGVyLXBvcHVwLmRhcmstcG9wdXAgcCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4jaW52ZW50b3J5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG59XG4jaW52ZW50b3J5IC5pbnZlbnRvcnktaXRlbSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbiNpbnZlbnRvcnkgLmludmVudG9yeS1pdGVtIC5zbGFzaG91dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuI2ludmVudG9yeSAuaW52ZW50b3J5LXBhcnQtbnVtYmVyIHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4jaW52ZW50b3J5IC5pbnZlbnRvcnktc3RvY2sge1xuICBjb2xvcjogIzMzNjY5OTtcbn1cbiNpbnZlbnRvcnkgLmludmVudG9yeS1zdG9jay1ieS1sb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuI2ludmVudG9yeSAuaW52ZW50b3J5LWRlYWxlciwgI2ludmVudG9yeSAuaW52ZW50b3J5LW1zcnAge1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAwLjgzNzVyZW07XG4gIHdpZHRoOiA1MCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC5pbnZlbnRvcnktZGVhbGVyLCAjaW52ZW50b3J5IC5pbnZlbnRvcnktbXNycCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiNpbnZlbnRvcnkgLmludmVudG9yeS1tc3JwIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICNpbnZlbnRvcnkgLmludmVudG9yeS1tc3JwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB9XG59XG4jaW52ZW50b3J5IC5pbnZlbnRvcnktZGVhbGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG4jaW52ZW50b3J5IC5pbnZlbnRvcnktc2FsZSB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbiNpbnZlbnRvcnkgLmludmVudG9yeS1zYWxlLXByaWNlIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC5pbnZlbnRvcnktcHVyY2hhc2Uge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxufVxuI2ludmVudG9yeSAuaW52ZW50b3J5LXB1cmNoYXNlID4gYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhMTcxNztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI2ludmVudG9yeSAuaW52ZW50b3J5LXB1cmNoYXNlID4gYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgfVxufVxuI2ludmVudG9yeSAuaW52ZW50b3J5LXB1cmNoYXNlID4gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzNjY5OTtcbn1cbiNpbnZlbnRvcnkgLmludmVudG9yeS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG59XG4jaW52ZW50b3J5IC5uby1tYXRjaGVzLCAjaW52ZW50b3J5IC5yZXN1bHQtY291bnQtZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2ludmVudG9yeSAudmlldy1saXN0IC5pbnZlbnRvcnktaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3ZjgyODM7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2ludmVudG9yeSAudmlldy1saXN0IC5pbnZlbnRvcnktdGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEyJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS10aHVtYm5haWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4jaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS10aHVtYm5haWwgaW1nIHtcbiAgbWF4LXdpZHRoOiA3MHB4O1xufVxuI2ludmVudG9yeSAudmlldy1saXN0IC5pbnZlbnRvcnktaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICNpbnZlbnRvcnkgLnZpZXctbGlzdCAuaW52ZW50b3J5LWluZm8ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICB9XG59XG4jaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS1sb2NhdGlvbiB7XG4gIHdpZHRoOiA0MCU7XG59XG4jaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS1kZXNjcmlwdGlvbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2ludmVudG9yeSAudmlldy1saXN0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA4OCU7XG4gIH1cbn1cbiNpbnZlbnRvcnkgLnZpZXctbGlzdCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLXRvcCB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cbiNpbnZlbnRvcnkgLnZpZXctbGlzdCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjaW52ZW50b3J5IC52aWV3LWxpc3QgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20gPiBkaXYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbiNpbnZlbnRvcnkgLnZpZXctbGlzdCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWxlZnQge1xuICB3aWR0aDogMTAwJTtcbn1cbiNpbnZlbnRvcnkgLnZpZXctbGlzdCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuI2ludmVudG9yeSAudmlldy1nYWxsZXJ5IC5pbnZlbnRvcnktdGh1bWJuYWlsIGltZyB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2ludmVudG9yeSAudmlldy1nYWxsZXJ5IC5pbnZlbnRvcnktbXNycCwgI2ludmVudG9yeSAudmlldy1nYWxsZXJ5IC5pbnZlbnRvcnktZGVhbGVyIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4jaW52ZW50b3J5IC52aWV3LWdhbGxlcnkgLmludmVudG9yeS1sb2NhdGlvbiB7XG4gIHdpZHRoOiAzMyU7XG59XG4jaW52ZW50b3J5IC52aWV3LWdhbGxlcnkgLmludmVudG9yeS1wdXJjaGFzZSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuI3dhcmUtYm94LCAjd2FyZS1ib3gyLCAjd2FyZS1ib3gzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaXRlbS1wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDYwMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAvKkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAxMTAwcHgpIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH0qL1xufVxuLml0ZW0tcG9wdXAgaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uaXRlbS1wb3B1cCAuaXRlbS1wb3B1cC10aXRsZSBoMyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG4uaXRlbS1wb3B1cCBsYWJlbCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiA4MHB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLml0ZW0tcG9wdXAgaW5wdXQge1xuICB3aWR0aDogNTBweDtcbn1cbi5pdGVtLXBvcHVwID4gZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uaXRlbS1wb3B1cCAuZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogYXV0bztcbn1cbi5pdGVtLXBvcHVwIC5maWVsZCA+IGRpdiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLml0ZW0tcG9wdXAgLmZpZWxkLnVwc2VsbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uaXRlbS1wb3B1cCAuYnV0dG9uIHtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG4uaXRlbS1wb3B1cCAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbi5pdGVtLXBvcHVwIC5pdGVtLXBvcHVwLWN0YSB7XG4gIHBhZGRpbmctbGVmdDogODBweDtcbn1cbi5pdGVtLXBvcHVwIC5pdGVtLXBvcHVwLWN0YSAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbi5pdGVtLXBvcHVwIC5pdGVtLXBvcHVwLWN0YSAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4Mztcbn1cbi5pdGVtLXBvcHVwIC51cHNlbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xufVxuLml0ZW0tcG9wdXAgLnVwc2VsbCBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLml0ZW0tcG9wdXAgLnVwc2VsbCBpbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuLml0ZW0tcG9wdXAgLnVwc2VsbCB0YWJsZSB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cbi5pdGVtLXBvcHVwIC51cHNlbGwgdGFibGUgdHIgdGQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG59XG4uaXRlbS1wb3B1cCAudXBzZWxsIHRhYmxlIHNwYW4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jd2FyZS1ib3gyIC5pdGVtLXBvcHVwLW1zZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4jd2FyZS1ib3gyICNtZXNzYWdlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI3dhcmUtYm94MiAjbWVzc2FnZSAuZmEtY2hlY2stY2lyY2xlLCAjd2FyZS1ib3gyICNtZXNzYWdlIC5mYS1taW51cy1jaXJjbGUsICN3YXJlLWJveDIgI21lc3NhZ2UgLmZhLXRpbWVzLWNpcmNsZSwgI3dhcmUtYm94MiAjbWVzc2FnZSAuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUge1xuICBmb250LXNpemU6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jd2FyZS1ib3gyICNtZXNzYWdlIC5mYS1jaGVjay1jaXJjbGUge1xuICBjb2xvcjogIzMzY2MzMztcbn1cbiN3YXJlLWJveDIgI21lc3NhZ2UgLmZhLW1pbnVzLWNpcmNsZSwgI3dhcmUtYm94MiAjbWVzc2FnZSAuZmEtdGltZXMtY2lyY2xlLCAjd2FyZS1ib3gyICNtZXNzYWdlIC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSB7XG4gIGNvbG9yOiAjZjRhODI2O1xufVxuI3dhcmUtYm94MiAuaXRlbS1wb3B1cC1jdGEge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI3dhcmUtYm94MiAuaXRlbS1wb3B1cC1jdGEgYS5idXR0b246bGluazpmaXJzdC1jaGlsZCwgI3dhcmUtYm94MiAuaXRlbS1wb3B1cC1jdGEgYS5idXR0b246dmlzaXRlZDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYTE3MTc7XG59XG4jd2FyZS1ib3gyIC5pdGVtLXBvcHVwLWN0YSBhLmJ1dHRvbjpsaW5rOmxhc3QtY2hpbGQsICN3YXJlLWJveDIgLml0ZW0tcG9wdXAtY3RhIGEuYnV0dG9uOnZpc2l0ZWQ6bGFzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG59XG4jd2FyZS1ib3gyIC5pdGVtLXBvcHVwLWN0YSBhLmJ1dHRvbjpsaW5rOmhvdmVyLCAjd2FyZS1ib3gyIC5pdGVtLXBvcHVwLWN0YSBhLmJ1dHRvbjp2aXNpdGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cblxuI3dhcmUtYm94MyAuY2FydC1yZXN1bHRzIHRoLCAjd2FyZS1ib3gzIC5jYXJ0LXJlc3VsdHMgdGQge1xuICBmb250LXNpemU6IDFyZW07XG59XG4jd2FyZS1ib3gzIC5jYXJ0LXRvcCB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4jd2FyZS1ib3gzIC5jYXJ0LXRvcCBoMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzdmODI4MztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3ZjgyODM7XG4gIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgLm1vYmlsZS1zdW1tYXJ5LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSAubW9iaWxlLXN1bW1hcnktaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgLm1vYmlsZS1zdW1tYXJ5LXRvdGFsIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5mYS1hbmdsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjN2Y4MjgzO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC43NXJlbTtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktdGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEyJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LXRodW1ibmFpbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktdGh1bWJuYWlsIGltZyB7XG4gIG1heC13aWR0aDogNzBweDtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktaW5mbyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24ge1xuICBmbG9hdDogbGVmdDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA4OCU7XG4gIH1cbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24tdG9wIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSA+IGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20gLmludmVudG9yeS1kZXNjcmlwdGlvbi1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNoZWNrb3V0LWN0YSwgI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LWN0YSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLCAjd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNhcnQtY3RhIC5idXR0b24ge1xuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2hlY2tvdXQtY3RhIC5idXR0b24uZWRpdC1jYXJ0LCAjd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNhcnQtY3RhIC5idXR0b24uZWRpdC1jYXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4MztcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLmNoZWNrb3V0LWJ1dHRvbiwgI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LWN0YSAuYnV0dG9uLmNoZWNrb3V0LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzM2NjMzM7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLm1vYmlsZS1jaGVja291dC10b3RhbCwgI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydC10YWJsZS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3ZjgyODM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3ZjgyODM7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWl0ZW0gLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20tYm90dG9tIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWl0ZW0gLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20tYm90dG9tLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiN3YXJlLWJveDMgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktaXRlbSAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20tYm90dG9tIGkge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4jd2FyZS1ib3gzIC5tb2JpbGUtY2FydCAubW9iaWxlLWNhcnQtY3RhIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwLjc1cmVtO1xufVxuI3dhcmUtYm94MyAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jaW52ZW50b3J5IC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbiAgbWFyZ2luOiAzcmVtIDA7XG59XG4jaW52ZW50b3J5IC5uYXZpZ2F0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4jaW52ZW50b3J5IC5uYXZpZ2F0aW9uLm1vcmVsb2FkZWQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuI2ludmVudG9yeSAubmF2aWdhdGlvbiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDJyZW0gYXV0bztcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xufVxuI2ludmVudG9yeSAubmF2aWdhdGlvbiBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4Mztcbn1cblxuLmludmVudG9yeS1oZWFkLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbi5pbnZlbnRvcnktaGVhZC5maXhlZCAjbGVmdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4udXNlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM3ZjgyODM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGZvbnQtc2l6ZTogMS4wNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC51c2VyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi51c2VyLW5hbWUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC51c2VyLW5hbWUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzc3Nzc3O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cbi51c2VyLWNvZGUge1xuICBjb2xvcjogI2JhMTcxNztcbn1cbi51c2VyLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnVzZXItb3B0aW9ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG4udXNlci1vcHRpb25zID4gZGl2IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAudXNlci1vcHRpb25zID4gZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbn1cbi51c2VyLW9wdGlvbnMgPiBkaXYgYSB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC51c2VyLW9wdGlvbnMgPiBkaXYgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuLnVzZXItb3B0aW9ucyA+IGRpdiBhOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4udXNlci1vcHRpb25zID4gZGl2IGE6aG92ZXIgaSB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuLnVzZXItb3B0aW9ucyA+IGRpdiBpIHtcbiAgY29sb3I6ICM3ZjgyODM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4ubG9hZGluZy1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogOTk5OTtcbn1cbi5sb2FkaW5nLXNjcmVlbiBpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBmb250LXNpemU6IDNyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cbkAtbW96LWtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2ludmVudG9yeSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIH1cbn1cblxuI2ludmVudG9yeSAuZmlsdGVyLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuI2ludmVudG9yeSAuZmlsdGVyLXNlbGVjdGlvbiwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2VsZWN0aW9uIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzdmODI4Mztcbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1zZWxlY3Rpb24gaDUsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLXNlbGVjdGlvbiBoNSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDEuMTVyZW07XG59XG4jaW52ZW50b3J5IC5maWx0ZXItc2VsZWN0aW9uIHVsLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zZWxlY3Rpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG4jaW52ZW50b3J5IC5maWx0ZXItc2VsZWN0aW9uIGxpLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zZWxlY3Rpb24gbGkge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1zZWxlY3Rpb24gaW5wdXQsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLXNlbGVjdGlvbiBpbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG4jaW52ZW50b3J5IC5maWx0ZXItc2VsZWN0aW9uIGxhYmVsLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zZWxlY3Rpb24gbGFiZWwge1xuICBsaW5lLWhlaWdodDogMDtcbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1hY3RpdmUsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLWFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuI2ludmVudG9yeSAuZmlsdGVyLWFjdGl2ZTphZnRlciwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItYWN0aXZlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA3NSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG4gIGhlaWdodDogMXB4O1xufVxuI2ludmVudG9yeSAuZmlsdGVyLWFjdGl2ZSB1bCwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItYWN0aXZlIHVsIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4jaW52ZW50b3J5IC5maWx0ZXItYWN0aXZlIGEsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLWFjdGl2ZSBhIHtcbiAgY29sb3I6ICMzMzY2OTk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1hY3RpdmUgYSNjbGVhciwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItYWN0aXZlIGEjY2xlYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuI2ludmVudG9yeSAuZmlsdGVyLWFjdGl2ZS1zZWxlY3RlZCwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItYWN0aXZlLXNlbGVjdGVkIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG4jaW52ZW50b3J5IC5maWx0ZXItYWN0aXZlLXNlbGVjdGVkOmhvdmVyLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1hY3RpdmUtc2VsZWN0ZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogd2hpdGU7XG59XG4jaW52ZW50b3J5IC5maWx0ZXItYWN0aXZlLXNlbGVjdGVkOmhvdmVyIGEsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLWFjdGl2ZS1zZWxlY3RlZDpob3ZlciBhIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4jaW52ZW50b3J5IC5maWx0ZXItYnV0dG9uLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1idXR0b24ge1xuICBjb2xvcjogI2JhMTcxNztcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI2ludmVudG9yeSAuZmlsdGVyLXBhcnQtbnVtYmVyLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1wYXJ0LW51bWJlciB7XG4gIG1heC13aWR0aDogODAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdmODI4MztcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4jaW52ZW50b3J5IC5maWx0ZXItcGFydC1udW1iZXIgaW5wdXQsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLXBhcnQtbnVtYmVyIGlucHV0IHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI2ludmVudG9yeSAuZmlsdGVyLXNob3BieSwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2hvcGJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC5maWx0ZXItc2hvcGJ5LCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zaG9wYnkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjaW52ZW50b3J5IC5maWx0ZXItc2hvcGJ5LCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zaG9wYnkge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjN2Y4MjgzO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1heC13aWR0aDogODAlO1xuICB9XG59XG4jaW52ZW50b3J5IC5maWx0ZXItc2hvcGJ5IGxhYmVsLCAjaW52ZW50b3J5IC5maWx0ZXItc2hvcGJ5IHNlbGVjdCwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2hvcGJ5IGxhYmVsLCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zaG9wYnkgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1zaG9wYnkgbGFiZWwsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLXNob3BieSBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2ludmVudG9yeSAuZmlsdGVyLXNob3BieSBsYWJlbCwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2hvcGJ5IGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1zaG9wYnkgc2VsZWN0LCAuaW52ZW50b3J5LWhlYWQgLmZpbHRlci1zaG9wYnkgc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAjaW52ZW50b3J5IC5maWx0ZXItc2hvcGJ5IHNlbGVjdCwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2hvcGJ5IHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbiNpbnZlbnRvcnkgLmZpbHRlci1zaG9wYnkgaDUsIC5pbnZlbnRvcnktaGVhZCAuZmlsdGVyLXNob3BieSBoNSB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgI2ludmVudG9yeSAuZmlsdGVyLXNob3BieSBoNSwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2hvcGJ5IGg1IHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB9XG59XG5cbiNpbnZlbnRvcnkgLm9wdGlvbnMtYmFyIHtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICM3ZjgyODM7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuI2ludmVudG9yeSAub3B0aW9ucy1iYXIgc2VsZWN0LCAjaW52ZW50b3J5IC5vcHRpb25zLWJhciBpbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cbiNpbnZlbnRvcnkgLm9wdGlvbnMtYmFyID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiNpbnZlbnRvcnkgLm9wdGlvbnMtYmFyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzdmODI4Mztcbn1cbiNpbnZlbnRvcnkgLm9wdGlvbnMtYmFyLXZpZXcge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jaW52ZW50b3J5IC5vcHRpb25zLWJhci12aWV3IGkge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgY29sb3I6ICNlNGU0ZTQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuI2ludmVudG9yeSAub3B0aW9ucy1iYXItdmlldyBpOmhvdmVyIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jaW52ZW50b3J5IC5vcHRpb25zLWJhci12aWV3IGJ1dHRvbi5hY3RpdmUtdmlldyBpIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jaW52ZW50b3J5IC5vcHRpb25zLWJhci1pbnN0b2NrIGlucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNpbnZlbnRvcnkgLm9wdGlvbnMtYmFyLXNvcnQgc2VsZWN0IHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4jaW52ZW50b3J5IC5vcHRpb25zLWJhciAucmVzdWx0LWNvdW50LCAjaW52ZW50b3J5IC5vcHRpb25zLWJhciAucmVzdWx0LWNvdW50LWVtcHR5IHtcbiAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI2ludmVudG9yeSAuZmlsdGVyLXNlbGVjdGlvbiwgLmludmVudG9yeS1oZWFkIC5maWx0ZXItc2VsZWN0aW9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBoZWlnaHQ6IDUwdmg7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICB9XG4gICNpbnZlbnRvcnkgLmFjY29yZGlvbi1pdGVtLCAuaW52ZW50b3J5LWhlYWQgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjN2Y4MjgzO1xuICB9XG59XG4jaW52ZW50b3J5IC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYSwgLmludmVudG9yeS1oZWFkIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgYSB7XG4gIGNvbG9yOiAjMzM2Njk5O1xufVxuI2ludmVudG9yeSAuYWNjb3JkaW9uLXRpdGxlLCAuaW52ZW50b3J5LWhlYWQgLmFjY29yZGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uY2FydCAjbG9naW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcnQgLnBhZ2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmNhcnQgLnBhZ2UtY29udGVudC5jYXJ0LXRhYmxlLWNvbnRhaW5lciBmb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY2FydCAucGFnZS1jb250ZW50IC5jYXJ0LWxpc3Rpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJlMzEzMDtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNiYTE3MTc7XG59XG4uY2FydCB0aCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUzMTMwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmNhcnQgdGQge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmNhcnQtYnV0dG9ucywgLmNhcnQtdG90YWwge1xuICBwYWRkaW5nOiAycmVtO1xufVxuLmNhcnQtYnV0dG9ucyAuYnV0dG9uIHtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNhcnQtYnV0dG9ucyAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbn1cbi5jYXJ0IC5uZXctc2VhcmNoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jYXJ0IC51cGRhdGUtY2hlY2tvdXQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jYXJ0IC51cGRhdGUtY2hlY2tvdXQgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG59XG4uY2FydCAudXBkYXRlLWNoZWNrb3V0IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzM2NjMzM7XG59XG4uY2FydCAudXBkYXRlLWNoZWNrb3V0IC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5jYXJ0IC5lZGl0LWNhcnQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jYXJ0IC5lZGl0LWNhcnQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG59XG4uY2FydCAuZWRpdC1jYXJ0IC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xufVxuLmNhcnQtcXR5IHtcbiAgd2lkdGg6IDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmNhcnQtdG90YWwge1xuICBmb250LXdlaWdodDogOTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmNhcnQtdG90YWwtdGl0bGUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5jYXJ0IC5kaXNjbGFpbWVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjMmUzMTMwO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2FydCAuZGlzY2xhaW1lciB7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNhcnQgLmludi1idG4tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLmNhcnQgLmNoZWNrb3V0LWVycm9yIHtcbiAgY29sb3I6ICNlZDAwMWE7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucGFnZS1jb250ZW50IC5jaGVja291dC1mb3JtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1jb250ZW50IC5jaGVja291dC1mb3JtIC5idXR0b25zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuI2NoZWNrb3V0IGgxLCAjY2hlY2tvdXQgaDIsICNjYXJ0IGgxLCAjY2FydCBoMiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jY2hlY2tvdXQgaDEsICNjYXJ0IGgxIHtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAjY2hlY2tvdXQgLmNoZWNrb3V0LXRpdGxlLCAjY2hlY2tvdXQgLmNhcnQtdGl0bGUsICNjYXJ0IC5jaGVja291dC10aXRsZSwgI2NhcnQgLmNhcnQtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAjY2hlY2tvdXQgLmNoZWNrb3V0LXRpdGxlIGgxLCAjY2hlY2tvdXQgLmNhcnQtdGl0bGUgaDEsICNjYXJ0IC5jaGVja291dC10aXRsZSBoMSwgI2NhcnQgLmNhcnQtdGl0bGUgaDEge1xuICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICNjaGVja291dCAuY2hlY2tvdXQtZm9ybSBoMiwgI2NhcnQgLmNoZWNrb3V0LWZvcm0gaDIge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG59XG5cbi5jaGVja291dC10b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY2hlY2tvdXQtZm9ybSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzdmODI4Mztcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jaGVja291dC1mb3JtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMmUzMTMwO1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbn1cbi5jaGVja291dC1mb3JtIC5idXR0b25zIC5idXR0b24ge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jaGVja291dC1mb3JtIC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNjYzMzO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLmNoZWNrb3V0LWZvcm0gLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdmODI4Mztcbn1cbi5jaGVja291dC1mb3JtIC5idXR0b25zIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xufVxuLmNoZWNrb3V0LWZvcm0gLmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWQwMDFhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5jaGVja291dCBsYWJlbCB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNzAwO1xuICAvKmZvbnQtc2l6ZToxcmVtOyovXG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNoZWNrb3V0IC5maWVsZCBpbnB1dCwgLmNoZWNrb3V0IC5maWVsZCBzZWxlY3Qge1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gIH1cbn1cbi5jaGVja291dCAuZmllbGQgdGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbn1cbi5jaGVja291dCAuY3VzdG9tZXItYWRkcmVzcyB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuI2NoZWNrb3V0IC5zdW1tYXJ5IHtcbiAgcGFkZGluZzogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzJlMzEzMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbiNjaGVja291dCAuc3VtbWFyeSAuY2FydC1saXN0aW5nIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xufVxuI2NoZWNrb3V0IC5zdW1tYXJ5IHRoOm50aC1jaGlsZCgzKSB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG59XG5cbiNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlLCAjY2FydCAubW9iaWxlLWNhcnQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjN2Y4MjgzO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdmODI4MztcbiAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgLm1vYmlsZS1zdW1tYXJ5LXRpdGxlLCAjY2FydCAubW9iaWxlLWNhcnQgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUgLm1vYmlsZS1zdW1tYXJ5LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiYTE3MTc7XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSAubW9iaWxlLXN1bW1hcnktaWNvbiwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIC5tb2JpbGUtc3VtbWFyeS1pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSAubW9iaWxlLXN1bW1hcnktdG90YWwsICNjYXJ0IC5tb2JpbGUtY2FydCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZSAubW9iaWxlLXN1bW1hcnktdG90YWwge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbiNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmZhLWFuZ2xlLWRvd246YmVmb3JlLCAjY2FydCAubW9iaWxlLWNhcnQgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1pdGVtLCAjY2FydCAubW9iaWxlLWNhcnQgLmludmVudG9yeS1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdmODI4MztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuaW52ZW50b3J5LXRodW1ibmFpbCwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktdGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEyJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuaW52ZW50b3J5LXRodW1ibmFpbCwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktdGh1bWJuYWlsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS10aHVtYm5haWwgaW1nLCAjY2FydCAubW9iaWxlLWNhcnQgLmludmVudG9yeS10aHVtYm5haWwgaW1nIHtcbiAgbWF4LXdpZHRoOiA3MHB4O1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1pbmZvLCAjY2FydCAubW9iaWxlLWNhcnQgLmludmVudG9yeS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1pbmZvLCAjY2FydCAubW9iaWxlLWNhcnQgLmludmVudG9yeS1pbmZvIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgfVxufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1kZXNjcmlwdGlvbiwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24ge1xuICBmbG9hdDogbGVmdDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24sICNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogODglO1xuICB9XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLXRvcCwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24tdG9wIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20sICNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktZGVzY3JpcHRpb24tYm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20gPiBkaXYsICNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbSA+IGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20gLmludmVudG9yeS1kZXNjcmlwdGlvbi1sZWZ0LCAjY2FydCAubW9iaWxlLWNhcnQgLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20gLmludmVudG9yeS1kZXNjcmlwdGlvbi1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20sICNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAubW9iaWxlLWNoZWNrb3V0LWN0YSwgI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLm1vYmlsZS1jYXJ0LWN0YSwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2hlY2tvdXQtY3RhLCAjY2FydCAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LWN0YSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLCAjY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAubW9iaWxlLWNhcnQtY3RhIC5idXR0b24sICNjYXJ0IC5tb2JpbGUtY2FydCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLCAjY2FydCAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LWN0YSAuYnV0dG9uIHtcbiAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICBmb250LXNpemU6IDEuMTVyZW07XG59XG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLmVkaXQtY2FydCwgI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLm1vYmlsZS1jYXJ0LWN0YSAuYnV0dG9uLmVkaXQtY2FydCwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2hlY2tvdXQtY3RhIC5idXR0b24uZWRpdC1jYXJ0LCAjY2FydCAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LWN0YSAuYnV0dG9uLmVkaXQtY2FydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjgyODM7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xufVxuI2NoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dC1jdGEgLmJ1dHRvbi5jaGVja291dC1idXR0b24sICNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5tb2JpbGUtY2FydC1jdGEgLmJ1dHRvbi5jaGVja291dC1idXR0b24sICNjYXJ0IC5tb2JpbGUtY2FydCAubW9iaWxlLWNoZWNrb3V0LWN0YSAuYnV0dG9uLmNoZWNrb3V0LWJ1dHRvbiwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2FydC1jdGEgLmJ1dHRvbi5jaGVja291dC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNjYzMzO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbn1cbiNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5tb2JpbGUtY2hlY2tvdXQtdG90YWwsICNjaGVja291dCAubW9iaWxlLWNoZWNrb3V0IC5tb2JpbGUtY2FydC10b3RhbCwgI2NhcnQgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2hlY2tvdXQtdG90YWwsICNjYXJ0IC5tb2JpbGUtY2FydCAubW9iaWxlLWNhcnQtdG90YWwge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyovLy8vLyBNb2JpbGUgLSBDYXJ0IC8vLy8vKi9cbiNjYXJ0IC5tb2JpbGUtY2FydC10YWJsZS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3ZjgyODM7XG59XG5cbiNjYXJ0IC5tb2JpbGUtY2FydCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjN2Y4MjgzO1xufVxuI2NhcnQgLm1vYmlsZS1jYXJ0IC5pbnZlbnRvcnktaXRlbSAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWl0ZW0gLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20tYm90dG9tLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiNjYXJ0IC5tb2JpbGUtY2FydCAuaW52ZW50b3J5LWl0ZW0gLmludmVudG9yeS1kZXNjcmlwdGlvbi1ib3R0b20tYm90dG9tLWJvdHRvbSBpIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuI2NhcnQgLm1vYmlsZS1jYXJ0IC5tb2JpbGUtY2FydC1jdGEge1xuICBwYWRkaW5nOiAxLjI1cmVtIDAuNzVyZW07XG59XG4jY2FydCAubW9iaWxlLWNhcnQgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKi8vLy8vIFJlbW92ZSBJdGVtIFBvcHVwIC8vLy8vKi9cbiN3YXJlLWJveDIuY2FydCAuaXRlbS1wb3B1cC1jdGEge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5sb2dpbiBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ubG9naW4gaW5wdXQge1xuICBtYXgtd2lkdGg6IDQwJTtcbn1cbi5sb2dpbiAuaW52LWxpbmtzIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmxvZ2luIC5pbnYtbGlua3MgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmxvZ2luIC5pbnYtZGlzY2xhaW1lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5sb2dpbiAudGl0bGUgaDMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDJyZW07XG59XG4ubG9naW4gI2xvZ2luX2Zvcm0ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmxvZ2luIC5pbnYtbXNnID4gcCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuXG4uaW52LnRoYW5rcyB7XG4gIC8qICAucGFnZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgfSovXG59XG4uaW52LnRoYW5rcyBoMyB7XG4gIGNvbG9yOiAjMzNjYzMzO1xuICBmb250LXNpemU6IDRyZW07XG59XG4uaW52LnRoYW5rcyAuYnV0dG9ucyA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmExNzE3O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uaW52LnRoYW5rcyAudGhhbmtzLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaW52LnRoYW5rcyAudGhhbmtzLXRleHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5vcmRlcnMgLnBhZ2UtY29udGVudCAuYWNjb3JkaW9uLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuYWNjb3JkaW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICB9XG4gIC5vcmRlcnMgLnBhZ2UtY29udGVudCAuYWNjb3JkaW9uICNpbnZlbnRvcnktZmlsdGVyLXNlYXJjaCwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLmFjY29yZGlvbiAjaW52ZW50b3J5LWZpbHRlci1zZWFyY2gge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLm9yZGVycyAucGFnZS1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG4ub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLnN1YmhlYWRlciB7XG4gIGZvbnQtd2VpZ2h0OiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgcGFkZGluZzogMnJlbTtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm9yZGVycyAucGFnZS1jb250ZW50IC5zdWJoZWFkZXIsIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cbi5vcmRlcnMgLnBhZ2UtY29udGVudCAuc3ViaGVhZGVyIGxhYmVsLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuc3ViaGVhZGVyIGxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDFyZW07XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLm9yZGVycyAucGFnZS1jb250ZW50IC5zdWJoZWFkZXIgbGFiZWwsIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi5vcmRlcnMgLnBhZ2UtY29udGVudCAuc3ViaGVhZGVyIGlucHV0LCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuc3ViaGVhZGVyIGlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciBpbnB1dCwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLnN1YmhlYWRlciBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vcmRlcnMgLnBhZ2UtY29udGVudCAuc3ViaGVhZGVyIC5zZWFyY2gtZmlsdGVyLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuc3ViaGVhZGVyIC5zZWFyY2gtZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4ub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciA+IGRpdiwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciA+IGRpdiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciA+IGRpdjpmaXJzdC1jaGlsZCwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3JTtcbiAgfVxuICAub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciA+IGRpdjpudGgtY2hpbGQoMiksIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIgLnNlYXJjaC1maWx0ZXIgPiBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogNSU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLm9yZGVycyAucGFnZS1jb250ZW50IC5zdWJoZWFkZXIgLnNlYXJjaC1maWx0ZXIgPiBkaXY6bnRoLWNoaWxkKDMpLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuc3ViaGVhZGVyIC5zZWFyY2gtZmlsdGVyID4gZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxufVxuLm9yZGVycyAucGFnZS1jb250ZW50IC5zdWJoZWFkZXIgLnNlYXJjaC1maWx0ZXIgLmRpdmlkZXIsIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIgLnNlYXJjaC1maWx0ZXIgLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cbi5vcmRlcnMgLnBhZ2UtY29udGVudCAuc3ViaGVhZGVyIC5zZWFyY2gtZmlsdGVyIC5idXR0b24sIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIgLnNlYXJjaC1maWx0ZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuc2VhcmNoLWZpbHRlciAuYnV0dG9uLCAub3JkZXJzIC5pbnZlbnRvcnktaGVhZCAuc3ViaGVhZGVyIC5zZWFyY2gtZmlsdGVyIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4ub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuZGF0ZXMgPiBsYWJlbCwgLm9yZGVycyAuaW52ZW50b3J5LWhlYWQgLnN1YmhlYWRlciAuZGF0ZXMgPiBsYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG4ub3JkZXJzIC5wYWdlLWNvbnRlbnQgLnN1YmhlYWRlciAuZGF0ZXMgPiBsYWJlbDpudGgtY2hpbGQoMiksIC5vcmRlcnMgLmludmVudG9yeS1oZWFkIC5zdWJoZWFkZXIgLmRhdGVzID4gbGFiZWw6bnRoLWNoaWxkKDIpIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuLm9yZGVycyAucGFnZS1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4ub3JkZXJzIC5wYWdlLWNvbnRlbnQgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cbi5vcmRlcnMgLm9yZGVyLXF1ZXJ5IHtcbiAgcGFkZGluZzogMXJlbSAycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm9yZGVycyAub3JkZXItcXVlcnkge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cbi5vcmRlcnMgLm9yZGVyLXRhYmxlIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAub3JkZXJzIC5vcmRlci10YWJsZSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuLm9yZGVycyAub3JkZXItdGFibGUgdGFibGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm9yZGVycyAub3JkZXItdGFibGUgdGhlYWQsIC5vcmRlcnMgLm9yZGVyLXRhYmxlIHRib2R5IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICMwYTBhMGE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm9yZGVycyAub3JkZXItdGFibGUgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG59XG4ub3JkZXJzIC5vcmRlci10YWJsZSB0ZCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ub3JkZXJzIC5vcmRlci10YWJsZSAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5vcmRlcnMgLm9yZGVyLXRhYmxlIC5idXR0b24udHJhY2tpbmctb3JkZXItYnV0dG9uIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm9yZGVycyAuZGlzY2xhaW1lciB7XG4gIGNvbG9yOiAjYmExNzE3O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAub3JkZXJzIC5kaXNjbGFpbWVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgfVxufVxuXG4jd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMsICNpbnYtb3JkZXItcHJpbnQge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaXRlbS1wb3B1cCwgI2ludi1vcmRlci1wcmludCAuaXRlbS1wb3B1cCB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaXRlbS1wb3B1cCwgI2ludi1vcmRlci1wcmludCAuaXRlbS1wb3B1cCB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICB3aWR0aDogOTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaXRlbS1wb3B1cCwgI2ludi1vcmRlci1wcmludCAuaXRlbS1wb3B1cCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICB9XG59XG4jd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMgLmhlYWRlciwgI2ludi1vcmRlci1wcmludCAuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzIC5oZWFkZXIsICNpbnYtb3JkZXItcHJpbnQgLmhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzIC5oZWFkZXIgPiBkaXYsICNpbnYtb3JkZXItcHJpbnQgLmhlYWRlciA+IGRpdiB7XG4gIHdpZHRoOiAzNSU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAjd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMgLmhlYWRlciA+IGRpdiwgI2ludi1vcmRlci1wcmludCAuaGVhZGVyID4gZGl2IHtcbiAgICB3aWR0aDogNDUlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaGVhZGVyIC5hZGRyZXNzLCAjaW52LW9yZGVyLXByaW50IC5oZWFkZXIgLmFkZHJlc3Mge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaGVhZGVyIC5hZGRyZXNzLCAjaW52LW9yZGVyLXByaW50IC5oZWFkZXIgLmFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG4jd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMgLmhlYWRlciAuYWRkcmVzcyA+IGRpdiwgI2ludi1vcmRlci1wcmludCAuaGVhZGVyIC5hZGRyZXNzID4gZGl2IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzIC5oZWFkZXIgLmFkZHJlc3MgPiBkaXY6Zmlyc3QtY2hpbGQsICNpbnYtb3JkZXItcHJpbnQgLmhlYWRlciAuYWRkcmVzcyA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuaGVhZGVyIC5vcmRlci1pbmZvLCAjaW52LW9yZGVyLXByaW50IC5oZWFkZXIgLm9yZGVyLWluZm8ge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzIC5oZWFkZXIgLm9yZGVyLWluZm8sICNpbnYtb3JkZXItcHJpbnQgLmhlYWRlciAub3JkZXItaW5mbyB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAucHJvZHVjdC1saXN0LCAjaW52LW9yZGVyLXByaW50IC5wcm9kdWN0LWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzIC5wcm9kdWN0LWxpc3QsICNpbnYtb3JkZXItcHJpbnQgLnByb2R1Y3QtbGlzdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyB0YWJsZSwgI2ludi1vcmRlci1wcmludCB0YWJsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMgdGFibGUgdGhlYWQsICN3YXJlLWJveDIub3JkZXItZGV0YWlscyB0YWJsZSB0Ym9keSwgI2ludi1vcmRlci1wcmludCB0YWJsZSB0aGVhZCwgI2ludi1vcmRlci1wcmludCB0YWJsZSB0Ym9keSB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgIzBhMGEwYTtcbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyB0YWJsZSB0ZCwgI2ludi1vcmRlci1wcmludCB0YWJsZSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jd2FyZS1ib3gyLm9yZGVyLWRldGFpbHMgLmN0YSwgI2ludi1vcmRlci1wcmludCAuY3RhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuY3RhID4gZGl2LCAjaW52LW9yZGVyLXByaW50IC5jdGEgPiBkaXYge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cbiN3YXJlLWJveDIub3JkZXItZGV0YWlscyAuY3RhIC5idXR0b24sICNpbnYtb3JkZXItcHJpbnQgLmN0YSAuYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnVzZXItb3B0aW9ucyA+IGRpdi51c2VyLW9wdGlvbnMtaW52ZW50b3J5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51c2VyLW9wdGlvbnMgPiBkaXYudXNlci1vcHRpb25zLWludmVudG9yeSBhLCAudXNlci1vcHRpb25zID4gZGl2LnVzZXItb3B0aW9ucy1pbnZlbnRvcnkgaSB7XG4gIGNvbG9yOiAjYmExNzE3O1xufVxuLnVzZXItb3B0aW9ucyA+IGRpdi51c2VyLW9wdGlvbnMtaW52ZW50b3J5IGE6aG92ZXIge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cbi51c2VyLW9wdGlvbnMgPiBkaXYudXNlci1vcHRpb25zLWludmVudG9yeSBhOmhvdmVyIGkge1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLnVzZXItb3B0aW9ucy1pbnZlbnRvcnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJpbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxuI2ludi1vcmRlci1wcmludCAuaXRlbS1wb3B1cCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbiNpbnYtb3JkZXItcHJpbnQgLm9yZGVyLWluZm8sICNpbnYtb3JkZXItcHJpbnQgdGFibGUge1xuICBmb250LXNpemU6IDAuOXJlbTtcbn0iLCIvKiBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuVGFibGUgb2YgQ29udGVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuQGNoYXJzZXQgJ3V0Zi04Jztcbi8vICoqKioqKioqKiogRk9VTkRBVElPTiAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZyhmYWxzZSk7XG4vLyAqKioqKioqKioqIE1PVElPTiBVSSAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG4vLyAqKioqKioqKioqIFNMSUNLIFNMSURFUiAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdzbGljay10aGVtZS5zY3NzJztcbkBpbXBvcnQgJ292ZXJyaWRlcy9zbGljay5zY3NzJztcbkBpbXBvcnQgJ3NsaWNrLnNjc3MnO1xuLy8gKioqKioqKioqKiBNQUdOSUZJQyBQT1BVUCAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdtYWluJztcbi8vICoqKioqKioqKiogQ0FSVCAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdjYXJ0L292ZXJyaWRlcyc7XG4vLyAqKioqKioqKioqIEdFTkVSQUwgKioqKioqKioqKiAvL1xuQGltcG9ydCAnZ2VuZXJhbCc7XG5AaW1wb3J0ICd1dGlsaXR5JztcbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICdmb290ZXInO1xuLy8gKioqKioqKioqKiBIT01FICoqKioqKioqKiogLy9cbkBpbXBvcnQgJ2hvbWUvaGVybyc7XG5AaW1wb3J0ICdob21lL2N0YSc7XG5AaW1wb3J0ICdob21lL3ZlaGljbGUtc2VsZWN0JztcbkBpbXBvcnQgJ2hvbWUvcGFuZWxzJztcbkBpbXBvcnQgJ2hvbWUvYmFubmVycyc7XG5AaW1wb3J0ICdob21lL3ZlaGljbGUtcGFja2FnZXMnO1xuQGltcG9ydCAnaG9tZS9mZWF0dXJlZC13aGVlbHMnO1xuQGltcG9ydCAnaG9tZS9uZXdzbGV0dGVyJztcbkBpbXBvcnQgJ2hvbWUvZ2FsbGVyeSc7XG5AaW1wb3J0ICdob21lL2luc3RhZ3JhbSc7XG5AaW1wb3J0ICdob21lL3BhcmFsbGF4JztcbkBpbXBvcnQgJ2hvbWUvdmlkZW8nO1xuLy8gKioqKioqKioqKiBNSVNDRUxMQU5FT1VTICoqKioqKioqKiogLy9cbkBpbXBvcnQgJ2ZpbHRlcnMnO1xuQGltcG9ydCAndmVoaWNsZS1iYXInO1xuQGltcG9ydCAnbmF2LXNlYXJjaCc7XG4vLyAqKioqKioqKioqIFdIRUVMUyAqKioqKioqKioqIC8vXG5AaW1wb3J0ICd3aGVlbC93aGVlbHMnO1xuQGltcG9ydCAnd2hlZWwvd2hlZWwnO1xuQGltcG9ydCAnd2hlZWwvc3RhZ2UnO1xuQGltcG9ydCAnd2hlZWwvc3BlY3MnO1xuQGltcG9ydCAnd2hlZWwvaW5mbyc7XG5AaW1wb3J0ICd3aGVlbC9jdGEnO1xuQGltcG9ydCAnd2hlZWwvZGV0YWlscy1tZWRpYSc7XG5AaW1wb3J0ICd3aGVlbC92aWV3LW9uLXZlaGljbGUnO1xuQGltcG9ydCAnd2hlZWwvdmVoaWNsZS1nYWxsZXJ5JztcbkBpbXBvcnQgJ3doZWVsL3NwZWMtdGFicyc7XG5AaW1wb3J0ICd3aGVlbC9hZGRpdGlvbmFsJztcbkBpbXBvcnQgJ3doZWVsL3Nob3BzJztcbi8vICoqKioqKioqKiogRUxJVEUgRkxPVyAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdlbGl0ZS1mbG93L2ZpbHRlcnMnO1xuQGltcG9ydCAnZWxpdGUtZmxvdy9saXN0aW5nJztcbi8vICoqKioqKioqKiogRUxJVEUgRkxPVyAtIGRldGFpbHMgKioqKioqKioqKiAvL1xuQGltcG9ydCAnZWxpdGUtZmxvdy9kZXRhaWwnO1xuQGltcG9ydCAnZWxpdGUtZmxvdy9maXRtZW50JztcbkBpbXBvcnQgJ2VsaXRlLWZsb3cvdmlldy1vbi12ZWhpY2xlJztcbi8vICoqKioqKioqKiogVElSRVMgKioqKioqKioqKiAvL1xuQGltcG9ydCAndGlyZS90aXJlJztcbkBpbXBvcnQgJ3RpcmUvaW5mbyc7XG5AaW1wb3J0ICd0aXJlL2N0YSc7XG5AaW1wb3J0ICd0aXJlL3NwZWNzJztcbi8vICoqKioqKioqKiogQUNDRVNTT1JJRVMgKioqKioqKioqKiAvL1xuQGltcG9ydCAnYWNjZXNzb3J5L2FjY2Vzc29yeSc7XG5AaW1wb3J0ICdhY2Nlc3NvcnkvY3RhJztcbkBpbXBvcnQgJ2FjY2Vzc29yeS9iYXInO1xuLy8gKioqKioqKioqKiBHQUxMRVJZICoqKioqKioqKiogLy9cbkBpbXBvcnQgJ2dhbGxlcnkvZmlsdGVyJztcbkBpbXBvcnQgJ2dhbGxlcnkvbGFuZGluZyc7XG5AaW1wb3J0ICdnYWxsZXJ5L2RldGFpbCc7XG4vLyAqKioqKioqKioqIENPTlRFTlQgKioqKioqKioqKiAvL1xuQGltcG9ydCAnY29udGVudC9jb250YWN0JztcbkBpbXBvcnQgJ2NvbnRlbnQvcGFnZSc7XG5AaW1wb3J0ICdjb250ZW50L25ld3MnO1xuQGltcG9ydCAnY29udGVudC9kZWFsZXJzJztcbkBpbXBvcnQgJ2NvbnRlbnQvZG93bmxvYWRzJztcbkBpbXBvcnQgJ2NvbnRlbnQvZXJyb3InO1xuQGltcG9ydCAnY29udGVudC9nZngnO1xuLy8gKioqKioqKioqKiBQT1BVUFMgKioqKioqKioqKiAvL1xuQGltcG9ydCAncG9wdXBzL3BhY2thZ2UnO1xuQGltcG9ydCAncG9wdXBzL2FjY2Vzc29yeSc7XG5AaW1wb3J0ICdwb3B1cHMvZ2FsbGVyeS1xdW90ZSc7XG5AaW1wb3J0ICdwb3B1cHMvZml0bWVudC1jaGVjayc7XG5AaW1wb3J0ICdwb3B1cHMvbmV3c2xldHRlcic7XG4vLyAqKioqKioqKioqIFBPUFVQUyAqKioqKioqKioqIC8vXG5AaW1wb3J0ICdpbnZlbnRvcnkvaW52ZW50b3J5JztcbkBpbXBvcnQgJ2ludmVudG9yeS9oZWFkZXInO1xuQGltcG9ydCAnaW52ZW50b3J5L2ZpbHRlcic7XG5AaW1wb3J0ICdpbnZlbnRvcnkvY2FydCc7XG5AaW1wb3J0ICdpbnZlbnRvcnkvbG9naW4nO1xuQGltcG9ydCAnaW52ZW50b3J5L3RoYW5rcyc7XG5AaW1wb3J0ICdpbnZlbnRvcnkvb3JkZXJzJzsiLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNS4gRHJpbGxkb3duXHJcbi8vICAxNi4gRHJvcGRvd25cclxuLy8gIDE3LiBEcm9wZG93biBNZW51XHJcbi8vICAxOC4gRmxleCBWaWRlb1xyXG4vLyAgMTkuIEZvcm1zXHJcbi8vICAyMC4gTGFiZWxcclxuLy8gIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gIDIyLiBNZW51XHJcbi8vICAyMy4gTWV0ZXJcclxuLy8gIDI0LiBPZmYtY2FudmFzXHJcbi8vICAyNS4gT3JiaXRcclxuLy8gIDI2LiBQYWdpbmF0aW9uXHJcbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOC4gUmV2ZWFsXHJcbi8vICAyOS4gU2xpZGVyXHJcbi8vICAzMC4gU3dpdGNoXHJcbi8vICAzMS4gVGFibGVcclxuLy8gIDMyLiBUYWJzXHJcbi8vICAzMy4gVGh1bWJuYWlsXHJcbi8vICAzNC4gVGl0bGUgQmFyXHJcbi8vICAzNS4gVG9vbHRpcFxyXG4vLyAgMzYuIFRvcCBCYXJcclxuXHJcbkB1c2UgJ3Nhc3M6Y29sb3InO1xyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjY2MwMDAwLFxyXG4gIHNlY29uZGFyeTogI2ZmY2MwMCxcclxuICBzdWNjZXNzOiAjM2FkYjc2LFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNlYzU4NDBcclxuKTtcclxuJHRlcnRpYXJ5LWNvbG9yOiAjM2Y0ODUxO1xyXG4kbGlnaHQtZ3JheTogI2FhYWFhYTtcclxuJG1lZGl1bS1ncmF5OiAjNjY2O1xyXG4kcmVkOiAjZWUzODNhO1xyXG4kZGFyay1ncmF5OiAjMmUzMTMwO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJGxpZ2h0LWJsdWU6ICNlY2VmZjM7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJ1JvYm90bycsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kZm9udC1wcmltYXJ5OiAnTW9udHNlcnJhdCcsICdSb2JvdG8gQ29uZGVuc2VkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLFxyXG4gIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1zZWNvbmRhcnk6ICdSb2JvdG8gQ29uZGVuc2VkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCxcclxuICBzYW5zLXNlcmlmO1xyXG4kZm9udC10aGlyZGFyeTogJ1JvYm90bycsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIG1lZGl1bTogNjQwcHgsXHJcbiAgICBsYXJnZTogMTAyNHB4LFxyXG4gICAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgICB4eGxhcmdlOiAxNDQwcHhcclxuICApXHJcbiAgIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xyXG4kc21hbGwtYnJlYWtwb2ludDogZW0tY2FsYyg2NDApICFkZWZhdWx0O1xyXG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCkgIWRlZmF1bHQ7XHJcbiRsYXJnZS1icmVha3BvaW50OiBlbS1jYWxjKDE0NDApICFkZWZhdWx0O1xyXG4keGxhcmdlLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTkyMCkgIWRlZmF1bHQ7XHJcbi8vIEhlcmUgd2UgZGVmaW5lIHRoZSBsb3dlciBhbmQgdXBwZXIgYm91bmRzIGZvciBlYWNoIG1lZGlhIHNpemVcclxuJHNtYWxsLXJhbmdlOiAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0OyAvKiAwLCA2NDBweCAqL1xyXG4kbWVkaXVtLXJhbmdlOiAoJHNtYWxsLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpICFkZWZhdWx0OyAvKiA2NDFweCwgMTAyNHB4ICovXHJcbiRsYXJnZS1yYW5nZTogKCRtZWRpdW0tYnJlYWtwb2ludCArIGVtLWNhbGMoMSksICRsYXJnZS1icmVha3BvaW50KSAhZGVmYXVsdDsgLyogMTAyNXB4LCAxNDQwcHggKi9cclxuJHhsYXJnZS1yYW5nZTogKCRsYXJnZS1icmVha3BvaW50ICsgZW0tY2FsYygxKSwgJHhsYXJnZS1icmVha3BvaW50KSAhZGVmYXVsdDsgLyogMTQ0MXB4LCAxOTIwcHggKi9cclxuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSkgIWRlZmF1bHQ7IC8qIDE5MjFweCwgLi4uICovXHJcbi8vIE1lZGlhIFF1ZXJpZXNcclxuJHNjcmVlbjogJ29ubHkgc2NyZWVuJyAhZGVmYXVsdDtcclxuJGxhbmRzY2FwZTogJyN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKScgIWRlZmF1bHQ7XHJcbiRwb3J0cmFpdDogJyN7JHNjcmVlbn0gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpJyAhZGVmYXVsdDtcclxuJHNtYWxsLXVwOiAkc2NyZWVuICFkZWZhdWx0O1xyXG4kc21hbGwtb25seTogJyN7JHNjcmVlbn0gYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQoJHNtYWxsLXJhbmdlKX0pJyAhZGVmYXVsdDtcclxuJG1lZGl1bS11cDogJyN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pJyAhZGVmYXVsdDtcclxuJG1lZGl1bS1vbmx5OiAnI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pJ1xyXG4gICFkZWZhdWx0O1xyXG4kbGFyZ2UtdXA6ICcjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pJyAhZGVmYXVsdDtcclxuJGxhcmdlLW9ubHk6ICcjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pJ1xyXG4gICFkZWZhdWx0O1xyXG4keGxhcmdlLXVwOiAnI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSknICFkZWZhdWx0O1xyXG4keGxhcmdlLW9ubHk6ICcjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSknXHJcbiAgIWRlZmF1bHQ7XHJcbiR4eGxhcmdlLXVwOiAnI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pJ1xyXG4gICFkZWZhdWx0O1xyXG4keHhsYXJnZS1vbmx5OiAnI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpfSknXHJcbiAgIWRlZmF1bHQ7XHJcbiRyZXRpbmE6IChcclxuICAnI3skc2NyZWVufSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiknLFxyXG4gICcjeyRzY3JlZW59IGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKScsXHJcbiAgJyN7JHNjcmVlbn0gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpJyxcclxuICAnI3skc2NyZWVufSBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpJyxcclxuICAnI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJyxcclxuICAnI3skc2NyZWVufSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknXHJcbik7XHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gIHNtYWxsOiAyMHB4LFxyXG4gIG1lZGl1bTogMzBweFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgc21hbGw6IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KVxyXG4gICksXHJcbiAgbWVkaXVtOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDc4KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogNjgpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDMyKSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNilcclxuICApXHJcbik7XHJcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XHJcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiA4MCU7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogaW5oZXJpdDtcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuLy8gNy4gQWNjb3JkaW9uXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogY29sb3ItcGljay1jb250cmFzdChcclxuICAkYWNjb3JkaW9uLWJhY2tncm91bmQsXHJcbiAgKCRwcmltYXJ5LWNvbG9yLCAkYmxhY2spXHJcbik7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoXHJcbiAgJGFjY29yZGlvbi1iYWNrZ3JvdW5kLFxyXG4gICgkcHJpbWFyeS1jb2xvciwgJGJsYWNrKVxyXG4pO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWRnZS1iYWNrZ3JvdW5kKTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtXHJcbik7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuLy8gMTMuIENhbGxvdXRcclxuLy8gLS0tLS0tLS0tLS1cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuLy8gMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcclxuJGNsb3NlYnV0dG9uLXNpemU6IChcclxuICBtZWRpdW06IDJlbVxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuLy8gMTUuIERyaWxsZG93blxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4XHJcbik7XHJcbi8vIDE3LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuLy8gMTguIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgd2lkZXNjcmVlbjogMTYgYnkgOVxyXG4pO1xyXG4vLyAxOS4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMjAuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XHJcbi8vIDIzLiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuLy8gMjMuIE9mZi1jYW52YXNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gIHNtYWxsOiAyNTBweFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4XHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcclxuLy8gMjQuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuLy8gMjUuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBjb2xvci1waWNrLWNvbnRyYXN0KCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbi8vIDI2LiBQcm9ncmVzcyBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDI3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHJldmVhbC13aWR0aDogNjAwcHg7XHJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcbi8vIDI4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XHJcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XHJcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDI5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuLy8gMzAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xyXG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogY29sb3IuYWRqdXN0KCR0YWJsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGNvbG9yLmFkanVzdChcclxuICAkdGFibGUtYmFja2dyb3VuZCxcclxuICAkbGlnaHRuZXNzOiAtKCR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSlcclxuKTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuLy8gMzEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMnJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkdGFiLWJhY2tncm91bmQsICgkcHJpbWFyeS1jb2xvciwgJGJsYWNrKSk7XHJcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xyXG4vLyAzMi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuLy8gMzMuIFRpdGxlIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuLy8gMzQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbi8vIDM1LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcbiR0b3BiYXItcGFkZGluZzogMDtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcjogJGxpZ2h0LWdyYXksICRhbHBoYTogMC44KTtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyNTBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGUgb3V0bGluZSB3aGVuIGludGVudCBpcyBjbGVhcmx5IG1vdXNlIGFuZCB0b3VjaFxuICBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0sXG4gIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcbiAgICAqLCAqOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZSBpT1MgY2FsbG91dHMgd2hlbiBkcmFnZ2FibGUgaXMgZmFsc2VcbiAgW2RyYWdnYWJsZT1mYWxzZV0ge1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBcInByaW1hcnlcIjogIzE3NzliYSxcbiAgXCJzZWNvbmRhcnlcIjogIzc2NzY3NixcbiAgXCJzdWNjZXNzXCI6ICMzYWRiNzYsXG4gIFwid2FybmluZ1wiOiAjZmZhZTAwLFxuICBcImFsZXJ0XCI6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBzYWZlIHBhZGRpbmcgb24gdGhlIGJvZHkgZm9yIG5vbi1yZWN0YW5ndWxhciBkZXZpY2VzIChpLmUuIHBob25lcyB3aXRoIG5vdGNoZXMpXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaWYgKCRib2R5LXNhZmUtcGFkZGluZykge1xuICAgICAgLy8gdXNpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGFjY291bnQgZm9yIG5vbi1yZWN0YW5ndWxhciBkaXNwbGF5cyBlLmcuIHBob25lcyB3aXRoIG5vdGNoZXNcbiAgICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZWQgICA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYikpO1xuICAkZ3JlZW4gOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJncmVlblwiLCAkc3BhY2U6IHJnYikpO1xuICAkYmx1ZSAgOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJibHVlXCIsICRzcGFjZTogcmdiKSk7XG4gICRyZ2IgICA6ICdyZ2IlMjgjeyRyZWR9LCAjeyRncmVlbn0sICN7JGJsdWV9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBjb2xvci5jaGFubmVsKCRjb2xvciwgXCJsaWdodG5lc3NcIiwgJHNwYWNlOiBoc2wpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZC1mcm9tLWhlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmVkICAgOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJyZWRcIiwgJHNwYWNlOiByZ2IpKTtcbiAgJGdyZWVuIDogcm91bmQoY29sb3IuY2hhbm5lbCgkY29sb3IsIFwiZ3JlZW5cIiwgJHNwYWNlOiByZ2IpKTtcbiAgJGJsdWUgIDogcm91bmQoY29sb3IuY2hhbm5lbCgkY29sb3IsIFwiYmx1ZVwiLCAkc3BhY2U6IHJnYikpO1xuXG4gICRyZ2JhOiAkcmVkLCAkZ3JlZW4sICRibHVlO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcImxpZ2h0bmVzc1wiLCAkc3BhY2U6IGhzbCkgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJWNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGV4dGVuZCAlY2l0ZS1ibG9jaztcbiAgfVxuXG4gICVjb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBwcmludC1jb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICBAaWYgJHB1c2gge1xuICAgICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHB1bGwge1xuICAgICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIEBpZiAkb2Zmc2V0IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgQGlmICRjZW50ZXIge1xuICAgICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAkLWd1dHRlci11bnBvcy1zZWxlY3RvcjogKFxuICAgICAgaWYoJHVuY2VudGVyLCAnLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0nLCBudWxsKSxcbiAgICAgIGlmKCRwdXNoLCAnLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wJywgbnVsbCksXG4gICAgICBpZigkcHVsbCwgJy4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCcsIG51bGwpLFxuICAgICk7XG4gICAgQGlmICgkdW5jZW50ZXIgb3IgJHB1c2ggb3IgJHB1bGwpIHtcbiAgICAgICN7JC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAqIDAuNSAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJGNvbHVtbnMsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1uLWNvdW50KTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xuXG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZShkaXZpZGUoJHBvc2l0aW9uLCAkZ3JpZC1jb2x1bW4tY291bnQpKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cblxuICAvLyBDZW50ZXIgcG9zaXRpb25pbmdcbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgXCJjZW50ZXJcIiBvciBcImF1dG9cIi4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKGF1dG8pO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoMSwgJG4pKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpICogMC41O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgKiAwLjU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIGRpdmlkZSgxMDAsICRuKSAqICRpKSAqIDAuNSAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSBkaXZpZGUoMTAwLCAkbikgKiAkaSkgKiAwLjUgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3tcIlwiICsgJG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4je1wiXCIgKyAkbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkYmFzZS1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRiYXNlLXNlbGVjdG9yfSB7XG4gICAgICAgIC8vIERvIG5vdCBnZW5lcmF0ZSBidXR0b24gYmFzZSBzdHlsZXMgZm9yIHRoZSBkZWZhdWx0IGZpbGxpbmdcbiAgICAgICAgQGlmKCRidXR0b24tZmlsbCAhPSAkZmlsbGluZykge1xuICAgICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAgICRpbmRpdmlkdWFsLXNlbGVjdG9yOiAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4je1wiXCIgKyAkbmFtZX0nO1xuICAgICAgICAgICAgJi4je1wiXCIgKyAkbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAmI3skaW5kaXZpZHVhbC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgJi4je1wiXCIgKyAkbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLm5vLWdhcHMge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLW5vLWdhcHM7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRjbG9zZWJ1dHRvbi16LWluZGV4O1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4je1wiXCIgKyAkbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4je1wiXCIgKyAkbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGN1cnNvcjogZ3JhYjtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoIG9uIGZvY3VzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtZm9jdXM6IHNjYWxlLWNvbG9yKCRzd2l0Y2gtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaCBvbiBmb2N1cy5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZS1mb2N1czogc2NhbGUtY29sb3IoJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZSwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgZm9jdXNlZFxuICBpbnB1dDpmb2N1cy12aXNpYmxlIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWZvY3VzO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpjaGVja2VkOmZvY3VzLXZpc2libGUgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlLWZvY3VzO1xuICB9XG5cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuQHVzZSBcInNhc3M6Y29sb3JcIjtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGNvbG9yLmFkanVzdCgkdGFibGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLSR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogY29sb3IuYWRqdXN0KCR0YWJsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtKCR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGNvbG9yLmFkanVzdCgkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBjb2xvci5hZGp1c3QoJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLSR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3tcIlwiICsgJG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3tcIlwiICsgJG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsIGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYG1lbnUtY2VudGVyZWRgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIHVzaW5nIGBpY29uLSpgIGNsYXNzZXMgd2l0aG91dCBgLmljb25zYCBjbGFzc2VzXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgdGhpcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG5cbiAgYSxcbiAgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW1zLXBhZGRpbmc7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG5AbWl4aW4gbWVudS1leHBhbmQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gbWVudSBpdGVtcy5cbkBtaXhpbiBtZW51LWFsaWduKCRhbGlnbm1lbnQpIHtcbiAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGNlbnRlciB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gVGhpcyBlZmZlY3RzIHRoZSBzaWRlIG9mIHRoZSBgPGxpPmAgdGhhdCByZWNlaXZlcyB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIFskbWVudS1zaW1wbGUtbWFyZ2luXSAtIFRoZSBtYXJnaW4gdG8gYXBwbHkgdG8gZWFjaCBgPGxpPmAuXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0LCAkbWFyZ2luOiAkbWVudS1zaW1wbGUtbWFyZ2luKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSArIGxpIHtcbiAgICBtYXJnaW4tI3skZGlyfTogJG1hcmdpbjtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkbWFyZ2luIFskbWVudS1uZXN0ZWQtbWFyZ2luXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG5lc3RlZC1hbGlnbm1lbnQgW2xlZnRdIC0gQWxpZ25tZW50IG9mIHRoZSBuZXN0ZWQgY2xhc3NcbkBtaXhpbiBtZW51LW5lc3RlZChcbiAgJG1hcmdpbjogJG1lbnUtbmVzdGVkLW1hcmdpbixcbiAgJG5lc3RlZC1hbGlnbm1lbnQ6IGxlZnRcbikge1xuICBAaWYgJG5lc3RlZC1hbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWFyZ2luO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG4gIH1cblxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGljb25zIGluIG1lbnVzLlxuQG1peGluIG1lbnUtaWNvbnMoKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGltZyxcbiAgICBpLFxuICAgIHN2ZyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWxpZ24gdG9wL2JvdHRvbSBpY29ucyB3aXRoaW4gYSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGFsaWdubWVudCBbY2VudGVyXSAtIEFsaWdubWVudCBvZiB0aGUgaWNvblxuQG1peGluIG1lbnUtaWNvbi1hbGlnbm1lbnQoJGFsaWdubWVudDogY2VudGVyKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuaWNvbi10b3AsXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBsaSBhIHtcbiAgICAgICAgaW1nLFxuICAgICAgICBpLFxuICAgICAgICBzdmcge1xuICAgICAgICAgIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgaWNvbiBwb3NpdGlvblxuICAgIC8vIEluY2x1ZGVzIHNwZWNpZmljaXR5IHRvIG5lc3RlZCBpY29ucyB3aXRoIGEgZGlmZmVyZW50IHBvc2l0aW9uXG4gICAgJixcbiAgICAmLm5lc3RlZCB7XG4gICAgICAvLyBJY29uIExlZnRcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFJpZ2h0XG4gICAgICAmLmljb24tcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIFRvcFxuICAgICAgJi5pY29uLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBJY29uIEJvdHRvbVxuICAgICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgKiAwLjUpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbVxuICAgID4gbGkgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGV2ZWwgaXRlbSBhY3RpdmUgc3RhdGVcbiAgICA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5kcm9wZG93biAmIGEge1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIEJpbmQgdG8gaGFzLXRyYW5zaXRpb24tWCBjbGFzcyB0byBwcmV2ZW50IHRyYW5zaXRpb24gZm9yIHRyYW5zZm9ybTpub25lXG4gICYuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCxcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuICAkY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuICAkYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIC8vIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgLy8gICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcbiAgfVxuICAudG9wLWJhciB7XG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICB9XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2xpY2stbGlzdCB7XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIGJhY2tncm91bmQ6ICBzbGljay1pbWFnZS11cmwoJy4uL2ltYWdlcy92ZW5kb3JzL2FqYXgtbG9hZGVyLmdpZicpIGNlbnRlclxuICAgICAgY2VudGVyIG5vLXJlcGVhdDtcbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG5cbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyBDb250ZW50czpcbi8vXG4vLyAxLiBHZW5lcmFsIHN0eWxlc1xuLy8gICAgLSBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLy8gICAgLSBDb250YWluZXJzLCB3cmFwcGVyc1xuLy8gICAgLSBDdXJzb3JzXG4vLyAgICAtIEhlbHBlciBjbGFzc2VzXG4vLyAyLiBBcHBlYXJhbmNlXG4vLyAgICAtIFByZWxvYWRlciAmIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLy8gICAgLSBDU1MgcmVzZXQgZm9yIGJ1dHRvbnNcbi8vICAgIC0gQ2xvc2UgaWNvblxuLy8gICAgLSBcIjEgb2YgWFwiIGNvdW50ZXJcbi8vICAgIC0gTmF2aWdhdGlvbiAobGVmdC9yaWdodCkgYXJyb3dzXG4vLyAgICAtIElmcmFtZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIEltYWdlIGNvbnRlbnQgdHlwZSBzdHlsZXNcbi8vICAgIC0gTWVkaWEgcXVlcnkgd2hlcmUgc2l6ZSBvZiBhcnJvd3MgaXMgcmVkdWNlZFxuLy8gICAgLSBJRTcgc3VwcG9ydFxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAxLiBHZW5lcmFsIHN0eWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIFRyYW5zbHVzY2VudCBvdmVybGF5XG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcblxuICBiYWNrZ3JvdW5kOiAkbWZwLW92ZXJsYXktY29sb3I7XG4gIG9wYWNpdHk6ICRtZnAtb3ZlcmxheS1vcGFjaXR5O1xufVxuXG4vLyBXcmFwcGVyIGZvciBwb3B1cFxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gZml4ZXMgd2Via2l0IGJ1ZyB0aGF0IGNhbiBjYXVzZSBcImZhbHNlXCIgc2Nyb2xsYmFyXG59XG5cbi8vIFJvb3QgY29udGFpbmVyXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIFZlcnRpY2FsIGNlbnRlcmVyIGhlbHBlclxuLm1mcC1jb250YWluZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi8vIFJlbW92ZSB2ZXJ0aWNhbCBjZW50ZXJpbmcgd2hlbiBwb3B1cCBoYXMgY2xhc3MgYG1mcC1hbGlnbi10b3BgXG4ubWZwLWFsaWduLXRvcCB7XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQb3B1cCBjb250ZW50IGhvbGRlclxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDU7XG59XG4ubWZwLWlubGluZS1ob2xkZXIsXG4ubWZwLWFqYXgtaG9sZGVyIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLy8gQ3Vyc29yc1xuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG4ubWZwLXpvb20tb3V0LWN1ciB7XG4gICYsIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gICAgY3Vyc29yOiB6b29tLW91dDtcbiAgfVxufVxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cbi5tZnAtYXV0by1jdXJzb3Ige1xuICAubWZwLWNvbnRlbnQge1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxufVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8gSGlkZSB0aGUgaW1hZ2UgZHVyaW5nIHRoZSBsb2FkaW5nXG4ubWZwLWxvYWRpbmcge1xuICAmLm1mcC1maWd1cmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gSGVscGVyIGNsYXNzIHRoYXQgaGlkZXMgc3R1ZmZcbkBpZiAkbWZwLXVzZS12aXN1YWxseWhpZGRlbiB7XG4gIC8vIEZyb20gSFRNTDUgQm9pbGVycGxhdGUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi92NC4yLjAvZG9jL2Nzcy5tZCN2aXN1YWxseWhpZGRlblxuICAubWZwLWhpZGUge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB9XG59IEBlbHNlIHtcbiAgLm1mcC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDIuIEFwcGVhcmFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBQcmVsb2FkZXIgYW5kIHRleHQgdGhhdCBkaXNwbGF5cyBlcnJvciBtZXNzYWdlc1xuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA0O1xuICBhIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy10ZXh0LWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGlkZSBwcmVsb2FkZXIgd2hlbiBjb250ZW50IHN1Y2Nlc3NmdWxseSBsb2FkZWRcbi5tZnAtcy1yZWFkeSB7XG4gIC5tZnAtcHJlbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhpZGUgY29udGVudCB3aGVuIGl0IHdhcyBub3QgbG9hZGVkXG4ubWZwLXMtZXJyb3Ige1xuICAubWZwLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gQ1NTLXJlc2V0IGZvciBidXR0b25zXG5idXR0b24ge1xuICAmLm1mcC1jbG9zZSxcbiAgJi5tZnAtYXJyb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAkbWZwLXotaW5kZXgtYmFzZSArIDY7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDBcbiAgfVxufVxuXG5cbi8vIENsb3NlIGljb25cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICB0b3A6IDFweDtcbiAgfVxufVxuLm1mcC1jbG9zZS1idG4taW4ge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yO1xuICB9XG59XG4ubWZwLWltYWdlLWhvbGRlcixcbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIC5tZnAtY2xvc2Uge1xuICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBcIjEgb2YgWFwiIGNvdW50ZXJcbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gTmF2aWdhdGlvbiBhcnJvd3NcbkBpZiAkbWZwLWluY2x1ZGUtYXJyb3dzIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6ICRtZnAtY29udHJvbHMtb3BhY2l0eTtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTU1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNTRweDtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuXG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICAgIHRvcDo4cHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuXG4gIH1cblxuICAubWZwLWFycm93LWxlZnQge1xuICAgIGxlZnQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzlweFxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIElmcmFtZSBjb250ZW50IHR5cGVcbkBpZiAkbWZwLWluY2x1ZGUtaWZyYW1lLXR5cGUge1xuICAubWZwLWlmcmFtZS1ob2xkZXIge1xuICAgIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1wYWRkaW5nLXRvcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6ICRtZnAtaWZyYW1lLW1heC13aWR0aDtcbiAgICB9XG4gICAgLm1mcC1jbG9zZSB7XG4gICAgICB0b3A6IC00MHB4O1xuICAgIH1cbiAgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiAkbWZwLWlmcmFtZS1yYXRpbyAqIDEwMCU7XG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWZwLWlmcmFtZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gSW1hZ2UgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWltYWdlLXR5cGUge1xuXG4gIC8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbiAgaW1nIHtcbiAgICAmLm1mcC1pbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHBhZGRpbmc6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3AgMCAkbWZwLWltYWdlLXBhZGRpbmctYm90dG9tO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4gIC5tZnAtZmlndXJlIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDtcbiAgICAgIGJvdHRvbTogJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm94LXNoYWRvdzogJG1mcC1zaGFkb3c7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWZwLWltYWdlLWJhY2tncm91bmQ7XG4gICAgfVxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAubWZwLWJvdHRvbS1iYXIge1xuICAgIG1hcmdpbi10b3A6IC0kbWZwLWltYWdlLXBhZGRpbmctYm90dG9tICsgNDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG4gIC5tZnAtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgY29sb3I6ICRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgcGFkZGluZy1yaWdodDogMzZweDsgLy8gbGVhdmUgc29tZSBzcGFjZSBmb3IgY291bnRlciBhdCByaWdodCBzaWRlXG4gIH1cblxuICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgLm1mcC1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAubWZwLWdhbGxlcnkge1xuICAgIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgQGlmICRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gICAgICAubWZwLWltZy1tb2JpbGUge1xuICAgICAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAmLm1mcC1pbWcge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1maWd1cmUge1xuICAgICAgICAgIC8vIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWZwLWJvdHRvbS1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1jb3VudGVyIHtcbiAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5tZnAtY2xvc2Uge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gU2NhbGUgbmF2aWdhdGlvbiBhcnJvd3MgYW5kIHJlZHVjZSBwYWRkaW5nIGZyb20gc2lkZXNcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7XG4gIH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gIH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogJG1mcC1wb3B1cC1wYWRkaW5nLWxlZnQtbW9iaWxlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgfVxufVxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgU2V0dGluZ3MgICAgICAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIG92ZXJsYXlcbiRtZnAtb3ZlcmxheS1jb2xvcjogICAgICAgICAgICAgICAgICAgIzBiMGIwYiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLW92ZXJsYXktb3BhY2l0eTogICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIG92ZXJsYXkgc2NyZWVuXG4kbWZwLXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgIDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpICFkZWZhdWx0OyAvLyBTaGFkb3cgb24gaW1hZ2Ugb3IgaWZyYW1lXG5cbi8vIHNwYWNpbmdcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBhZGRpbmcgZnJvbSBsZWZ0IGFuZCBmcm9tIHJpZ2h0IHNpZGVcbiRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTogICAgICAgNnB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNhbWUgYXMgYWJvdmUsIGJ1dCBpcyBhcHBsaWVkIHdoZW4gd2lkdGggb2Ygd2luZG93IGlzIGxlc3MgdGhhbiA4MDBweFxuXG4kbWZwLXotaW5kZXgtYmFzZTogICAgICAgICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYXNlIHotaW5kZXggb2YgcG9wdXBcblxuLy8gY29udHJvbHNcbiRtZnAtaW5jbHVkZS1hcnJvd3M6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEluY2x1ZGUgc3R5bGVzIGZvciBuYXYgYXJyb3dzXG4kbWZwLWNvbnRyb2xzLW9wYWNpdHk6ICAgICAgICAgICAgICAgIDAuNjUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBPcGFjaXR5IG9mIGNvbnRyb2xzXG4kbWZwLWNvbnRyb2xzLWNvbG9yOiAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I6ICAgICAgICAgICAjM0YzRjNGICFkZWZhdWx0OyBcdCAgICAgICAgICAgICAgICAgLy8gQm9yZGVyIGNvbG9yIG9mIGNvbnRyb2xzXG4kbWZwLWlubmVyLWNsb3NlLWljb24tY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBjbG9zZSBidXR0b24gd2hlbiBpbnNpZGVcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjogICAgICAgICAgICAgI0NDQyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcbiRtZnAtY29udHJvbHMtdGV4dC1jb2xvci1ob3ZlcjogICAgICAgI0ZGRiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdmVyIGNvbG9yIG9mIHByZWxvYWRlciBhbmQgXCIxIG9mIFhcIiBpbmRpY2F0b3JcblxuLy8gSWZyYW1lLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlOiAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIElmcmFtZS10eXBlIHBvcHVwc1xuJG1mcC1pZnJhbWUtcGFkZGluZy10b3A6ICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSWZyYW1lIHBhZGRpbmcgdG9wXG4kbWZwLWlmcmFtZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLW1heC13aWR0aDogICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gd2lkdGggb2YgaWZyYW1lc1xuJG1mcC1pZnJhbWUtcmF0aW86ICAgICAgICAgICAgICAgICAgICA5LzE2ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gUmF0aW8gb2YgaWZyYW1lICg5LzE2ID0gd2lkZXNjcmVlbiwgMy80ID0gc3RhbmRhcmQsIGV0Yy4pXG5cbi8vIEltYWdlLXR5cGUgb3B0aW9uc1xuJG1mcC1pbmNsdWRlLWltYWdlLXR5cGU6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRW5hYmxlIEltYWdlLXR5cGUgcG9wdXBzXG4kbWZwLWltYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbWZwLWltYWdlLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbWFnZSBwYWRkaW5nIHRvcFxuJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTogICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyBib3R0b21cbiRtZnAtaW5jbHVkZS1tb2JpbGUtbGF5b3V0LWZvci1pbWFnZTogdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZXMgcGFkZGluZ3MgZnJvbSB0b3AgYW5kIGJvdHRvbVxuXG4vLyBJbWFnZSBjYXB0aW9uIG9wdGlvbnNcbiRtZnAtY2FwdGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgI0YzRjNGMyAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gdGl0bGUgY29sb3JcbiRtZnAtY2FwdGlvbi1zdWJ0aXRsZS1jb2xvcjogICAgICAgICAgI0JEQkRCRCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIC8vIENhcHRpb24gc3VidGl0bGUgY29sb3JcblxuLy8gQTExeVxuJG1mcC11c2UtdmlzdWFsbHloaWRkZW46ICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgLy8gSGlkZSBjb250ZW50IGZyb20gYnJvd3NlcnMsIGJ1dCBtYWtlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiIsIiNmYyB7XG4gICAgLmZjLWNhcnRfX2l0ZW1fX29wdGlvbl9fdmFsdWUsXG4gICAgLmZjLWNhcnRfX2l0ZW1fX29wdGlvbl9fbmFtZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgICBcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMC4gVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAvLyBjb2xvcnNcbiAgJHJlZDogI2JhMTcxNztcbiAgJG9yYW5nZTogI2ZiN2YwMTtcbiAgJHdoaXRlMjojZjFmMmYxO1xuICAkd2hpdGVGOiNmZmZmZmY7XG4gICRncmF5OiAjN2Y4MjgzO1xuICAkZ3JheTI6ICM3MDcwNzA7XG4gICRncmF5MjQ6ICMyNDI0MjQ7XG4gICRncmF5MzogIzMzMzMzMztcbiAgJGdyYXk0OiAjNDQ0NDQ0O1xuICAkZ3JheTY6ICM2NjY2NjY7XG4gICRncmF5NzogIzc3Nzc3NztcbiAgJGdyYXk4OiAjODg4ODg4O1xuICAkZ3JheTk6ICM5OTk5OTk7XG4gIFxuICAkZ3JheUI5OiAjYjliOWI5O1xuICAkZ3JheUM6ICNjY2NjY2M7XG4gICRncmF5RDE6ICNkMWQxZDE7XG4gICRncmF5RUQ6ICNlZGVkZWQ7XG4gICRncmF5RTY6ICNlNmU2ZTY7XG4gICRncmF5RjU6ICNmNWY1ZjU7XG4gICRncmF5RjY6ICNmNmY2ZjY7XG4gICRncmF5RDI6ICNkMmQyZDI7XG5cbiAgJHByaW1hcnktY29sb3I6JHJlZDtcbiAgXG4gIC8vIGZvbnRzXG4gICRib2R5LWZvbnQtZmFtaWx5OidSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgJGJvZHktZm9udC1mYW1pbHktcmVndWxhcjonUm9ib3RvJywgc2Fucy1zZXJpZjtcblxuICAvLyBJbnZlbnRvcnlcbiAgJGJsdWU6ICMzMzY2OTk7XG4gICRncmVlbjojMzNjYzMzO1xuICAkeWVsbG93OiNmNGE4MjY7XG4gICRsaWdodC1yZWQ6I2VkMDAxYTtcbiAgJGludi1saWdodC1ncmF5OiNlNGU0ZTQ7XG4gICRoZWFkaW5nLWZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5O1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gR2VuZXJhbCAoRm91bmRhdGlvbiBPdmVycmlkZXMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBmb250LXNpemU6MS4ycmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiA0OHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuYSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxudGFibGUge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMDtcbn1cblxudGFibGUgdHIgdGQsXG50YWJsZSB0aGVhZCB0ciB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGFibGUgdGhlYWQgdHIgdGgge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzcwNzA3MDtcbn1cblxuLmJnLWltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnByb2R1Y3QtcGFyYWdyYXBoIHtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uaW5mbyB7XG4gICYtLWxpbWl0IHtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gICYtLWhlaWdodCB7XG4gICAgaGVpZ2h0OiA2ZW07XG4gIH1cbn1cblxuLnBhcmFsbGF4IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgxLFxuICBoMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEuOHJlbTtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgdG9wOiAyNSU7XG4gIH1cbiAgLmltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgLmJnLXRvcCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgfVxuICAuaW1nOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB9XG59XG5cbi53aGl0ZS1wb3B1cCB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIC5wb3B1cC1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuLm5vLXJlc3VsdHMge1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgei1pbmRleDogMTA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi0tbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDMuMnJlbTtcbiAgfVxufVxuXG4ucHJpbWFyeSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLnByaW1hcnktYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLnByaW1hcnktYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwLjhyZW0gMS45cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLnJlZC1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4uYmxhY2stZm9udCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4ucmVkIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4ud2hpdGUge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLm5vLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgY29sb3I6ICMzMjMyMzI7XG59XG5cbi5ibGFjayxcbi5idXR0b24uYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnV0dG9uLFxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmZvbnQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZvbnQtaGVhdnkge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5nLXJlY2FwdGNoYSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jY2FwdGNoYUNoZWNrIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFkZGVkIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuXG4ucGFkZGVkLmV4dHJhIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4ucGFkZGVkLnNob3J0IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLnBhZGRlZC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5wYWRkZWQtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5jb250YWluZXItcGFkZGluZy0tYiB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xufVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb24tbmF2aWdhdGlvbj4uY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkPiA6Zmlyc3QtY2hpbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0zcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5tZW51LnNpbXBsZT5saT5hIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1lbnU+bGk6bm90KC5tZW51LXRleHQpPmEge1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udGl0bGUtYmFyLFxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udG9wLWJhcixcbi50b3AtYmFyIHVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi50b3AtYmFyIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICBib3JkZXI6IDBweDtcbn1cblxuLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3c+YTo6YWZ0ZXIge1xuICByaWdodDogMHB4O1xufVxuXG4uZHJvcGRvd24ubWVudT5saT5hOmhvdmVyLFxuLmRyb3Bkb3duLm1lbnU+bGk+dWwgbGkgYTpob3Zlcixcbi5kcm9wZG93bi5tZW51PmxpLmlzLWFjdGl2ZT5hIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG4uZHJvcGRvd24ubWVudT5saT51bCBsaSBhIHtcbiAgcGFkZGluZzogMC41cmVtIDByZW07XG59XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4uaW50LnNpdGUtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6JHdoaXRlMjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYzZW0pIHtcbiAgLmludC5zaXRlLWNvbnRlbnQgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgfVxufVxuXG4vKioqKioqKioqIFZJREVPICoqKioqKioqKi9cblxuI3ZpZGVvcyB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNjY2O1xuICB9XG4gIGE6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuICAjbmV4dC1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbiAgI3ZpZGVvLWNvbnRhaW5lciAuY29sdW1uIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLyAqKioqKioqKioqIFBPUFVQICoqKioqKioqKiogLy9cbi53aGl0ZS1wb3B1cC53aGl0ZS1wb3B1cC0td2lkZSB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi8vICoqKioqKioqKiogSE9WRVIgSVRFTVMgKioqKioqKioqKiAvL1xuLmhvdmVyLWl0ZW0tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG5cbi5ob3Zlci1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgLmhvdmVyLWl0ZW1fX2ltZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG4gICZfX2hlYWRlciB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG4gICZfX2hlYWRlcixcbiAgaDYgc21hbGwge1xuICAgIGNvbG9yOiAjNTQ1NDU0O1xuICB9XG4gICZfX2ltZyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LWFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjFyZW07XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbi8vICoqKioqKioqKiogUHJvZHVjdCBEZXRhaWwgUG9wdXAgT3ZlcnJpZGUgKioqKioqKioqKiAvL1xuLnBvcHVwLWJrZyAubWZwLWltZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5wb3B1cC1ia2cgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMDAwO1xuICByaWdodDogMDtcbn1cblxuXG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6JHJlZDtcbiAgcGFkZGluZy10b3A6LjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTouMjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgcGFkZGluZy1yaWdodDoxcmVtO1xuICB9XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgbWFyZ2luOjA7XG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3doZWVsIC5icmVhZGNydW1icyAucm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbn1cblxuXG5cbi8vIHRvIGRlbGV0ZSB3aGVuIGludmVudG9yeSBjcmVhdGVkIC8vXG4jbG9naW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTI7XG4gIC5pbnYtZGlzY2xhaW1lciB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDo0MCU7XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6MDtcbiAgfVxuICAucGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgOC4gbWFnbmlmaWMgcG9wdXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAubWZwLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OjEwMHZoO1xuICAgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogaG9uZXlwb3QgKi9cbi5vaG5vaG9uZXkge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBsb2FkaW5nIHNwaW5uZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAubGRzLWVsbGlwc2lzLFxuICAgLmxkcy1lbGxpcHNpcyBkaXYge1xuICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgfVxuICAgLmxkcy1lbGxpcHNpcyB7XG4gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICB3aWR0aDogODBweDtcbiAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICBjb2xvcjokZ3JheUI5O1xuICAgfVxuICAgLmxkcy1lbGxpcHNpcyBkaXYge1xuICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgIHRvcDogMzMuMzMzMzNweDtcbiAgICAgd2lkdGg6IDEzLjMzMzMzcHg7XG4gICAgIGhlaWdodDogMTMuMzMzMzNweDtcbiAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAxLCAxLCAwKTtcbiAgIH1cbiAgIC5sZHMtZWxsaXBzaXMgZGl2Om50aC1jaGlsZCgxKSB7XG4gICAgIGxlZnQ6IDhweDtcbiAgICAgYW5pbWF0aW9uOiBsZHMtZWxsaXBzaXMxIDAuNnMgaW5maW5pdGU7XG4gICB9XG4gICAubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoMikge1xuICAgICBsZWZ0OiA4cHg7XG4gICAgIGFuaW1hdGlvbjogbGRzLWVsbGlwc2lzMiAwLjZzIGluZmluaXRlO1xuICAgfVxuICAgLmxkcy1lbGxpcHNpcyBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgbGVmdDogMzJweDtcbiAgICAgYW5pbWF0aW9uOiBsZHMtZWxsaXBzaXMyIDAuNnMgaW5maW5pdGU7XG4gICB9XG4gICAubGRzLWVsbGlwc2lzIGRpdjpudGgtY2hpbGQoNCkge1xuICAgICBsZWZ0OiA1NnB4O1xuICAgICBhbmltYXRpb246IGxkcy1lbGxpcHNpczMgMC42cyBpbmZpbml0ZTtcbiAgIH1cbiAgIEBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMSB7XG4gICAgIDAlIHtcbiAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICB9XG4gICAgIDEwMCUge1xuICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgIH1cbiAgIH1cbiAgIEBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMyB7XG4gICAgIDAlIHtcbiAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICB9XG4gICAgIDEwMCUge1xuICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgIH1cbiAgIH1cbiAgIEBrZXlmcmFtZXMgbGRzLWVsbGlwc2lzMiB7XG4gICAgIDAlIHtcbiAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgfVxuICAgICAxMDAlIHtcbiAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyNHB4LCAwKTtcbiAgICAgfVxuICAgfSIsIi50IHtcbiAgJi11cHBlcmNhc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi0tc20ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uY29sb3Ige1xuICAmLS1ncmF5IHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG59XG5cbi5tYXJnaW4ge1xuICAmLS10YiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuXG4ucGFkZGluZyB7XG4gICYtLXRiIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cblxuLmYge1xuICAmLWNlbnRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5ib3JkZXIge1xuICAmLWIge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG4ucHJvY2Vzc2luZyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2hpdGUtcG9wdXAge1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbn1cbi5kYXJrLXBvcHVwIHtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6JGdyYXkyNDtcbiAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheUM7XG4gIC5tZnAtY2xvc2Uge1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oZWFkZXIge1xuICAudG9wLWJhciB7XG4gICAgLypwYWRkaW5nOiAyMXB4IDA7Ki9cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaHAtYnRuLWxpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuOHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuOHJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1iYXItdGl0bGUge1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItbG9nbyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgXG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50PmEge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICAgICAgdG9wOjQ4cHghaW1wb3J0YW50O1xuICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIxMnB4KSB7XG4gICAgICAgIHRvcDo0NXB4IWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pcy1zdWJtZW51LWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOi41cmVtO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qLmRyb3Bkb3duLm1lbnU+bGkub3BlbnMtcmlnaHQ+LmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDE1NCU7XG4gIG1pbi13aWR0aDogMjgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufSovXG5cblxuLyogbW9iaWxlICovXG4ubWVudS1pY29uLmRhcmsge1xuXG4gICY6aG92ZXI6YWZ0ZXIsXG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICB9XG59XG5cbi8qIE1lZGlhIFF1ZXJpZXMgKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1lbnU+bGk6bm90KC5tZW51LXRleHQpPmEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwLjVyZW07XG4gIH1cblxuICBoZWFkZXIgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIGhlYWRlciB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5tZW51Lm5hdi1zb2NpYWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuXG4gICAgICAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLWxlZnQge1xuXG4gICAgICAgIHVsIHVsIGRpdiBkaXYge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93bi5tZW51IC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcbiAgfVxuXG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzk5OTk5OSwgMCAxNHB4IDAgIzk5OTk5OTtcbiAgfVxuXG4gIC5tZW51PmxpIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG5cbiAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjYycHgpIHtcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDMuIFRvcCBiYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jaGVhZGVyIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICBoZWlnaHQ6NDAuMjVweCFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5zdGlja3ktbWVudS1vcGVuIHtcbiAgICBoZWlnaHQ6NjQwcHghaW1wb3J0YW50O1xuICB9XG59XG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDEwO1xuICBoZWlnaHQ6NDAuMjVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICBoZWlnaHQ6ODlweDtcbiAgICAudG9wLWJhci1sZWZ0LC5oZWFkZXItbG9nbyB7XG4gICAgICBoZWlnaHQ6ODhweDtcbiAgICB9XG4gIH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246Zml4ZWQ7Ly8gc3RpY2t5IG5vdCB3b3JraW5nIGluIG1vYmlsZSAtIGZpeDtcbiAgfVxufVxuXG5oZWFkZXIubWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGdyYXk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi5iYXNrZXQtaWNvbiB7XG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG59XG5cbmhlYWRlciB7XG5cbiAgLyovLy8gUGVuY2lsIE5hdmlnYXRpb24gLy8vKi9cbiAgLnBlbmNpbC10b3AtYmFyIHtcbiAgICBoZWlnaHQ6IDUxcHg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC03NWRlZyxcbiAgICAgIGJsYWNrIDM1JSxcbiAgICAgICRwcmltYXJ5LWNvbG9yIDM1JSxcbiAgICAgICRwcmltYXJ5LWNvbG9yIDQwJSk7XG5cbiAgICAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTc1ZGVnLCBibGFjayAzMyUsICRwcmltYXJ5LWNvbG9yIDMzJSwgJHByaW1hcnktY29sb3IgNDAlKTtcbiAgICB9XG4gIH1cblxuICAucGVuY2lsLXRvcC1hbm5vdW5jZW1lbnQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAucGVuY2lsLXRvcC1tZW51IC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXRoaXJkYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMXJlbSAwLjhyZW07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAuM3JlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAucGVuY2lsLXRvcC1hbm5vdW5jZW1lbnQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuYW5ub3VuY2VtZW50LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICB9XG4gIH1cblxuICAuYW5ub3VuY2VtZW50LXNtYWxsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45O1xuICAgIH1cbiAgfVxuXG4gIC8qLy8vIE1haW4gTmF2aWdhdGlvbiAvLy8qL1xuICAudG9wLWJhciB7XG4gICAgLypwYWRkaW5nOiAxNXB4OyovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICAgLypwYWRkaW5nOiAyMHB4IDAgMTBweDsqL1xuXG4gICAgICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRyZW0pIHtcbiAgICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS5pY29uLXRvcD5saT5hIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NHJlbSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKi5maXJzdC1zdWIge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHRvcDogMTE5JSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgfSovXG5cbiAgICAuaGVhZGVyLWxvZ28ge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NHJlbSkge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG5cbn1cblxuLnZlcnRpY2FsLXJ1bGUtbGVmdCB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgICBib3JkZXItbGVmdDogMXB4ICRkYXJrLWdyYXkgc29saWQ7XG4gIH1cbn1cblxuaGVhZGVyIC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHtcbiAgcGFkZGluZzogMC4xcmVtO1xuICBtYXJnaW46IDAgMC42cmVtO1xuICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIG1hcmdpbjowIC44NXJlbTtcbiAgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0cmVtKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIuIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIG1vYmlsZSAqL1xuLm1lbnUtaWNvbi5kYXJrIHtcblxuICAmOmhvdmVyOmFmdGVyLFxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZmZmZmZiwgMCAxNHB4IDAgI2ZmZmZmZjtcbiAgfVxufVxuXG4vKiBNZWRpYSBRdWVyaWVzICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5tZW51PmxpOm5vdCgubWVudS10ZXh0KT5hIHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMC41cmVtO1xuICB9XG5cbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICBoZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAubWVudS5uYXYtc29jaWFsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6LjI1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDouNXJlbTtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDo2MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDouNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206LjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIge1xuICAgICAgXG4gICAgICAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHg7XG4gICAgICAgIC5oZWFkZXItY3RhLXRvcCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXItY3RhLWJvdHRvbSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgdWwgZGl2IGRpdiB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoZWFkZXIuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICB9XG5cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOTk5OTk5LCAwIDE0cHggMCAjOTk5OTk5O1xuICB9XG5cbiAgLm1lbnU+bGkge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cblxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTIxMnB4KSB7XG4gIGhlYWRlciAudG9wLWJhciBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjYycHgpIHtcbiAgaGVhZGVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vKiBtb2JpbGUgKi9cbi5oZWFkZXItbG9nbyB7XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgfVxufVxuLnRvcC1iYXItdGl0bGUge1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICBib3JkZXItYm90dG9tOjAgc29saWQgJGJsYWNrO1xuICAubWVudS1pY29uIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgJHdoaXRlLCAwIDE0cHggMCAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5tZW51LW9wZW4ge1xuICAmLnRvcC1iYXItdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6MXB4O1xuICB9XG4gIC5oZWFkZXItbG9nbyBpbWcge1xuICAgIG1heC13aWR0aDo5NHB4O1xuICB9XG59XG5cbi5pcy1kcm9wZG93bi1tZW51IHtcbiAgd2lkdGg6MTAwJTtcbiAgcGFkZGluZy10b3A6MXJlbTtcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgLy9wYWRkaW5nLXRvcDoxcmVtO1xuICB9XG59XG5oZWFkZXIgLmlzLWRyb3Bkb3duLW1lbnUgLmlzLWRyaWxsZG93biAubWVudSwgaGVhZGVyIC5pcy1kcm9wZG93bi1tZW51IC5pcy1kcmlsbGRvd24gLnN1Ym1lbnUge1xuICA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIHBhZGRpbmc6Ljc1cmVtIDFyZW07XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBsaW5lLWhlaWdodDoxO1xuICB9XG59XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICBtYXJnaW46MDtcbiAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBSaWdodCBCYXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oZWFkZXIge1xuICAuaGVhZGVyLWN0YSB7XG4gICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi10b3Age1xuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgIHBhZGRpbmctYm90dG9tOi41cmVtO1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6Ljk3MzVyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgJi1sb2dpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6Ljc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDouNzVyZW07XG4gICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICRncmF5O1xuICAgICAgaSB7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOi44NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1zb2NpYWwge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjowIDFweDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDoyNnB4O1xuICAgICAgICBoZWlnaHQ6MjZweDtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6NTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRyZWQ7XG4gICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6NzUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLyBGT1VDXG4ubm8tanMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjcmVzcG9uc2l2ZS1tZW51IHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC50aXRsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIuIEhlYWRlciAtIEhvbWVwYWdlIG9ubHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKi5zdGlja3ktY29udGFpbmVyLmhwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIG9wYWNpdHk6MDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICB9XG59Ki9cblxuXG5cblxuIiwiZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICBjb2xvcjokd2hpdGU7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIHBhZGRpbmctdG9wOjRyZW07XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDoxLjI1O1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgfVxufVxuXG5cblxuXG4vLy8vLyBmb290ZXIgdG9wIC8vLy8vXG4uZm9vdGVyIHtcbiAgbGkge1xuICAgIGRpc3BsYXk6bGlzdC1pdGVtO1xuICAgIG1hcmdpbjowO1xuICB9XG4gICYtdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTo0cmVtO1xuICAgIC5yb3cgIHtcbiAgICAgIHBhZGRpbmctdG9wOjJyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDowO1xuICAgICAgfVxuICAgICAgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtbG9nbyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgICB9XG4gIH1cbiAgLmRpc2NsYWltZXIge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOi44NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OjEuMzVyZW07XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1kZWFsZXItbGlua3MtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJi1uZXdzbGV0dGVyIHtcbiAgICBtYXJnaW4tdG9wOjJyZW07XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgJi5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibGFjaztcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheUM7XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgICB9XG4gICAgI21jZS1yZXNwb25zZXMge1xuICAgICAgd2hpdGUtc3BhY2U6bm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6MS4yNTtcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLy8vLyBmb290ZXIgYm90dG9tIC8vLy8vXG4uZm9vdGVyLWN0YS1jb250YWluZXIgPiAucm93LnNvY2lhbC1saW5rLWhhc2h0YWcge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGEge1xuICAgIGNvbG9yOiRibGFjaztcbiAgfVxufVxuXG5cbi5mb290ZXIge1xuICAmLWJvdHRvbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDoxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6MXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAuZGlzY2xhaW1lciB7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgfVxuICB9XG59XG5cblxuLmZvb3Rlci1jdGEtY29udGFpbmVyID4gLnJvdyAuY29sbGFwc2UgLnNtYWxsLXVwLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG59XG5cblxuXG5cbi8vLy8vIGZvb3RlciByZXR1cm4gLy8vLy9cbi5mb290ZXItcmV0dXJuIHtcbiAgdGV4dC1hbGlnbjpyaWdodDtcbiAgZmxvYXQ6cmlnaHQ7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICByaWdodDowO1xuICB0b3A6LTE4cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDotODFweDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIFxuICBhIHtcbiAgICBjb2xvcjokd2hpdGUhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgei1pbmRleDoxO1xuICAgIC8qIFJvdGF0ZSAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC8qIFJvdGF0ZSBPcmlnaW4gKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGkge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBmb250LXNpemU6MnJlbTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5QyFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjokcmVkIWltcG9ydGFudDtcbiAgICB9XG4gIH0gXG59XG5cblxuLy8vLy8gSW50ZXJpb3Igc3ViZm9vdGVyIC8vLy8vXG4uZm9vdGVyLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6JGdyYXkyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6MXJlbTtcbiAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgJi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlMjtcbiAgfVxuICA+IGRpdiB7XG4gICAgcGFkZGluZy10b3A6LjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206LjVyZW07XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgZGlzcGxheTpmbGV4O1xuICB9XG4gIGxpIHtcbiAgICBtYXJnaW4tbGVmdDouNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6LjVyZW07XG4gIH1cbiAgJi1jb250YWluZXIge1xuICAgIC5yb3cgPiBkaXYge1xuICAgICAvKiAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkd2hpdGU7XG4gICAgICB9Ki9cbiAgICB9XG4gICAgPiAucm93IHtcbiAgICAgIHBhZGRpbmctdG9wOjNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTozcmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgfVxuICB9XG4gICYtdGl0bGUge1xuICAgIGg0IHtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICBcbiAgICB9XG4gIH1cbiAgJi1zb2NpYWwsICYtbmV3c2xldHRlciB7XG4gICAgYSB7XG4gICAgICB3aWR0aDogNjVweDtcbiAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJGdyYXkyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG4gIFxuICBcbiAgJi1zb2NpYWwtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgYm9yZGVyLXJpZ2h0OjJweCBzb2xpZCAkd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICBwYWRkaW5nLXRvcDoxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbToycmVtO1xuICAgICAgcGFkZGluZy10b3A6MnJlbTtcbiAgICB9XG4gIH1cbiAgJi1jb250YWluZXIgLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCAuZm9vdGVyLWN0YS1zb2NpYWwtbGluayB7XG4gICAgYm9yZGVyLXJpZ2h0OjA7XG4gIH1cbiAgJi1pY29uIHtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkZ3JheTI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOjFyZW07IFxuICAgIH1cbiAgfVxuICAmLXRleHQge1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxufSIsIi5ob21lLXNsaWRlci1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAuc2xpY2stc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uaG9tZS1zbGlkZXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOi02MHB4O1xuICB9XG4gICYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgaW1nIHtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG4gIC8vIHZpZGVvIC0geW91dHViZVxuICAudmlkZW8ueW91dHViZSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206NTQuNyU7XG4gICAgcGFkZGluZy10b3A6MzBweDtcbiAgICBoZWlnaHQ6MDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZW1iZWQsIG9iamVjdCwgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxuICB9XG59XG5cblxuLmhlcm8tYmtnIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuXG4uaGVyby1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICYtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJi1pbmZvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMDIsIDE3OCwgMSk7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTAyLCAxNzgsIDAuOCk7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNiUgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oNiUgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIH1cbiAgICAmLS1zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQzcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1tZWRpdW0ge1xuICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbGFyZ2Uge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWhlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJztcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgfVxuICAmLWRlc2Mge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8tYnRuIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gIH1cbn0iLCIuY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gIHBhZGRpbmc6MXJlbSAuNXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICBwYWRkaW5nOjNyZW0gMnJlbTtcbiAgfVxuICAuY29sdW1uIHtcbiAgICBwYWRkaW5nLWJvdHRvbToxcmVtO1xuICAgICY6bnRoLWNoaWxkKDUpLCY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgcGFkZGluZzoycmVtO1xuICAgIH1cbiAgfVxuICBhIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOjEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgLmN0YS1iZyB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgLmN0YS1iZyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZToxMDUlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi1iZyB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgcmlnaHQ6MDtcbiAgICBsZWZ0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuICAmLWl0ZW0ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6OTAlO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBtaW4taGVpZ2h0OjIwMHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gIH1cbiAgXG4gICYtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA1cHggJGJsYWNrO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgZm9udC1zaXplOjJyZW07XG4gIH1cbn1cblxuXG5cbi5jdGEtbWFpbiB7XG4gIGEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi8vIGN0YSBiYXJcbi5ocCAuY3RhLWJhciB7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBwYWRkaW5nOjFyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgcGFkZGluZzoycmVtIDA7XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBsZXR0ZXItc3BhY2luZzouMXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1heC13aWR0aDozMDBweDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6MS41cmVtO1xuICAgICAgbWF4LXdpZHRoOjUzMHB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXlDO1xuICAgICAgY29sb3I6JGJsYWNrO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjFyZW07XG4gICAgfVxuICB9XG4gICYuaW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICAgIC5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheUM7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnZlaGljbGUtc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAmX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIH1cbiAgfVxuICAmX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gICZfX2ljb24ge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAmX19saW5rcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19ib3R0b20ge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgIH1cbiAgfVxuICAuc2VsZWN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ob21lLXBhbmVscyB7XG4gICZfX2xlZnQsXG4gICZfX2NlbnRlcixcbiAgJl9fcmlnaHQge1xuICAgIG1pbi1oZWlnaHQ6IDM5NnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2xlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9ob21lL3BhbmVsLWxlZnQuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICZfX2NlbnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2hvbWUvcGFuZWwtY2VudGVyLmpwZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MHJlbSkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvaG9tZS9wYW5lbC1yaWdodC5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB9XG5cbiAgJl9fYnRuIHtcbiAgICBib3R0b206IDNyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbiIsIi50ZXh0LWJhbm5lciB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbiAgJl9faGVhZGVyIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IDIuN3JlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG5cbi50ZXh0LWJhbm5lci0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgcGFkZGluZzogMXJlbSAwO1xuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLmhvbWUtdmVoaWNsZS1wYWNrYWdlcyB7XG4gICZfX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAyLjlyZW07XG4gIH1cbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICB9XG4gICZfX2ltZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKC0zZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gIC52ZWhpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG4iLCIuZmVhdHVyZWQtd2hlZWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTI0O1xuICBjb2xvcjokd2hpdGU7XG4gIHBhZGRpbmc6MXJlbSAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgIHBhZGRpbmc6MnJlbSAwO1xuICB9XG5cbiAgJi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgICBoMiB7XG4gICAgICBmb250LXdlaWdodDo5MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZToxLjlyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDUwJSk7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMjAlKTtcbiAgICB9XG4gIH1cbiAgXG4gIFxuICAuaW5mbyB7XG4gICAgaDYge1xuICAgICAgZm9udC1zaXplOi43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjokZ3JheTtcbiAgICAgICAgZm9udC1zaXplOi43cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6LjlyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6MS4xcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNmZWF0dXJlZC1zbGlkZXIge1xuICBtYXJnaW4tbGVmdDoxcmVtO1xuICBtYXJnaW4tcmlnaHQ6MXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgIG1hcmdpbi1yaWdodDphdXRvO1xuICB9XG59XG4uZmVhdHVyZWQge1xuICAmLXNsaWRlciB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gIH1cbiAgJi1wcmV2LCAmLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbi8qICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDsqL1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgdG9wOiAzNSU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDoxO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICB0b3A6NDAlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRncmF5O1xuICAgIH1cbiAgfVxuICAmLXByZXYge1xuICAgIGxlZnQ6LTVweDtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6MzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIGxlZnQ6LTcwcHg7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLW5leHQge1xuICAgIHJpZ2h0Oi01cHg7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOjMwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICByaWdodDotNzBweDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgcGFkZGluZzogMXJlbSAwLjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgfVxuICAmLS1wb3NpdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbiAgJl9faGVhZGVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNpZ251cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmX19pbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICAmLS1mb250IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZSwgJ3JvYm90byc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbiAgJl9fYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIuaG9tZS1nYWxsZXJ5IHtcbiAgbWluLWhlaWdodDogNjk1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAmX19iZyB7XG4gICAgbWF4LWhlaWdodDogNjk1cHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAuMTVyZW07XG4gICAgfVxuICB9XG4gICZfX3RleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJl9faGVhZGVyLFxuICAmX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAmX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICB9XG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG59XG4iLCIuaW5zdGFncmFtLWZlZWQge1xuICAuaW5zdGFncmFtLWhlYWRlciB7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGJsYWNrO1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRibGFjaztcbiAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5lYXBwcy1pbnN0YWdyYW0tZmVlZCB7XG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gIH1cbn1cblxuLmluc3RhZ3JhbS1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTo2cmVtO1xuICBhIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOjEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuXG4uaW5zdGFncmFtLXBvcHVwIHtcbiAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgPmRpdiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDpub25lO1xuICAgIH1cbiAgICAmLWltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICB9XG4gICAgJi1wcm9maWxlcGljIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cbiAgICAmLXBhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWxpbmsge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgIC5uby1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59IiwiLmhwIHtcbiAgLnBhcmFsbGF4IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgbWluLWhlaWdodDo1NTBweDtcbiAgICB9XG4gICAgLmltZyB7XG4gICAgICBoZWlnaHQ6MTAwMHB4O1xuICAgIH1cbiAgICAmLTAxIHtcbiAgICAgIC5pbWcge1xuICAgICAgICBib3R0b206NTAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLTAyIHtcbiAgICAgIC5pbWcge1xuICAgICAgICBib3R0b206MTQwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0wMyB7XG4gICAgICBtaW4taGVpZ2h0OjEwMDBweDtcbiAgICAgIC5pbWcge1xuICAgICAgICBib3R0b206MjAlO1xuICAgICAgICBoZWlnaHQ6MjAwMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6MTAwJTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8gcGFyYWxsYXggcGx1cyBsb2dvIC8vLy8vXG4uaHAgLnBhcmFsbGF4LXBsdXMge1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6M3B4O1xuICBmb250LWZhbWlseTonUm9ib3RvJztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnBhcmFsbGF4LXBsdXMtZm9yZWdyb3VuZCB7XG4gICAgJi1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO1xuICAgICAgcGFkZGluZy10b3A6OCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTo4JTtcbiAgICB9XG4gICAgJi1sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOjUwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6NjAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6ODAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xuICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi10ZXh0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBmb250LXNpemU6LjgzNzVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6MS4ycmVtO1xuICAgICAgfVxuICAgICAgLmRvdCB7XG4gICAgICAgIG1hcmdpbjowIC41cmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6MnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhcmFsbGF4LXBsdXMtYmFja2dyb3VuZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICB0b3A6MDtcbiAgICBib3R0b206MDtcbiAgICByaWdodDowO1xuICAgIHotaW5kZXg6LTE7XG4gICAgLnBhcmFsbGF4LXBsdXMtaW1hZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwMHB4O1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn0iLCIuaHAgLnZpZGVvIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIGxldHRlci1zcGFjaW5nOjNweDtcbiAgZm9udC1mYW1pbHk6J1JvYm90byc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC52aWRlby1mb3JlZ3JvdW5kIHtcbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7XG4gICAgICBwYWRkaW5nLXRvcDo4JTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjglO1xuICAgIH1cbiAgICAmLWxvZ28ge1xuICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDo2MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICB3aWR0aDo4MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLXRleHQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTouODM3NXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjJyZW07XG4gICAgICB9XG4gICAgICAuZG90IHtcbiAgICAgICAgbWFyZ2luOjAgLjVyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtc2l6ZToycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmlkZW8tYmFja2dyb3VuZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDotOCU7XG4gICAgbGVmdDowO1xuICAgIGJvdHRvbTotOCU7XG4gICAgcmlnaHQ6MDtcbiAgICB6LWluZGV4Oi0xO1xuICB9XG59IiwiLmFjY29yZGlvbi1maWx0ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gICZfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICZfX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgJi0tbW9iaWxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gICZfX2Ryb3Bkb3duIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwcmVtIGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19idG4ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAuNjVyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbn0iLCIuc2VsZWN0ZWRWZWhpY2xlQmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICAubGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuICBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICB9XG4gIC5yb3ctLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IDY3cmVtO1xuICB9XG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICYtLW5vTWFyZ2luIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIG1hcmdpbjogMS41cmVtIGF1dG8gMDtcbiAgICB9XG4gIH1cbiAgJl9fdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxuICAmX19zcGFuIHtcbiAgICBjb2xvcjogIzZhNmE2YTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gICZfX2J0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgJi0tc21hbGxlciB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59IiwiLnBlbmNpbC10b3Atc2VhcmNoIHtcbiAgcGFkZGluZzogMTFweCAwO1xufVxuXG4ubmF2LXNlYXJjaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxufVxuXG4uc2VhcmNoLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICAmX190ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgdG9wOiAwLjJyZW07XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLnNlYXJjaC1pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4ycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgdXApIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgfVxufVxuXG4uc2VhcmNoLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjdyZW07XG4gIHdpZHRoOiA0MjNweDtcbiAgei1pbmRleDogMTE7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuXG4uc2VhcmNoLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59IiwiI3doZWVscywjd2hlZWwtYnJhbmRzIHtcbiAgLnByb2R1Y3RzLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOjJyZW07XG4gIH1cbiAgLmhvdmVyLWl0ZW0ge1xuICAgIGg2IHtcbiAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGg2IHtcbiAgICAgICAgY29sb3I6JGdyYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8vLy8vIFdoZWVsIEJyYW5kcyAvLy8vL1xuI3doZWVsLWJyYW5kcyB7XG4gIC5wcm9kdWN0cy1saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGEge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGg2IHtcbiAgICAgICAgICBjb2xvcjokZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDYge1xuICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgIH1cbiAgICAuaG92ZXItaXRlbSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgLmNhdGVnb3J5LXN1YnRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgY29sb3I6ICMyZTJlMmU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgLnNob3J0LnBhZGRlZC5yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICB9XG4gIH1cbn1cblxuLndoZWVscy1ieS1icmFuZCB7XG4gIHdpZHRoOiA0OCU7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBmbG9hdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi53aGVlbHMtYnktYnJhbmQ6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cblxuXG4vLy8vLyBXaGVlbHMgLy8vLy9cbiN3aGVlbHMge1xuICAucGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICA+IC5yb3c6Zmlyc3QtY2hpbGQge1xuICAgICAgXG4gICAgfVxuICB9XG4gIC5wcm9kdWN0cy1saXN0IHtcbiAgICAud2hlZWwtbmFtZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAud2hlZWwtZmluaXNoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgIH1cbiAgICAud2hlZWwtZGl2aWRlciB7XG4gICAgICBoZWlnaHQ6MnB4O1xuICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgIHdpZHRoOjQwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcmVkIDAlLCAkcmVkIDUwJSwgJGJsYWNrIDUxJSwgJGJsYWNrIDEwMCUpO1xuICAgIH1cbiAgICAuaG92ZXItaXRlbS1saW5rOmhvdmVyIHtcbiAgICAgIC53aGVlbC1maW5pc2gge1xuICAgICAgICBjb2xvcjokZ3JheTtcbiAgICAgIH1cbiAgICAgIC53aGVlbC1kaXZpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDokZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIjd2hlZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgLnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gIH1cbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDoxLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOjEuMjVyZW07XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6ODBweDtcbiAgICB9XG4gIH1cbiAgI2RldGFpbC10b3Age1xuICAgIHBhZGRpbmctdG9wOjJyZW07XG4gIH1cbiAgLndoZWVsLXNpemVzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gIC53aGVlbC1kZXRhaWxzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgIC53aGVlbC1wYXJhZ3JhcGgge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxvYWRpbmdJbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gZ2FsbGVyeSBzbGlkZXJcbiAgLmpzLXNsaWRlciB7XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIHBhZGRpbmc6LjI1cmVtO1xuICAgICAgPiBhIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIC8vbGluZS1oZWlnaHQ6MTtcbiAgICAgIH1cbiAgICAgIC53aGVlbC1nYWxsZXJ5SW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOjE1cHg7XG4gICAgICB9XG4gICAgICAudmlkZW8taWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOi4yNXJlbTtcbiAgICAgICAgbGVmdDouNzVyZW07XG4gICAgICAgIGNvbG9yOiRncmF5QztcbiAgICAgICAgZm9udC1zaXplOjIuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICBib3JkZXI6MXB4IHNvbGlkICRibGFjaztcbiAgICAgIGhlaWdodDozMHB4O1xuICAgICAgd2lkdGg6MzBweDtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgei1pbmRleDoxO1xuICAgICAgb3BhY2l0eToxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xuICAgICAgdG9wOjM1JTtcbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIGhlaWdodDo0MHB4O1xuICAgICAgICB3aWR0aDo0MHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgdG9wOjQ1JTtcbiAgICAgIH1cbiAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5Oi41O1xuICAgICAgfVxuICAgICAgJi5mZWF0dXJlZC1uZXh0IHtcbiAgICAgICAgcmlnaHQ6MHB4O1xuICAgICAgfVxuICAgICAgJi5mZWF0dXJlZC1wcmV2IHtcbiAgICAgICAgbGVmdDowcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAmLmZlYXR1cmVkLW5leHQge1xuICAgICAgICAgIHJpZ2h0Oi0yNXB4O1xuICAgICAgICB9XG4gICAgICAgICYuZmVhdHVyZWQtcHJldiB7XG4gICAgICAgICAgbGVmdDotMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICB9XG59XG4ud2hlZWwtZGV0YWlsLWdhbGxlcnktcG9wdXAge1xuICAubWZwLXRpdGxlIHtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgZm9udC1zaXplOjEuMXJlbTtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgcGFkZGluZzoxcmVtIDA7XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTouNXJlbTtcbiAgICB9XG4gIH1cbn1cbi5nYWxsZXJ5LXBvcHVwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAuZ2FsbGVyeVZpZXctaW5mbyB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5wb3B1cC1jYXIge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAvL2Rpc3BsYXk6YmxvY2s7XG4gIH1cbiAgLmFsdC1pbWFnZXMge1xuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAvKndpZHRoOiAxMDAlICFpbXBvcnRhbnQ7Ki9cbiAgICB9XG4gIH1cbn1cblxuLmRldGFpbC10aHVtYiB7XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMC4yNXJlbTtcbiAgfVxuICAuZmluaXNoLW5hbWUge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xuICAgIH1cbiAgfVxufVxuXG4jc3BlY3Mge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnNlZS1vbi12ZWhpY2xlLWNvbnRhaW5lciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMC4ycmVtO1xuICBtYXJnaW46IDAuNXJlbSAwO1xufVxuXG4uc2VlLW9uLXZlaGljbGUtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWUtb24tdmVoaWNsZS1zZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdHIge1xuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAjd2hlZWwge1xuICAgIC5iYW5uZXItdG9wIHtcbiAgICAgIC53aGVlbC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDZyZW07XG4gICAgICB9XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgICAgICB0b3A6IDkwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgLy93aWR0aDoxMDAlIWltcG9ydGFudDtcbiAgICAgIC8vbWF4LXdpZHRoOmNhbGMoNTAlLzQpO1xuICAgICAgLy9tYXgtd2lkdGg6Y2FsYyg1NyUvMilcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgLmZpbmlzaC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIubWFpbi1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnNsaWNrLWRvdHMge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjowIDJweDtcbiAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6Mi43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFsdC1pbWFnZXMge1xuICBkaXNwbGF5Om5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgfVxuICA+IGRpdiB7XG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnNsaWNrLXRyYWNrIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAmLS1yZXRhaWxlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAuc2xpY2stc2xpZGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbiAgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IC43cmVtO1xuICB9XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcbiAgICBtYXgtaGVpZ2h0OjkwcHg7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xuICAgIH1cbiAgfVxufSIsIi53aGVlbC1zcGVjcyB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gICZfX2hlYWRlciB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmX19kZXRhaWxzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cblxuLmRldGFpbC1zcGVjLXRhYnMge1xuICBib3JkZXI6IG5vbmU7XG4gICYtY29udGVudCB7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG4gICYtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDAuNnJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuXG4uYnAtdG9nZ2xlLWJ0biB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn0iLCIud2hlZWwtZGV0YWlsLXRpdGxlIHtcbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOjJyZW07XG4gICAgfVxuICB9XG4gICYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLndoZWVsLWluZm8gLndoZWVsLXNwZWMtc3VtbWFyeSB7XG4gICAgICBib3JkZXI6MDtcbiAgICB9XG4gICAgLndoZWVsLWJyYW5kIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6OTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLndoZWVsLWluZm8ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJl9faGVhZGVye1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNXJlbSAxcmVtO1xuICAgICAgICB9XG4gICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAud2hlZWwtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6MS4yNXJlbSAwIDEuNzVyZW07XG4gICAgLy9ib3JkZXItYm90dG9tOjFweCBkYXNoZWQgJHJlZDtcbiAgICAucHJvZHVjdC1wYXJhZ3JhcGgge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLnRvZ2dsZS1idG4ge1xuICAgICAgY29sb3I6JHJlZDtcbiAgICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gICAgfVxuICB9XG4gIC53aGVlbC1zcGVjLXN1bW1hcnkge1xuICAgIHBhZGRpbmctYm90dG9tOjEuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbToxcHggZGFzaGVkICRyZWQ7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICB9XG4gIH1cbn0iLCIuc2t1LmRldGFpbCB7XG4gIC5jdGEtYnV0dG9ucyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICZfX2J0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgICYtLXNwYWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICBsaSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDouNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6LjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAmLmJ1dHRvbnNfX2J0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk3O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmN0YS1idXR0b25zIHtcbiAgbWFyZ2luOjA7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBsaSB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDouMjVyZW07XG4gICAgd2lkdGg6NTAlO1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHBhZGRpbmctbGVmdDouMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6LjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6LjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6NnB4O1xuICAgICAgJi5jdGEtYnV0dG9uc19fYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTc7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLy8vLyBCdXkgT25saW5lIFBvcHVwIC8vLy8vXG4jYnV5LW9wdGlvbnMtcG9wdXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiRyZWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgcGFkZGluZzouODVyZW0gMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk7XG4gICAgfVxuICB9XG4gIC5wb3B1cC10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICBjb2xvcjokd2hpdGU7XG4gIH1cbiAgdWwge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjowO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIG1hcmdpbjowIC4yNXJlbTtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmRldGFpbHMtbWVkaWEge1xuICB6LWluZGV4OiA1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX2hlYWRlciB7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2Utb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1vdXQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5kZXRhaWxzLWRpdmlkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjN2M3Yzk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gMDtcbiAgICB3aWR0aDogMnJlbTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLmRldGFpbHMtMzYwLFxuICAuZGV0YWlscy12aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxcmVtO1xuICB9XG4gIC5kZXRhaWxzLWRpdmlkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIiNzZWUtb24tdmVoaWNsZS1kZXRhaWwge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gIH1cbiAgLmVycm9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMjtcbiAgfVxuICAubm8tZml0bWVudCB7XG4gICAgbWluLWhlaWdodDogNnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuZXJyb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5sb2FkaW5nSW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaG92ZXItaXRlbTpob3ZlciB7XG4gICAgYnV0dG9uIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuMDc1O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgfVxuICB9XG4gICYtb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIC5mYS1zcGlubmVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuICAvLyBwb3B1cFxuLm9wZW4tc2VlLW9uLXZlaGljbGUtcG9wdXAge1xuICBmb250LXdlaWdodDo1MDA7XG4gIGNvbG9yOiRibGFjaztcbiAgZm9udC1zaXplOi44MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjpyaWdodDtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gIH1cbiAgJi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gIH1cbn1cbiNzZWUtb24tdmVoaWNsZS1wb3B1cCB7XG4gIHBhZGRpbmc6MDtcbiAgbWF4LXdpZHRoOjEyMDBweDtcbiAgZm9udC1zaXplOi44MjVyZW07XG4gIC52ZWhpY2xlLXBvcHVwIHtcbiAgICAmLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCR3aGl0ZUYsJGdyYXlDKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgICAmLWluZm9ybWF0aW9uIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOi41cmVtO1xuICAgICAgLndoZWVsLWluZm8ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICB3aWR0aDoxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OjFyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgcmlnaHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOjE2MCU7XG4gICAgICAgIH1cbiAgICAgICAgLndoZWVsIHtcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnNwZWNzIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Oi4yNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgcGFkZGluZzouNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi53aGVlbC1nYWxsZXJ5IHtcbiAgJl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6MS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuLndoZWVsLWdhbGxlcnlMaXN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOjEwMCU7XG4gICZfX2l0ZW0ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0Oi41cmVtO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgd2lkdGg6NDklO1xuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6MTgwcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0Oi41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucG9wdXAtd2hlZWxpbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDgwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ud2hlZWwtZ2FsbGVyeUltYWdlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTouNXJlbTtcbiAgaW1nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbn1cbi53aGVlbC1nYWxsZXJ5VHh0IHtcbiAgZm9udC1zaXplOjFyZW07XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGxpbmUtaGVpZ2h0OjEuMjU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICB9XG59XG4iLCIud2hlZWwtc3BlYyB7XG4gIC5hY2NvcmRpb24ge1xuICAgICYtaXRlbSB7XG4gICAgICA+IGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRyZWQ7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtY29udGVudCB7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmFsdC1pbWFnZXMgaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59IiwiLy8gc2hvcCBwb3B1cFxuI3Nob3AtcG9wdXAge1xuICBkaXNwbGF5Om5vbmU7XG4gIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOmZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpO1xuICB0b3A6MDtcbiAgcmlnaHQ6MDtcbiAgbGVmdDowO1xuICBib3R0b206MDtcbiAgei1pbmRleDoxMDA7XG4gIHdpZHRoOjEwMCU7XG4gIGNvbG9yOiR3aGl0ZTtcbiAgb3ZlcmZsb3cteDpoaWRkZW47XG4gIHBhZGRpbmctdG9wOjJyZW07XG4gIHBhZGRpbmctYm90dG9tOjJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaDQge1xuICAgIGNvbG9yOiRibGFjaztcbiAgfVxuICBzcGFuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgfVxuICBhIHtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5RjU7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheUQyO1xuICAgIHBhZGRpbmc6Ljc1cmVtO1xuICAgIG1heC13aWR0aDoyODBweDtcbiAgICB3aWR0aDoxMDAlO1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5Oi40O1xuICAgIH1cbiAgfVxuICAuc2hvcC1wb3B1cCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheUM7XG4gICAgcGFkZGluZy1ib3R0b206MnJlbTtcbiAgICBtYXgtd2lkdGg6NDAwcHg7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gIH1cbiAgLmNsb3NlLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgfVxuICAjY2xvc2Uge1xuICAgIGNvbG9yOiRncmF5NztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgXG4gIC5kZWFsZXItc2hvcCB7XG4gICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICB9XG4gIFxuICBcbiAgI3ZlaGljbGUtZ2FsbGVyeS1wb3B1cCB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgd2lkdGg6MTAwJTtcbiAgfVxuICAvKi5jbG9zZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nLXRvcDoxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgfVxuICAgICYuc2hvcnQge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDoxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICAgICNjbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgI2Nsb3NlIHtcbiAgICBmb250LXNpemU6MnJlbTtcbiAgICBsaW5lLWhlaWdodDoxO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHRvcDotM3JlbTtcbiAgICAgIHJpZ2h0OjFyZW07ICBcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHRvcDotLjVyZW07XG4gICAgICByaWdodDotMnJlbTtcbiAgICB9XG4gIH0qL1xuICAudmVoaWNsZS1nYWxsZXJ5LXNwZWNzIHtcbiAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gIH1cbn0iLCIjd2hlZWxzIHtcbiAgLmZpbHRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHdpZHRoOjg1JTtcbiAgICB9XG4gICAgLnJlZmVyZW5jZS12ZWhpY2xlIHtcbiAgICAgIC5maXRtZW50LW1lbnUge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gICAgLy8gYWN0aXZlIGZpbHRlciBcbiAgICAuZmlsdGVyLWFjdGl2ZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6LjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICAgICAgICBwYWRkaW5nOi4yNXJlbSAuNXJlbTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBmb250LXNpemU6Ljc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLXRpdGxlIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1jbGVhciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGdyYXlDO1xuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBmaWx0ZXIgbGlzdFxuICAgIGg0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIC5pY29uLXByb2R1Y3QtZmlsdGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5QztcbiAgICAgICYuZmlsdGVyLWJyYW5kcy1vcHRzIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgICAgJi5maWx0ZXItYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTowO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICAuZmlsdGVyLWFjdGl2ZS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaWNvbi1maWx0ZXItdGl0bGUge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOi44NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmljb24tZmlsdGVyLWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIC5maWx0ZXItYnV0dG9uIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGZvbnQtc2l6ZTouNzVyZW07XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgICBtYXJnaW46MXJlbSAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjokZ3JheUM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZpbHRlci1maXRtZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206OHB4IHNvbGlkICRncmF5OTtcbiAgICAgICAgLmZpdG1lbnQtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTouODVyZW07XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzoxcmVtIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gbm9uIGZpdG1lbnQgcGFnZXNcbiAgJjpub3QoLndoZWVscy1zZWFyY2hlZC1ieS12ZWhpY2xlKSB7XG4gICAgLy8gaGVhZGVyXG4gICAgLmZpdG1lbnQtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgIG1hcmdpbi10b3A6MXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgYm9yZGVyLXRvcDowO1xuICAgICAgICBtYXJnaW4tdG9wOjFyZW07XG4gICAgICB9XG4gICAgICAubW9iaWxlLW9ubHktc2xpZGUtZmlsdGVyLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgICAuY29sdW1uIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgJi5maXRtZW50LW9wZW4ge1xuICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBmaWx0ZXJcbiAgICAuZmlsdGVyIHtcbiAgICAgIC5maXRtZW50LXNlYXJjaC1idXR0b24ge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5maWx0ZXItaXRlbXMge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hY2NvcmRpb24tZmlsdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICAmX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgIC8qZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ki9cbiAgICB9XG4gIH1cbiAgJl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICAmLS1tb2JpbGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuICAmX19jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJl9fZHJvcGRvd24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlIHVwKSB7XG4gICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDByZW0gY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2J0biB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IC42NXJlbSAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8vLy8vIG9mZiBjYW52YXMgb3ZlcnJpZGVzIC8vLy8vL1xuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjc1KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0LCAucG9zaXRpb24tbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDg1cHgpO1xufVxuXG4vLy8vIG9mZiBjYW52YXMgc3R5bGluZ1xuLm9mZi1jYW52YXMge1xuICBjb2xvcjokYmxhY2s7XG4gID4gZGl2ID4gZGl2IHtcbiAgICBwYWRkaW5nLWxlZnQ6MnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OjJyZW07XG4gIH1cbiAgJi5wb3NpdGlvbi1sZWZ0IHtcbiAgICAvKndpZHRoOjQ0NXB4OyAvLyBOZWVkIHRvIHVwZGF0ZSBqcyBiZWZvcmUgYXBwbHlpbmcuLi4uKi9cbiAgICAvL3dpZHRoOjM3NXB4O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICB3aWR0aDo0NDVweDtcbiAgICB9XG4gICAgLy9ib3JkZXI6MXB4IHNvbGlkICRncmF5OTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTowLjgyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICYucG9zaXRpb24tcmlnaHQge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGJsYWNrO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHdpZHRoOjEwMCU7XG4gICAgcmlnaHQ6MDtcbiAgICBsZWZ0OjA7XG4gICAgdG9wOjA7XG4gICAgcGFkZGluZzoxLjI1cmVtIDJyZW07XG4gICAgZm9udC1zaXplOi44MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDoyMDA7XG4gICAgICBmb250LXNpemU6M3JlbTtcbiAgICB9XG4gICAgLypcbiAgICBwYWRkaW5nOi41cmVtIDJyZW07XG4gICAgY29sb3I6JGxpZ2h0LWdyYXk7XG4gICAgbWFyZ2luLWJvdHRvbTouNXJlbTtcbiAgICAqL1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgfVxuICAgICYub3JhbmdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpZGUtb3Zlci1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTouNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6MS41O1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICBwYWRkaW5nLXRvcDoycmVtO1xuICAgIC5zbGlkZS1vdmVyLWZpdG1lbnQge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZy10b3A6MXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5RTY7XG4gICAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB3aWR0aDoyMDBweDtcbiAgICAgICAgaGVpZ2h0OjU4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTouNzVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOi4xcmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MXJlbTtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcblxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZml0bWVudC1pbmZvIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICBtYXgtd2lkdGg6NDMlO1xuICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGUtb3Zlci1maWx0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICBzZWxlY3QsLmJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDo1NXB4O1xuICAgICAgICBwYWRkaW5nOjFyZW07XG4gICAgICB9XG4gICAgICBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnZlcnRpY2FsLm1lbnUge1xuICAgIHBhZGRpbmctbGVmdDowO1xuICAgIHBhZGRpbmctdG9wOjNyZW07XG4gICAgbWFyZ2luLXRvcDowO1xuICAgID4gbGkge1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAmLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudD5hOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICBmb250LXNpemU6MS41cmVtO1xuICAgICAgICAgIHRvcDoxM3B4O1xuICAgICAgICAgIG1hcmdpbi10b3A6MDtcbiAgICAgICAgICByaWdodDoycmVtO1xuICAgICAgfVxuICAgICAgJi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXT5hOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOjEuMnJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokZ3JheTM7XG4gICAgICAgIH1cbiAgICAgICAgLmZhLWNhcmV0LWRvd24ge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgID4gbGkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zb2NpYWwtbWVudSB7XG4gICAgcGFkZGluZzoxcmVtIDFyZW0gMnJlbTtcbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokZ3JheTM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBGaWx0ZXJzXG4gIC5wcm9kdWN0LWZpbHRlcnMge1xuICAgIC5pY29uLXByb2R1Y3QtZmlsdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5QztcbiAgICAgIHBhZGRpbmctYm90dG9tOjEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206MS41cmVtO1xuICAgIH1cbiAgICAuZmlsdGVyLWJyYW5kcy1vcHRzIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cbiAgLmljb24tZmlsdGVyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOi44NXJlbTtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1maWx0ZXItaXRlbXMge1xuICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgbGkge1xuICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDoxO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdoZWVscywgd2hlZWwgYnJhbmRzLCB0aXJlcyB7XG4gIC53aGVlbHMtc2xpZGUtZmlsdGVyLC50aXJlcy1zbGlkZS1maWx0ZXIge1xuICAgIC5wcm9kdWN0LWZpbHRlcnMge1xuICAgICAgZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICAgcGFkZGluZy1sZWZ0OjJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OjJyZW07XG4gICAgICBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6LjFyZW07XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICAmLmZhLW1pbnVzLCYuZmEtcGx1cyB7XG4gICAgICAgICAgY29sb3I6JGdyYXk4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmlsdGVyLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmZpbHRlci1idXR0b24ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6Ljc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDo2MDA7XG4gICAgICAgIGNvbG9yOiRncmF5NDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5maWx0ZXItaXRlbXMge1xuICAgICAgICBwYWRkaW5nLXRvcDoxcmVtO1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZpbHRlci1icmFuZHMgLmZpbHRlci1pdGVtcyB7XG4gICAgICAgIC8vZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgXG4gICAgICAucHJvZHVjdC1maWx0ZXJzIHtcbiAgICAgICAgLnByb2R1Y3QtZmlsdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheUM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206MS41cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBhY3RpdmUgXG4gICAgICAuZmlsdGVyLWFjdGl2ZSB7XG4gICAgICAgIC8vcGFkZGluZzoxcmVtIDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5QztcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgIHBhZGRpbmc6LjI1cmVtIC41cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTppbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmZpdG1lbnRTZXQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5OTtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBjb2xvcjokZ3JheTY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206LjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi1jbGVhciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheUM7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjEuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZmlsdGVyLWFjdGl2ZS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmlsdGVyLWJyYW5kcyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBtYXgtd2lkdGg6MjYwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuXG4gIC8vIGdhbGxlcnlcbiAgLnNsaWRlLWZpbHRlci1nYWxsZXJ5IHtcbiAgICBtYXJnaW4tdG9wOjJyZW07XG4gIH1cbn1cblxuLmludCB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tb2JpbGUtb25seS1zbGlkZS1maWx0ZXItc2VhcmNoIHtcbiAgICA+IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBwYWRkaW5nOjFyZW0gLjVyZW07XG4gICAgICAmLmZpdG1lbnQtb3BlbiB7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICY6bm90KC5zZWFyY2gtYnktdmVoaWNsZSkge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXlDO1xuICAgICAgICAuYnV0dG9uLXRleHQge1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxpc3Rpbmctc2VhcmNoLWJhciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UgZG93bikge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI3doZWVscy53aGVlbHMtc2VhcmNoZWQtYnktdmVoaWNsZSB7XG4gIC5jb250YWluZXItcGFkZGluZy0tYiB7XG4gICAgcGFkZGluZzowO1xuICB9XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOjIuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAgIC5saXN0aW5nIHtcbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGxpc3RcbiAgLnByb2R1Y3RzLWxpc3Qge1xuXG4gICAgYSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGdyYXk2O1xuICAgICAgfVxuICAgIH1cbiAgICAud2hlZWwtbmFtZSB7XG4gICAgICAmLXdoZWVsIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICAud2hlZWwtc2l6ZSB7XG4gICAgICBmb250LXNpemU6MXJlbTtcbiAgICB9XG4gIH1cbn0iLCIjd2hlZWwuZml0bWVudC1kZXRhaWwge1xuICAvLyB2b3YgY2FsbFxuICAudm92LWNhbGwge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIC5maXRtZW50LWJ1dHRvbiB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDowO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIGJvdHRvbToyMHB4O1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmc6LjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTouOHJlbTtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6LjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gY3RhXG4gIC5jdGEtYnV0dG9ucyB7XG4gICAgbGkge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6NTAlO1xuICAgICAgfVxuICAgICAgYSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIudmVoaWNsZS1maXRtZW50IHtcbiAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAuZml0bWVudC1zZWxlY3RlZCB7XG4gICAgYm9yZGVyLXJhZGl1czo1cHg7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheUVEO1xuICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXlGNjtcbiAgICBwYWRkaW5nOjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbToxLjI1cmVtO1xuICAgIC52ZWhpY2xlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206LjVyZW07XG4gICAgfVxuICAgICYtb3RoZXItc3BlY3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgIH1cbiAgICAmLXNrdSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiRibGFjaztcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgZm9udC1zaXplOjFyZW07XG4gICAgcGFkZGluZzowO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206LjVyZW07XG4gIH1cbiAgaSB7XG4gICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgY29sb3I6JGdyZWVuO1xuICAgIG1hcmdpbi1yaWdodDouNXJlbTtcbiAgfVxuICBwLGEge1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICB9XG4gIHAge1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICBjb2xvcjokYmxhY2s7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIG1hcmdpbi1yaWdodDouNXJlbTtcbiAgfVxuICAucmVtb3ZlLWZpdG1lbnQge1xuICAgIGZvbnQtc2l6ZTouODVyZW07XG4gICAgY29sb3I6JGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC52b3YtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjokYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6Ljc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgfVxufSIsIiNzZWUtb24tdmVoaWNsZS1kZXRhaWwge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OjEuMjU7XG4gIH1cbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5O1xuICB9XG4gIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICB9XG4gIC5lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgLm5vLWZpdG1lbnQge1xuICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAubG9hZGluZ0ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhvdmVyLWl0ZW06aG92ZXIge1xuICAgIGJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjA3NTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cyBlYXNlLWluLW91dDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuNztcbiAgICB9XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MCU7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgIH1cbiAgfVxuICAmLW92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAuZmEtc3Bpbm5lciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbiAgLy8gcG9wdXBcbi5vcGVuLXNlZS1vbi12ZWhpY2xlLXBvcHVwIHtcbiAgZm9udC13ZWlnaHQ6NTAwO1xuICBjb2xvcjokYmxhY2s7XG4gIGZvbnQtc2l6ZTouODI1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246cmlnaHQ7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICB9XG4gICYtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICB9XG59XG4jc2VlLW9uLXZlaGljbGUtcG9wdXAge1xuICBwYWRkaW5nOjA7XG4gIG1heC13aWR0aDoxMjAwcHg7XG4gIGZvbnQtc2l6ZTouODI1cmVtO1xuICAudmVoaWNsZS1wb3B1cCB7XG4gICAgJi1pbWFnZSB7XG4gICAgICAvL2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCR3aGl0ZUYsJGdyYXlDKTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgICAmLWluZm9ybWF0aW9uIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC8vcGFkZGluZzouNXJlbSAxcmVtO1xuICAgICAgcGFkZGluZzouNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOjA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjpyb3c7XG4gICAgICAgIHBhZGRpbmc6MCAuMjVyZW0gLjVyZW07XG4gICAgICB9XG4gICAgICA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmc6Ljc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czo4cHg7XG4gICAgICAgIG1hcmdpbjowIC4zNzVyZW07XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206LjVyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgLy9ib3JkZXItcmlnaHQ6MDtcbiAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6MDtcbiAgICAgICAgICAvL21hcmdpbi1yaWdodDowO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVsLC5pbmZvLWRpc3BsYXkge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6JGdyYXk2O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgLy9saW5lLWhlaWdodDoxO1xuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6LjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJi5wYWludC1pbmZvLWNvbnRhaW5lciB7XG4gICAgICAgICAgI2ljbS1jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjokc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLndoZWVsLWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgICAgIC8vaGVpZ2h0OjUwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAvL2NsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAwJSwgMTAwJSA1MCUsIDAlIDUwJSk7XG4gICAgICAgICAgICBoZWlnaHQ6NTBweFxuICAgICAgICAgIH0gICAgXG4gICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0Oi41cmVtO1xuICAgICAgICAgIH0gICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLndoZWVsLWluZm8ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgLnRodW1iIHtcbiAgICAgICAgICB3aWR0aDoxMDBweDtcbiAgICAgICAgICBoZWlnaHQ6MTAwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OjFyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgcmlnaHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOjE2MCU7XG4gICAgICAgIH1cbiAgICAgICAgLndoZWVsIHtcbiAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgICAgLnNwZWNzIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6LjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Oi4yNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgcGFkZGluZzouNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWZwLWNsb3NlIHtcbiAgICBmb250LXNpemU6MnJlbTtcbiAgfVxufVxuXG5cblxuXG4jc2VlLW9uLXZlaGljbGUtcG9wdXAge1xuICBib3JkZXI6MDtcbiAgLy9wYWRkaW5nOjNyZW07XG4gIGJvcmRlci1yYWRpdXM6MTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwdm1heCByZ2JhKDAsIDAsIDAsIC43KTtcbiAgYmFja2dyb3VuZC1jb2xvcjokZ3JheUQxO1xuICAmOi1pbnRlcm5hbC1kaWFsb2ctaW4tdG9wLWxheWVyOjpiYWNrZHJvcCwmOjpiYWNrZHJvcCB7XG4gICAgLy9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgLy9wYWRkaW5nOjJyZW07XG4gICAgJltvcGVuXSB7XG4gICAgICBoZWlnaHQ6MTAwdmg7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG4gIH1cbiAgI3doZWVsLXNwZWMtcHJpY2UsLmJ1eS1ub3cge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAjdmVoaWNsZS1kZXNjcmlwdGlvbiwgI3ZlaGljbGUtZGVzY3JpcHRpb24tbW9iaWxlIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDo5MDA7XG4gICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDoxO1xuICB9XG4gICN2ZWhpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6MnJlbTtcbiAgfVxuICAjdmVoaWNsZS1kZXNjcmlwdGlvbi1tb2JpbGUge1xuICAgICN2b3Ytc3VibW9kZWwge1xuICAgICAgZm9udC1zaXplOjEuMzByZW07XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudmVoaWNsZS1wb3B1cC1jb2xvci1idXR0b24ge1xuICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICB9XG4gIC53aGVlbC1pbmZvIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjA7XG4gICAgYm9yZGVyOjA7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5RUQ7XG4gICAgYm9yZGVyLXJhZGl1czoxMHB4O1xuICAgIHBhZGRpbmc6MXJlbTtcbiAgICAud2hlZWwtdGh1bWJuYWlsIHtcbiAgICAgIG1hcmdpbi1yaWdodDouNzVyZW07XG4gICAgfVxuICB9XG4gIC5zcGVjcy1pbmZvLC5zcGVjcyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICB9XG4gIC5zcGVjcy1pbmZvIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbiAgI3doZWVsLWJyYW5kIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgfVxuICAuc3BlY3Mge1xuICAgICYtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjpyb3c7XG4gICAgICB9XG4gICAgICA+IC5zcGVjczpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246cm93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5kaXZpZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0Oi41cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0Oi41cmVtO1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBsb2FkaW5nIFxuICAjaWNtLXZvdi1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbiAgICBib3JkZXItcmFkaXVzOjEwcHg7XG4gIH1cbiAgLy8gcHJldiBuZXh0XG4gIC52ZWhpY2xlLXBvcHVwLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy9wYWRkaW5nOjFyZW0gLjc1cmVtIC41cmVtO1xuICAgIHBhZGRpbmc6LjVyZW07XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiRncmF5RDE7XG4gICAgZmxleC1ncm93OjE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6Ljc1cmVtIDAuNzEyNXJlbSAwLjc1cmVtO1xuICAgIH1cbiAgICAudm92LXZlaGljbGUtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czo4cHg7XG4gICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGltZyB7XG4gICAgICAgIHBhZGRpbmc6Mi4yNXJlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiN2b3YtdmVoaWNsZS1pbWFnZSwudmVoaWNsZS1wb3B1cC1jb2xvci1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBwYWRkaW5nOjIuMjVyZW0gMDtcbiAgICB9Ki9cbiAgfVxuICAudm92LWFuZ2xlLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjUwJTtcbiAgICBmb250LXNpemU6MS41cmVtO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjokZ3JheUQxO1xuICAgIC8vaGVpZ2h0OjMwcHg7XG4gICAgLy93aWR0aDozMHB4O1xuICAgIC8vZm9udC1zaXplOi44NXJlbTtcbiAgICAvL2Rpc3BsYXk6ZmxleDtcbiAgICAvL2FsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC8vYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBvcGFjaXR5OiAuOTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgdG9wOjQ4JTtcbiAgICB9XG4gICAgaSB7XG4gICAgICAvL2NvbG9yOiR3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGkge1xuICAgICAgICBjb2xvcjokZ3JheUM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN2b3YtcHJldmlvdXMtYW5nbGUge1xuICAgIGxlZnQ6MDtcbiAgICBwYWRkaW5nOjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OjJyZW07XG4gICAgICBwYWRkaW5nOjA7XG4gICAgfVxuICB9XG4gICN2b3YtbmV4dC1hbmdsZSB7XG4gICAgcmlnaHQ6MDtcbiAgICBwYWRkaW5nOjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1yaWdodDoycmVtO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgfVxuICBcbn1cblxuXG5cbi8vIHN3YXRjaFxuI3N3YXRjaGVzLWRpYWxvZyB7XG4gIGJvcmRlcjoxcHggc29saWQgJGdyYXlDO1xuICBib3JkZXItcmFkaXVzOjVweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTAwdm1heCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgaDQge1xuICAgIGZvbnQtc2l6ZToxcmVtO1xuICB9XG4gIC5pY20tdm92LXN3YXRjaC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMTBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cbiAgLmljbS12b3Ytc3dhdGNoLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6Ljg1cmVtO1xuICB9XG59IiwiLnRpcmUtZGV0YWlscyB7XG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbn0iLCIudGlyZS1pbmZvIHtcbiAgICAmX19oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG59IiwiLnRpcmUtY3RhIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiLnRpcmUtc3BlY3Mge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICAmX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgJl9fZGV0YWlscyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59XG4iLCIuYWNjZXNzb3J5LWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbn1cbi5hY2Nlc3NvcnktbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuLmFjY2Vzc29yeS1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcbiAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59IiwiLmFjY2Vzc29yeS1jdGEge1xuICAuY3RhLWJ1dHRvbnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICZfX2J0biB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICB9XG59IiwiLmFjY2Vzc29yeS1iYXItYnRuIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAjOTk5O1xuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn0iLCIjZ2FsbGVyeS1maWx0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxufSIsIiNnYWxsZXJ5IHtcbiAgLnBhZ2UtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gIH1cbiAgLmdhbGxlcnktc3VibWl0IHtcbiAgICBwYWRkaW5nOjFyZW0gMDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgfVxufVxuXG4jZ2FsbGVyeSB7XG5cdC5ob3Zlci1saXN0IHtcblx0XHQucGhvdG8ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAwIDFweCAxcHggMDtcblxuXHRcdFx0Ji1pbWFnZSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblxuXHRcdFx0XHQmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3Zlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLW92ZXJsYXkge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHR6LWluZGV4OiAxO1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IC43cmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0PmRpdiB7XG5cdFx0XHRcdFx0cGFkZGluZzogLjI1cmVtIDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0XHRcdFx0Ji5waG90by1vdmVybGF5LWRpdmlkZXIge1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMXJlbSAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtYWNjZXNzb3J5LFxuXHRcdFx0XHQmLW9mZnNldCxcblx0XHRcdFx0Ji1zdXNwZW5zaW9uIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogLjlyZW07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji1kaXZpZGVyIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDRweDtcblx0XHRcdFx0XHR3aWR0aDogMjAlO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDQzJTtcblx0XHRcdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLW1vcmVpbmZvIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0LnBob3RvLW92ZXJsYXkge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQudmlkZW86YWZ0ZXIge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdGNvbG9yOiAjZmVmZWZlO1xuXHRcdH1cblxuXHRcdC52aWRlbzpob3ZlcjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyMjMsIDYxLCA2MSwgLjkpO1xuXHRcdH1cblx0fVxufSIsIi5nYWxsZXJ5IHtcbiAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICYtbWFpbi1pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi10aHVtYnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWRldGFpbHMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cblxuI2dhbGxlcnktdmVoaWNsZSB7XG4gIC5nYWxsZXJ5LW1haW4taW1nIC5zbGljay1zbGlkZSB7XG4gICAgbWluLWhlaWdodDoyNDBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIG1pbi1oZWlnaHQ6NTUwcHg7XG4gICAgfVxuICB9XG4gIC5nYWxsZXJ5LXRodW1icyB7XG4gICAgLml0ZW0gPiBkaXYge1xuICAgICAgcGFkZGluZy1ib3R0b206NTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgfVxufSIsIiNjb250YWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGUyO1xuICAucGFnZS1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDozcmVtO1xuICAgIH1cbiAgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICB9XG4gIC5jb250YWN0LWlucXVpcnkge1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDoxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgIH1cbiAgfVxuICAuc29jaWFsIHtcbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOjI1cHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoLjc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NvbnRhY3Qge1xuICAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIHBhZGRpbmc6MDtcbiAgICBmb250LXNpemU6MS41cmVtO1xuICB9XG59XG5cblxuXG5cbi8qIHRoYW5rIHlvdSBwYWdlICovXG4jdGhhbmtzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGUyO1xuICAucGFnZS1jb250ZW4gLnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gIH1cbiAgLnRoYW5rcy10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6M3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDozcmVtO1xuICAgIH1cbiAgfVxufSIsIi5wYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGUyO1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6XCJSb2JvdG8gQ29uZGVuc2VkXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS1oZWFkZXIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7XG4gIGJvcmRlci10b3A6MXB4IHNvbGlkICRncmF5O1xuICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheTsgXG4gIHBhZGRpbmctdG9wOjEuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206MS41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICBoMSB7XG4gICAgY29sb3I6JHJlZDtcbiAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgaW1nIHtcbiAgICAvKndpZHRoOjEwMCU7Ki9cbiAgfVxuICA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDozcmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLm5ld3MtYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgLnRpbWVzdGFtcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgICAubmV3cy1zaWRlYmFyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzUwNTA1MDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZGVhbGVycyB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlMjtcbiAgfSBcbiAgaDMge1xuICAgIGNvbG9yOiRyZWQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZToxLjc1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4jZGVhbGVycyB7XG4gIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgcGFkZGluZzowO1xuICAgIGZvbnQtc2l6ZToxLjVyZW07XG4gIH1cbiAgLnNvY2lhbCB7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDoyNXB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKC43NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiI2Rvd25sb2FkcyB7XG4gIC5kb3dubG9hZHMtc2VjdGlvbi1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYyZjE7XG4gICAgZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICAuYnJhbmQtY29udGFpbmVyIHtcbiAgICAgIGEge1xuICAgICAgICBpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIGNvbG9yOiRncmF5MjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZG93bmxvYWRzLWJyYW5kcyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5pbmZvIHtcbiAgICAgIC53aGVlbC1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIC53aGVlbC1kaXZpZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNiYTE3MTcgMCUsICNiYTE3MTcgNTAlLCAkYmxhY2sgNTElLCAkYmxhY2sgMTAwJSk7XG4gICAgICB9XG4gICAgICAud2hlZWwtZmluaXNoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZG93bmxvYWRzLWJyYW5kcyB7XG4gICAgICAubG9nby1wYWNrIHtcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJyZWFkY3J1bWJzLCAucGFnZS1oZWFkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufSIsIiNlcnJvci1wYWdlIHtcblxuYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcblxuXG4gICAgLy8gY29udGVudFxuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL3V0aWxpdGllcy9lcnJvci1iZ1xcIFxcKDJcXCkucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwJTtcbiAgICAgICAgcGFkZGluZzogNzVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICBcbiAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIGhlaWdodDogMzI1cHg7XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNSU7XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIFxuICAgICAgXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwMDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNnJlbTtcbiAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDY2Y2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNyZXR1cm4taG9tZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogN3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9XG4gICAgXG4iLCIjZ2Z4LWxhbmRpbmcge1xuICAkZ2Z4Ymx1ZTojMjQzNTUxO1xuICAkZ2Z4QmFja2dyb3VuZDojMjgyODI4O1xuICAvLyBzb2NpYWwgdGFiXG4gIC5zb2NpYWwtdGFiIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6NiU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOi41cmVtO1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgei1pbmRleDoxMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIGhlaWdodDoxMzBweDtcbiAgICAgIHRvcDoxNSU7XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtcbiAgICAgIHdpZHRoOjMwJTtcbiAgICAgIG1hcmdpbi1sZWZ0Oi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTotNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDouNXJlbTtcbiAgICAgIHAge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGl2aWRlciB7XG4gICAgICBoZWlnaHQ6MXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheUM7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgbWF4LXdpZHRoOjI4cHg7XG4gICAgICBtYXJnaW46LjVyZW0gMDtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjoxcmVtIDA7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6JG9yYW5nZTtcbiAgICAgIGZvbnQtc2l6ZToycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3Qge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOjcwJTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGhlcm9cbiAgLmhlcm8ge1xuICAgIG1hcmdpbjowO1xuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgICAgIGhlaWdodDozMHB4O1xuICAgICAgd2lkdGg6MzBweDtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgei1pbmRleDoxO1xuICAgICAgb3BhY2l0eToxO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NTAlO1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICAgIHdpZHRoOjQwcHg7XG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTouNTtcbiAgICAgIH1cbiAgICAgICYuc2xpZGVyLW5leHQge1xuICAgICAgICByaWdodDowcHg7XG4gICAgICB9XG4gICAgICAmLnNsaWRlci1wcmV2IHtcbiAgICAgICAgbGVmdDowcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAmLnNsaWRlci1uZXh0IHtcbiAgICAgICAgICByaWdodDoyNXB4O1xuICAgICAgICB9XG4gICAgICAgICYuc2xpZGVyLXByZXYge1xuICAgICAgICAgIGxlZnQ6MjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgfVxuICAgIC5nZngtc2xpZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGdmeEJhY2tncm91bmQ7XG4gICAgfVxuICAgIC5ibGF6ZS1zbGlkZXIge1xuICAgICAgLyogRW5zdXJlIEJsYXplIFNsaWRlciB2YXJpYWJsZXMgYXJlIHNldCAqL1xuICAgICAgLS1zbGlkZXMtdG8tc2hvdzogMTtcbiAgICAgIC0tc2xpZGUtZ2FwOiAyMHB4O1xuXG4gICAgICAvKiBHaXZlIHRoZSBzbGlkZSBjb250YWluZXIgYSByZXNwb25zaXZlIGFzcGVjdCByYXRpbyAqL1xuICAgICAgLnNsaWRlci12aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5OyAvKiBLZWVwcyB2aWRlbyBwcm9wb3J0aW9uYWwgKi9cbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIH1cblxuICAgICAgLyogRm9yY2UgdGhlIGlmcmFtZSB0byBmaWxsIHRoZSBzbGlkZSBzcGFjZSBjb21wbGV0ZWx5ICovXG4gICAgICAuc2xpZGVyLXZpZGVvIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgLnNsaWRlci1hcnJvdyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7XG4gICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6MTtcbiAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW47XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgaGVpZ2h0OjQwcHg7XG4gICAgICAgICAgd2lkdGg6NDBweDtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgICBvcGFjaXR5Oi41O1xuICAgICAgICB9XG4gICAgICAgICYuc2xpZGVyLW5leHQge1xuICAgICAgICAgIHJpZ2h0OjBweDtcbiAgICAgICAgfVxuICAgICAgICAmLnNsaWRlci1wcmV2IHtcbiAgICAgICAgICBsZWZ0OjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICAgICYuc2xpZGVyLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6MjVweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5zbGlkZXItcHJldiB7XG4gICAgICAgICAgICBsZWZ0OjI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgfVxuICAgICAgLyogRW5zdXJlIEJsYXplIFNsaWRlciB2YXJpYWJsZXMgYXJlIHNldCAqL1xuICAgICAgLmJsYXplIHtcbiAgICAgICAgLS1zbGlkZXMtdG8tc2hvdzogMTtcbiAgICAgICAgLS1zbGlkZS1nYXA6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC8qIEdpdmUgdGhlIHNsaWRlIGNvbnRhaW5lciBhIHJlc3BvbnNpdmUgYXNwZWN0IHJhdGlvICovXG4gICAgICAuc2xpZGVyLXZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7IC8qIEtlZXBzIHZpZGVvIHByb3BvcnRpb25hbCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgfVxuXG4gICAgICAvKiBGb3JjZSB0aGUgaWZyYW1lIHRvIGZpbGwgdGhlIHNsaWRlIHNwYWNlIGNvbXBsZXRlbHkgKi9cbiAgICAgIC5zbGlkZXItdmlkZW8gaWZyYW1lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cblxuXG5cbiAgICAgIC5ibGF6ZS10cmFjay1jb250YWluZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC40cyBlYXNlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgICAgLnNsaWRlci12aWRlbyBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuc2xpZGVyLWltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmhlcm8tc2Nyb2xsLW1vcmUge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgLy9wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOjUlO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgei1pbmRleDogOTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIGJvdHRvbToxNSU7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgcGFkZGluZzoxcmVtO1xuICAgICAgfVxuICAgICAgaSB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIC8vbWFyZ2luOiAyNHB4IDAgMCAtMTMwcHg7XG4gICAgICAgIGFuaW1hdGlvbjogdXBkb3duIDJzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIH1cbiAgICAgIEBrZXlmcmFtZXMgdXBkb3duIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIDI1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgfVxuICAgICAgICA1MCUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgOTklIHtcbiAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB5b3V0dWJlIHZpZGVvXG4gICAgLyogQ29udGFpbmVyIGhpZGVzIGFueXRoaW5nIGV4dGVuZGluZyBwYXN0IGl0cyBib3VuZGFyeSAqL1xuICAgIC52aWRlby55b3V0dWJlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5OyAvKiBNYXRjaGVzIHN0YW5kYXJkIHZpZGVvIHNoYXBlcyAqL1xuICAgIH1cblxuICAgIC8qIE1ha2VzIHRoZSBhY3R1YWwgcGxheWVyIHRhbGxlciBzbyBib3R0b20gY29udHJvbHMgc2l0IGJlbG93IHRoZSB2aXNpYmxlIGFyZWEgKi9cbiAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTE1JTsgLyogVGFsbCBlbm91Z2ggdG8gcHVzaCB0aGUgYm90dG9tIGJhciBvdXQgb2YgdmlldyAqL1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gIH1cblxuICBcblxuICAvLyBsYXRlc3Qgd2hlZWxzXG4gIC5sYXRlc3Qtd2hlZWxzIHtcbiAgXG4gICAgJi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDo5MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZToxLjc1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICBcbiAgXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA1MCUpO1xuICAgICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgXG4gICAgLmluZm8ge1xuICAgICAgaDYge1xuICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6MTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6JGdyYXk7XG4gICAgICAgICAgZm9udC1zaXplOjEuMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgI2dmeC1sYXRlc3Qtc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDoxcmVtO1xuICAgIG1hcmdpbi1yaWdodDoxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDphdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OmF1dG87XG4gICAgfVxuICAgIC5sYXRlc3Qge1xuICAgICAgJi1zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICYtcHJldiwgJi1uZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4OyovXG4gICAgICAgIGhlaWdodDozMHB4O1xuICAgICAgICB3aWR0aDozMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiR5ZWxsb3c7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIHRvcDogMzUlO1xuICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHotaW5kZXg6MTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6MS41cmVtO1xuICAgICAgICAgIGhlaWdodDo1MnB4O1xuICAgICAgICAgIHdpZHRoOjUycHg7XG4gICAgICAgICAgdG9wOjQwJTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokb3JhbmdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLXByZXYge1xuICAgICAgICBsZWZ0Oi01cHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgbGVmdDotNzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1uZXh0IHtcbiAgICAgICAgcmlnaHQ6LTVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICByaWdodDotNzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN0YSBiYXIgXG4gIC5jdGEtYmFyIHtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBwYWRkaW5nOjFyZW0gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibGFjaztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgcGFkZGluZzoycmVtIDA7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzouMXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDoxO1xuICAgICAgZGlzcGxheTppbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6MzAwcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiR5ZWxsb3c7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6MS41cmVtO1xuICAgICAgICBtYXgtd2lkdGg6NTMwcHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheUM7XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDoxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmludmVyc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokeWVsbG93O1xuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJsYWNrO1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXlDO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIGN0YVxuICAuY3RhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2dmeC9hc3NldHMvYmtnLWN0YS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgcGFkZGluZzo0cmVtIDA7XG4gICAgLnJvdyB7XG4gICAgICBtYXgtd2lkdGg6ODJyZW07XG4gICAgICAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MS41cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgZm9udC1mYW1pbHk6SW1wYWN0LCBIYWV0dGVuc2Nod2VpbGVyLCAnQXJpYWwgTmFycm93IEJvbGQnLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZToxLjEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBsaW5lLWhlaWdodDoxO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBib3JkZXI6M3B4IHNvbGlkICR5ZWxsb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbToxMDAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZToycmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOjIuNzVyZW07XG4gICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5jdGEtYmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmN0YS1pdGVtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY3RhLWJnIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICAgIC5jdGEtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6MXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6Mi43NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmN0YS1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgYm90dG9tOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2Zvcm06bm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBwZW5jaWwgLSBzZWFyY2ggYnkgdmVoaWNsZVxuICAucGVuY2lsIHtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBwYWRkaW5nOjJyZW0gMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgcGFkZGluZzo1cmVtIDA7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBJbXBhY3QsIEhhZXR0ZW5zY2h3ZWlsZXIsICdBcmlhbCBOYXJyb3cgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjokZ2Z4Ymx1ZTtcbiAgICAgIGZvbnQtc2l6ZToyLjFyZW07XG4gICAgICBsaW5lLWhlaWdodDoxLjI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOjNyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6NC4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRnZnhibHVlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6MS41cmVtO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLy8gbGF0ZXN0IHdoZWVscyBcbiAgLmxhdGVzdC13aGVlbHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXkyNDtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgcGFkZGluZzoxcmVtIDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6MnJlbSAwO1xuICAgIH1cbiAgXG4gICAgJi1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbToycmVtO1xuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDo5MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIH1cbiAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgfVxuICBcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgJi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDUwJSk7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAyMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICAuaW5mbyB7XG4gICAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTouNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6MS4yNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjokZ3JheTtcbiAgICAgICAgICBmb250LXNpemU6LjdyZW07XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6LjlyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6MS4xcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmxhdGVzdCB7XG4gICAgJi1zbGlkZXIge1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgfVxuICAgICYtcHJldiwgJi1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDsqL1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1wcmV2IHtcbiAgICAgIGxlZnQ6LTcwcHg7XG4gICAgfVxuICAgICYtbmV4dCB7XG4gICAgICByaWdodDotNzBweDtcbiAgICB9XG4gIH1cbiAgLy8gd2hlZWxzIC0gZGlzY292ZXJcbiAgLyouZmVhdHVyZWQtd2hlZWxzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2dmeC9hc3NldHMvYmtnLWRpc2NvdmVyLmpwZycpO1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcGFkZGluZzoxcmVtIDA7XG4gICAgbWFyZ2luOjA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6MnJlbSAwO1xuICAgIH1cbiAgICAuZmVhdHVyZWQtd2hlZWxzLWhlYWRlciB7XG4gICAgICBib3JkZXI6MDtcbiAgICAgIGgyIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBmb250LWZhbWlseTpJbXBhY3QsIEhhZXR0ZW5zY2h3ZWlsZXIsICdBcmlhbCBOYXJyb3cgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuMjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6Mi41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mZWF0dXJlZC1zbGlkZXIge1xuICAgICAgbWF4LXdpZHRoOjg1cmVtO1xuICAgIH1cbiAgICAuZmVhdHVyZWQtYXJyb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM2LDUzLDgxLC41KTtcbiAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czo1MHB4O1xuICAgICAgcGFkZGluZzoxcmVtO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgdG9wOjM1JTtcbiAgICAgIHotaW5kZXg6MTtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNTAwcHgpIHtcbiAgICAgICAgJi5mZWF0dXJlZC1uZXh0IHtcbiAgICAgICAgICByaWdodDoxJTtcbiAgICAgICAgfVxuICAgICAgICAmLmZlYXR1cmVkLXByZXYge1xuICAgICAgICAgIGxlZnQ6MSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokd2hpdGU7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgLy9wYWRkaW5nOjFyZW07XG4gICAgICBwYWRkaW5nOi41cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgLy9wYWRkaW5nOjFyZW0gMnJlbTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICBjb2xvcjokZ2Z4Ymx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmVhdHVyZWQtd2hlZWwtbmFtZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OkltcGFjdCwgSGFldHRlbnNjaHdlaWxlciwgJ0FyaWFsIE5hcnJvdyBCb2xkJywgc2Fucy1zZXJpZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbToxLjVyZW07XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOi45cmVtO1xuICAgICAgICBmb250LWZhbWlseTokYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ2Z4Ymx1ZTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICAgIHBhZGRpbmc6Ljc1cmVtIDEuMjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOjFyZW07XG4gICAgICAgICAgcGFkZGluZzouNzVyZW0gMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9Ki9cbiAgLy8gZ2FsbGVyeVxuICAuZ2FsbGVyeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy9nZngvYXNzZXRzL2JrZy1jdGEuanBnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgIHBhZGRpbmc6NHJlbSAwO1xuXG4gICAgaDEge1xuICAgICAgZm9udC1mYW1pbHk6SW1wYWN0LCBIYWV0dGVuc2Nod2VpbGVyLCAnQXJpYWwgTmFycm93IEJvbGQnLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOjRyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjNyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5yb3cge1xuICAgICAgbWF4LXdpZHRoOjgycmVtO1xuICAgICAgLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjEuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIGZvbnQtZmFtaWx5OkltcGFjdCwgSGFldHRlbnNjaHdlaWxlciwgJ0FyaWFsIE5hcnJvdyBCb2xkJywgc2Fucy1zZXJpZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6MnJlbTtcbiAgICAgIHRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXI6M3B4IHNvbGlkICR5ZWxsb3c7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6Mi43NXJlbTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmdhbGxlcnktYmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1iZyB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGhlaWdodDoyMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgaGVpZ2h0OjYwMHB4O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgYm90dG9tOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHBlbmNpbCAtIGRlYWxlciBzZWFyY2hcbiAgLnBlbmNpbC5kZWFsZXItc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgnL2dmeC9hc3NldHMvYmtnLWRlYWxlci5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIC5yb3cge1xuICAgICAgbWF4LXdpZHRoOjgwcmVtO1xuICAgIH1cbiAgICAucGVuY2lsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgaDEge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOjMuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOjEuMjVyZW0gMi41cmVtO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucGFja2FnZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICBtYXJnaW46IDIwcHggYXV0bztcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcblxuICAuaXRlbS1uYW1lIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuXG4gIC5yZXR1cm5UeHQge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn0iLCIuYWNjZXNzb3J5LWNvbnRhaW5lciB7XG5cdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cdH1cblx0Jl9fbGVmdCB7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblx0fVxufVxuXG4uYWNjZXNzb3J5LXBvcHVwIHtcblx0bWF4LXdpZHRoOiA0MjVweDtcblx0cGFkZGluZzogMCAwIDEwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ji0td2lkZSB7XG5cdFx0bWF4LXdpZHRoOiA4NTBweDtcblx0fVxuXHQmX19oZWFkZXIge1xuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXHRcdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjY2NjO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG5cdFx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cdCZfX2l0ZW0ge1xuXHRcdHdpZHRoOiA5MCU7XG5cdFx0bWFyZ2luOiAwIGF1dG8gMTBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdCYtLWJvcmRlcjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXHRcdH1cblx0XHQuaW5wdXQge1xuXHRcdFx0bWFyZ2luOiAwIDIwcHg7XG5cdFx0XHQmLS1yaWdodCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMHB4O1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdG1heC13aWR0aDogOTBweDtcblx0XHRcdH1cblx0XHRcdCYtLWxyZyB7XG5cdFx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQudGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XG5cdFx0fVxuXHR9XG5cdC50aXRsZS0tcmlnaHQge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHR9XG5cdCZfX2xpbmsge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtc2l6ZTogMTAwJTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuXG4uYWNjZXNzb3J5LXBvcHVwLS1yaWdodCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHQuaW5wdXQge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuY29udGVudCB7XG5cdFx0cGFkZGluZzogMCAycmVtO1xuXHR9XG5cdC5zdWJ0ZXh0IHtcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0fVxufSIsIi5nYWxsZXJ5LXF1b3RlLXBvcHVwIHtcbiAgJl9faGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxuICAmX190eHQge1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICB9XG4gICZfX25vdGUge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG4uZm9ybS1uYW1lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIGlucHV0IHtcbiAgICB3aWR0aDogMTkuNXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uZ2FsbGVyeS1wcm9kdWN0LWluZm8ge1xuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG4iLCIuZml0bWVudENoZWNrIHtcbiAgJl9fdHh0IHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICAmX19idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59IiwiI25ld3NsZXR0ZXItcG9wdXAge1xuICBoMiB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbiAgaW5wdXQge1xuICAgIC8vbWFyZ2luLWJvdHRvbTowO1xuICB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcbiAgfVxuICAjbWNlLXJlc3BvbnNlcyB7XG4gICAgd2hpdGUtc3BhY2U6bm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OjEuMjU7XG4gICAgZm9udC1zaXplOjFyZW07XG4gIH1cbiAgJi5kYXJrLXBvcHVwIHtcbiAgICBoMixwIHtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICB9XG4gIH1cbn0iLCIvLyBpbnZlbnRvcnkgaXRlbXMgcmVzdWx0IGxpc3RcbiNpbnZlbnRvcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHktcmVndWxhcjtcbiAgLmludmVudG9yeSB7XG4gICAgJi1pdGVtIHtcbiAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgIHBhZGRpbmctdG9wOjEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOjEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgLnNsYXNob3V0IHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1wYXJ0LW51bWJlciB7XG4gICAgICBjb2xvcjokbWVkaXVtLWdyYXk7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgfVxuICAgICYtc3RvY2sge1xuICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAmLWJ5LWxvY2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWRlYWxlciwgJi1tc3JwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OjMwMDtcbiAgICAgIGNvbG9yOiRtZWRpdW0tZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTouODM3NXJlbTtcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYtbXNycCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDoxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWRlYWxlciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gICAgJi1zYWxlIHtcbiAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgJi1wcmljZSB7XG4gICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICB9XG4gICAgfVxuICAgICYtcHVyY2hhc2Uge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgbWFyZ2luLXRvcDouNXJlbTtcbiAgICAgIH1cbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICAgICAgICBmb250LWZhbWlseTokaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOjFyZW0gMS41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgcGFkZGluZzouNXJlbSAxcmVtO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi1kaXZpZGVyIHtcbiAgICAgIGhlaWdodDoxcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5O1xuICAgIH1cbiAgfVxuICAvLyBubyBtYXRjaGVzIC8gcHJvZHVjdCByZXN1bHRzIGNvdW50XG4gIC5uby1tYXRjaGVzLC5yZXN1bHQtY291bnQtZW1wdHkge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICAvLyBsaXN0IHZpZXdcbiAgLnZpZXctbGlzdCB7XG4gICAgLmludmVudG9yeSB7XG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgfVxuICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICB3aWR0aDoxMiU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDo3MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWluZm8ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtbG9jYXRpb24ge1xuICAgICAgICB3aWR0aDo0MCU7XG4gICAgICB9XG4gICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6ODglOyAgXG4gICAgICAgIH1cbiAgICAgICAgJi10b3Age1xuICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgICBsaW5lLWhlaWdodDoxLjM1O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOi41cmVtO1xuICAgICAgICB9XG4gICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pbnZlbnRvcnktZGVzY3JpcHRpb24tbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAgXG4gICAgfVxuICB9XG4gIC8vIGdhbGxlcnkgdmllXG4gIC52aWV3LWdhbGxlcnkge1xuICAgIC5pbnZlbnRvcnkge1xuICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDoyMDBweDtcbiAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLW1zcnAsICYtZGVhbGVyIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgICAgJi1sb2NhdGlvbiB7XG4gICAgICAgIHdpZHRoOjMzJTtcbiAgICAgIH1cbiAgICAgICYtcHVyY2hhc2Uge1xuICAgICAgICBtYXJnaW4tdG9wOi41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8vLy8gSW52ZW50b3J5IFBvcHVwIC0gUmVzdWx0cyBQYWdlIC8vLy8vXG4jd2FyZS1ib3gsICN3YXJlLWJveDIsICN3YXJlLWJveDMge1xuICBwb3NpdGlvbjpmaXhlZDtcbiAgZGlzcGxheTpub25lO1xuICBvcGFjaXR5OjA7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBsZWZ0OjA7XG4gIGJvdHRvbTowO1xuICB6LWluZGV4OjEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uaXRlbS1wb3B1cCB7XG4gIGZvbnQtc2l6ZToxcmVtO1xuICBmb250LXdlaWdodDo1MDA7XG4gIHdpZHRoOjYwMHB4O1xuICBwYWRkaW5nOjIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xuICAvKkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAxMTAwcHgpIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH0qL1xuICBoMyB7XG4gICAgZm9udC1zaXplOjEuMjVyZW07XG4gIH1cbiAgLml0ZW0tcG9wdXAtdGl0bGUge1xuICAgIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzoxcHg7XG4gICAgfVxuICB9XG4gIGxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOjgwcHg7XG4gICAgZm9udC13ZWlnaHQ6NjAwO1xuICB9XG4gIGlucHV0IHtcbiAgICB3aWR0aDo1MHB4O1xuICB9XG4gID4gZGl2IHtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG4gIC5maWVsZCB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHdpZHRoOmF1dG87XG4gICAgPiBkaXYge1xuICAgICAgd2lkdGg6YXV0bztcbiAgICB9XG4gICAgJi51cHNlbGwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzoxcmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6MXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzowO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgfVxuICB9XG4gIC5pdGVtLXBvcHVwLWN0YSB7XG4gICAgcGFkZGluZy1sZWZ0OjgwcHg7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge31cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLy8vLy8gdXBzZWxsIHNlY3Rpb24gLy8vLy9cbiAgLnVwc2VsbCB7XG4gICAgcGFkZGluZy1ib3R0b206MS41cmVtO1xuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTouNXJlbTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgd2lkdGg6YXV0bztcbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgZm9udC1zaXplOi44NXJlbTtcbiAgICAgIHRyIHRkIHtcbiAgICAgICAgcGFkZGluZzouMjVyZW0gLjc1cmVtOyAgXG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3dhcmUtYm94MiB7XG4gIC5pdGVtLXBvcHVwLW1zZyB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nLWJvdHRvbToycmVtO1xuICB9XG4gICNtZXNzYWdlIHtcbiAgICBmb250LXdlaWdodDo1MDA7XG4gICAgZm9udC1zaXplOjFyZW07XG4gICAgLmZhLWNoZWNrLWNpcmNsZSwuZmEtbWludXMtY2lyY2xlLC5mYS10aW1lcy1jaXJjbGUsLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgICAgIGZvbnQtc2l6ZTozcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgIH1cbiAgICAuZmEtY2hlY2stY2lyY2xlIHtcbiAgICAgIGNvbG9yOiRncmVlbjtcbiAgICB9XG4gICAgLmZhLW1pbnVzLWNpcmNsZSwuZmEtdGltZXMtY2lyY2xlLC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSB7XG4gICAgICBjb2xvcjokeWVsbG93O1xuICAgIH1cbiAgfVxuICAuaXRlbS1wb3B1cC1jdGEge1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgYS5idXR0b246bGluaywgYS5idXR0b246dmlzaXRlZCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokcmVkO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2FydCBQb3B1cFxuI3dhcmUtYm94MyB7XG4gIC5jYXJ0LXJlc3VsdHMge1xuICAgIHRoLHRkIHtcbiAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgIH1cbiAgfVxuICAuY2FydC10b3Age1xuICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOjJyZW07XG4gICAgfVxuICB9XG4gIC8vIG1vYmlsZSBjYXJ0XG4gIC5tb2JpbGUtY2FydCB7XG4gICAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokaW52LWxpZ2h0LWdyYXk7XG4gICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRncmF5O1xuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzoxcmVtIC43NXJlbTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS10aXRsZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LWljb24ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDouNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAubW9iaWxlLXN1bW1hcnktdG90YWwge1xuICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAuZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnZlbnRvcnkge1xuICAgICAgJi1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokaW52LWxpZ2h0LWdyYXk7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIHBhZGRpbmc6Ljc1cmVtO1xuICAgICAgfVxuICAgICAgJi10aHVtYm5haWwge1xuICAgICAgICB3aWR0aDoxMiU7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDo3MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWluZm8ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICB3aWR0aDo4OCU7ICBcbiAgICAgICAgfVxuICAgICAgICAmLXRvcCB7XG4gICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OjEuMzU7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206LjVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICB9XG4gICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5pbnZlbnRvcnktZGVzY3JpcHRpb24tbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSAgXG4gICAgfVxuXG5cbiAgICAubW9iaWxlLWNoZWNrb3V0LWN0YSwgLm1vYmlsZS1jYXJ0LWN0YSB7XG4gICAgICBwYWRkaW5nOi43NXJlbTtcbiAgICAgIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOi43NXJlbSAxcmVtO1xuICAgICAgICBmb250LXNpemU6MS4xNXJlbTtcbiAgICAgICAgJi5lZGl0LWNhcnQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6Ljc1cmVtO1xuICAgICAgICB9XG4gICAgICAgICYuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmVlbjtcbiAgICAgICAgICBtYXJnaW4tbGVmdDouNzVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1vYmlsZS1jaGVja291dC10b3RhbCwgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgICAgIHBhZGRpbmc6Ljc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICB9XG5cbiAgfVxuICAubW9iaWxlLWNhcnQtdGFibGUtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5O1xuICAgIGZvbnQtc2l6ZToxcmVtO1xuICB9XG4gIC5tb2JpbGUtY2FydCB7XG4gICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGdyYXk7XG4gICAgLmludmVudG9yeS1pdGVtIHtcbiAgICAgIC5pbnZlbnRvcnktZGVzY3JpcHRpb24tYm90dG9tLWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICYtYm90dG9tIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOjEuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5tb2JpbGUtY2FydC1jdGEge1xuICAgICAgcGFkZGluZzoxLjI1cmVtIC43NXJlbTtcbiAgICB9XG4gICAgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuI2ludmVudG9yeSB7XG4gIC8vIHBhZ2luYXRpb25cbiAgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOjNyZW0gMDtcbiAgICAvL2JvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5NTtcbiAgICBtYXJnaW46M3JlbSAwO1xuICB9XG4gIC8vIHNjcm9sbCBuYXZpZ2F0aW9uIHBhZ2luYXRpb25cbiAgLm5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206M3JlbTtcbiAgICB3aWR0aDoxMDAlO1xuICAgICYubW9yZWxvYWRlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46MnJlbSBhdXRvO1xuICAgICAgcGFkZGluZzoxcmVtIDJyZW07XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBmb250LXNpemU6Ljg1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JHByaW1hcnktY29sb3I7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuaW52ZW50b3J5LWhlYWQge1xuICAmLmZpeGVkIHtcbiAgICBwb3NpdGlvbjpmaXhlZDtcbiAgICB3aWR0aDoxMDAlO1xuICAgIHRvcDowO1xuICAgIHotaW5kZXg6MTA7XG4gICAgI2xlZnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokaW52LWxpZ2h0LWdyYXk7XG4gICAgICBwYWRkaW5nLWJvdHRvbToxcmVtO1xuICAgIH1cbiAgfVxufVxuXG4udXNlciB7XG4gIGRpc3BsYXk6ZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXItYm90dG9tOjVweCBzb2xpZCAkZ3JheTtcbiAgYmFja2dyb3VuZC1jb2xvcjokaW52LWxpZ2h0LWdyYXk7XG4gIHdpZHRoOjEwMCU7XG4gIHBhZGRpbmctdG9wOjJyZW07XG4gIHBhZGRpbmctYm90dG9tOjJyZW07XG4gIGZvbnQtc2l6ZToxLjA1cmVtO1xuICBwYWRkaW5nLWxlZnQ6LjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6LjkzNzVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOi44NzVyZW07XG4gICAgcGFkZGluZy10b3A6MXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbToxcmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgfVxuICAmLW5hbWUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHktcmVndWxhcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGdyYXk3O1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206MXJlbTtcbiAgICB9XG4gIH1cbiAgJi1jb2RlIHtcbiAgICBjb2xvcjokcmVkO1xuICB9XG4gICYtb3B0aW9ucyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAganVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7XG4gICAgfVxuICAgID4gZGl2IHtcbiAgICAgIGZvbnQtd2VpZ2h0OjkwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OjFyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW4tbGVmdDowO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MXJlbTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHktcmVndWxhcjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICBmb250LXdlaWdodDo1MDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6JGdyYXk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmxvYWRpbmctc2NyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIHRvcDowO1xuICByaWdodDowO1xuICBsZWZ0OjA7XG4gIGJvdHRvbTowO1xuICBjb250ZW50OicnO1xuICBkaXNwbGF5OmJsb2NrO1xuICB6LWluZGV4Ojk5OTk7XG4gIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4OyAgXG4gICAgZm9udC1zaXplOjNyZW07XG4gICAgY29sb3I6JHdoaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIC1tb3otYW5pbWF0aW9uOnNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjpzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxuICBALW1vei1rZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuICBALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuICBAa2V5ZnJhbWVzIHNwaW4geyAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7IH0gfVxufSIsIiNpbnZlbnRvcnkge1xuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDoycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOjJyZW07XG4gIH1cbn1cblxuLy8gUmVzdWx0cyAvIGZpbHRlclxuI2ludmVudG9yeSwuaW52ZW50b3J5LWhlYWQge1xuICAuZmlsdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbToycmVtO1xuICAgICYtc2VsZWN0aW9uIHtcbiAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGdyYXk7XG4gICAgICBoNSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6MS4xNXJlbTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICAgICAgZm9udC1zaXplOi44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OjA7XG4gICAgICB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206Ljc1cmVtO1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDowO1xuICAgICAgfVxuICAgIH1cbiAgICAmLWFjdGl2ZSB7XG4gICAgICBmb250LXdlaWdodDo0MDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbToycmVtO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHdpZHRoOjc1JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTtcbiAgICAgICAgaGVpZ2h0OjFweDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MnJlbTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6OTAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0Oi41cmVtO1xuICAgICAgICAmI2NsZWFyIHtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6LjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtc2VsZWN0ZWQge1xuICAgICAgICBwYWRkaW5nOi41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRyZWQ7XG4gICAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtYnV0dG9uIHtcbiAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICBmb250LXdlaWdodDo5MDA7XG4gICAgICBmb250LXNpemU6MXJlbTtcbiAgICB9XG4gICAgJi1wYXJ0LW51bWJlciB7XG4gICAgICBtYXgtd2lkdGg6ODAlO1xuICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGdyYXk7XG4gICAgICBwYWRkaW5nLWJvdHRvbToxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nOi41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmLXNob3BieSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTo1cHggc29saWQgJGdyYXk7ICBcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjJyZW07XG4gICAgICAgIG1heC13aWR0aDo4MCU7XG4gICAgICB9XG4gICAgICBsYWJlbCxzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDouNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6LjlyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOjEuMTVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzoxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gaW52ZW50b3J5IG9wdGlvbnMgYmFyXG4jaW52ZW50b3J5IHtcbiAgLm9wdGlvbnMtYmFyIHtcbiAgICBib3JkZXItYm90dG9tOjVweCBzb2xpZCAkZ3JheTtcbiAgICBwYWRkaW5nLWJvdHRvbToycmVtO1xuICAgIGNvbG9yOiRibGFjaztcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgZm9udC1zaXplOjFyZW07XG4gICAgc2VsZWN0LGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTouNzVyZW07XG4gICAgfVxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAkZ3JheTtcbiAgICAgIH1cbiAgICB9IFxuICAgICYtdmlldyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOjEuNXJlbTtcbiAgICAgICAgY29sb3I6JGludi1saWdodC1ncmF5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2Utb3V0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgICB9XG4gICAgICB9ICAgXG4gICAgICBidXR0b24uYWN0aXZlLXZpZXcge1xuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtaW5zdG9jayB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1zb3J0IHtcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6LjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIC5yZXN1bHQtY291bnQsIC5yZXN1bHQtY291bnQtZW1wdHkge1xuICAgICAgcGFkZGluZy1yaWdodDouMjVyZW07XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBtb2JpbGUgXG4jaW52ZW50b3J5LC5pbnZlbnRvcnktaGVhZCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgLmZpbHRlciB7XG4gICAgICAmLXNlbGVjdGlvbiB7XG4gICAgICAgIGJvcmRlcjowO1xuICAgICAgICBwYWRkaW5nOi43NXJlbTtcbiAgICAgICAgaGVpZ2h0OjUwdmg7XG4gICAgICAgIG92ZXJmbG93LXg6c2Nyb2xsO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAkZ3JheTtcbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbiB7XG4gICAgJi1pdGVtIHtcbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTokaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDo1MDA7XG4gICAgICBib3JkZXI6MDtcbiAgICB9XG4gIH1cbn0iLCIuY2FydCB7XG4gICNsb2dpbiB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgJi5jYXJ0LXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcnQtbGlzdGluZyB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgYm9yZGVyLXRvcDo1cHggc29saWQgJHJlZDtcbiAgICB9XG4gIH1cbiAgXG4gIHRoIHtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRkYXJrLWdyYXk7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICB9XG4gIHRkIHtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gIH1cbiAgXG4gICYtYnV0dG9ucywgJi10b3RhbCB7XG4gICAgcGFkZGluZzoycmVtO1xuICB9XG4gIFxuICBcbiAgJi1idXR0b25zIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6Ljc1cmVtIDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uZXctc2VhcmNoIHtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gIH1cbiAgLnVwZGF0ZS1jaGVja291dCB7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAuYnV0dG9uIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmF5O1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JlZW47XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmVkaXQtY2FydCB7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBcbiAgJi1xdHkge1xuICAgIHdpZHRoOjUwcHg7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgfVxuICBcbiAgJi10b3RhbCB7XG4gICAgZm9udC13ZWlnaHQ6OTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgJi10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIH1cbiAgfVxuICAuZGlzY2xhaW1lciB7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHBhZGRpbmctdG9wOjFyZW07XG4gICAgYm9yZGVyLXRvcDo1cHggc29saWQgJGRhcmstZ3JheTtcbiAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6NXJlbTtcbiAgICB9XG4gIH1cbiAgLmludi1idG4tY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgIH1cbiAgfVxuICAuY2hlY2tvdXQtZXJyb3Ige1xuICAgIGNvbG9yOiRsaWdodC1yZWQ7XG4gICAgZm9udC1zaXplOi45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgfVxufVxuXG5cblxuLy8vLy8vIENoZWNrb3V0IEZvcm0gLy8vLy9cbi5wYWdlLWNvbnRlbnQge1xuICAuY2hlY2tvdXQtZm9ybSB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICAuYnV0dG9ucyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNjaGVja291dCwgI2NhcnQge1xuICBoMSxoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBcbiAgfVxuICBoMSB7XG4gICAgY29sb3I6JHJlZDtcbiAgICBcbiAgfVxuICAuY2hlY2tvdXQtdGl0bGUsLmNhcnQtdGl0bGUgeyAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MXJlbTtcbiAgICB9XG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOjAgLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6MnJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jaGVja291dC1mb3JtIHtcbiAgICBoMiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBjaGVja291dCB0b3Bcbi5jaGVja291dC10b3Age1xuICBkaXNwbGF5OmZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIGNoZWNrb3V0IGxlZnRcbi5jaGVja291dCB7XG4gICYtZm9ybSB7XG4gICAgcGFkZGluZzouNzVyZW07XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkZ3JheTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgYm9yZGVyOjFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFkZGluZzoycmVtO1xuICAgIH1cbiAgICAuYnV0dG9ucyB7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOjE1MHB4O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmVlbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6LjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JheTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaW52YWxpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRsaWdodC1yZWQ7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgfVxuICB9XG4gIGxhYmVsIHtcbiAgICBtYXgtd2lkdGg6MjAwcHg7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgLypmb250LXNpemU6MXJlbTsqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG4gIC5maWVsZCB7XG4gICAgaW5wdXQsIHNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6MzUwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgIG1heC13aWR0aDo1MDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6MTUwcHg7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbWVyLWFkZHJlc3Mge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OjEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbToxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgfVxufVxuXG4jY2hlY2tvdXQgLnN1bW1hcnkge1xuICBwYWRkaW5nOjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6JGludi1saWdodC1ncmF5O1xuICBib3JkZXI6MXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gIGJvcmRlci1sZWZ0OjA7XG4gIGZvbnQtc2l6ZToxcmVtO1xuICAuY2FydC1saXN0aW5nIHtcbiAgICBtYXJnaW4tdG9wOjIuNXJlbTtcbiAgfVxuICB0aCB7XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgbWluLXdpZHRoOjEwMHB4O1xuICAgIH1cbiAgfVxufVxuXG4jY2hlY2tvdXQgLm1vYmlsZS1jaGVja291dCwgI2NhcnQgLm1vYmlsZS1jYXJ0IHtcbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGludi1saWdodC1ncmF5O1xuICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGdyYXk7XG4gICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JheTtcbiAgICAgIHBhZGRpbmc6MXJlbSAuNzVyZW07XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLm1vYmlsZS1zdW1tYXJ5LXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgICBjb2xvcjokcmVkO1xuICAgICAgfVxuICAgICAgLm1vYmlsZS1zdW1tYXJ5LWljb24ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6LjVyZW07XG4gICAgICB9XG4gICAgICAubW9iaWxlLXN1bW1hcnktdG90YWwge1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5mYS1hbmdsZS1kb3duOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDYnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW52ZW50b3J5IHtcbiAgICAmLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokaW52LWxpZ2h0LWdyYXk7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBwYWRkaW5nOi43NXJlbTtcbiAgICB9XG4gICAgJi10aHVtYm5haWwge1xuICAgICAgd2lkdGg6MTIlO1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHdpZHRoOmF1dG87XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6NzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi1pbmZvIHtcbiAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xuICAgICAgICB3aWR0aDo4OCU7ICBcbiAgICAgIH1cbiAgICAgICYtdG9wIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBsaW5lLWhlaWdodDoxLjM1O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTouNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NzAwO1xuICAgICAgfVxuICAgICAgJi1ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDo1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbnZlbnRvcnktZGVzY3JpcHRpb24tbGVmdCB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmLWJvdHRvbSB7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSAgXG4gIH1cbiAgXG4gIFxuICAubW9iaWxlLWNoZWNrb3V0LWN0YSwgLm1vYmlsZS1jYXJ0LWN0YSB7XG4gICAgcGFkZGluZzouNzVyZW07XG4gICAgLmJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOi43NXJlbSAxcmVtO1xuICAgICAgZm9udC1zaXplOjEuMTVyZW07XG4gICAgICAmLmVkaXQtY2FydCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGdyYXk7XG4gICAgICAgIG1hcmdpbi1sZWZ0Oi43NXJlbTtcbiAgICAgIH1cbiAgICAgICYuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JlZW47XG4gICAgICAgIG1hcmdpbi1sZWZ0Oi43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1jaGVja291dC10b3RhbCwgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgICBwYWRkaW5nOi43NXJlbTtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgfVxuICBcbn1cbi8qLy8vLy8gTW9iaWxlIC0gQ2FydCAvLy8vLyovXG4jY2FydCAubW9iaWxlLWNhcnQtdGFibGUtY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206MDtcbiAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJGdyYXk7XG59XG4jY2FydCAubW9iaWxlLWNhcnQge1xuICBib3JkZXItdG9wOjFweCBzb2xpZCAkZ3JheTtcbiAgLmludmVudG9yeS1pdGVtIHtcbiAgICAuaW52ZW50b3J5LWRlc2NyaXB0aW9uLWJvdHRvbS1ib3R0b20ge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICYtYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZToxLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tb2JpbGUtY2FydC1jdGEge1xuICAgIHBhZGRpbmc6MS4yNXJlbSAuNzVyZW07XG4gIH1cbiAgLm1vYmlsZS1jYXJ0LXRvdGFsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyovLy8vLyBSZW1vdmUgSXRlbSBQb3B1cCAvLy8vLyovXG4jd2FyZS1ib3gyLmNhcnQge1xuICAuaXRlbS1wb3B1cC1jdGEge1xuICAgIHBhZGRpbmctbGVmdDowO1xuICB9XG59XG5cblxuIiwiLmxvZ2luIHtcbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDo0MCU7XG4gIH1cbiAgLmludi1saW5rcyB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOi41cmVtO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW52LWRpc2NsYWltZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGl0bGUge1xuICAgIGgzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6MnJlbTtcbiAgICB9XG4gIH1cbiAgI2xvZ2luX2Zvcm0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmludi1tc2cge1xuICAgID4gcCB7XG4gICAgICBmb250LXdlaWdodDo3MDA7XG4gICAgICBjb2xvcjokcmVkO1xuICAgIH1cbiAgfVxufSIsIi5pbnYudGhhbmtzIHtcbi8qICAucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDoxcmVtO1xuICB9Ki9cbiAgaDMge1xuICAgIGNvbG9yOiRncmVlbjtcbiAgICBmb250LXNpemU6NHJlbTtcbiAgfVxuICAuYnV0dG9ucyA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6JHJlZDtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgcGFkZGluZzoxcmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6MXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzowO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICB9XG4gIC50aGFua3MtdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OjFyZW07XG4gICAgcGFkZGluZy1yaWdodDoxcmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjNyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6M3JlbTtcbiAgICB9XG4gIH1cbn0iLCIub3JkZXJzIHtcbiAgLnBhZ2UtY29udGVudCwgLmludmVudG9yeS1oZWFkIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGludi1saWdodC1ncmF5O1xuICAgICAgICAjaW52ZW50b3J5LWZpbHRlci1zZWFyY2gge1xuICAgICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgIGJvcmRlcjowO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zdWJoZWFkZXIge1xuICAgICAgZm9udC13ZWlnaHQ6MXJlbTtcbiAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGludi1saWdodC1ncmF5O1xuICAgICAgLy9wYWRkaW5nLWxlZnQ6IC45Mzc1cmVtO1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6MnJlbTtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgLy9wYWRkaW5nLWxlZnQ6LjYyNXJlbTtcbiAgICAgICAgLy9wYWRkaW5nLXJpZ2h0Oi42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6MXJlbTtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OjFyZW07XG4gICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICBtYXJnaW4tbGVmdDouNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgLnNlYXJjaC1maWx0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgd2lkdGg6MzclO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICB3aWR0aDo1JTtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgIHdpZHRoOjIwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0Oi41cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDouNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRhdGVzIHtcbiAgICAgICAgPiBsYWJlbCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0Oi41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZToxcmVtO1xuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDowO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6MXJlbTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIHRhYmxlXG4gIC5vcmRlci1xdWVyeSB7XG4gICAgcGFkZGluZzoxcmVtIDJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6JHJlZDtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmc6MXJlbTtcbiAgICB9XG4gIH1cblxuICAub3JkZXItdGFibGUge1xuICAgIHBhZGRpbmctYm90dG9tOjFyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgIC8vbWF4LWhlaWdodDo4MDBweDtcbiAgICAgIG92ZXJmbG93LXk6YXV0bztcbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgdGhlYWQsdGJvZHkge1xuICAgICAgYm9yZGVyOjA7XG4gICAgICBib3JkZXItYm90dG9tOjEwcHggc29saWQgJGJsYWNrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5QztcbiAgICB9XG4gICAgdGQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAmLnRyYWNraW5nLW9yZGVyLWJ1dHRvbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cblxuICAvLyBkaXNjbGFpbWVyIFxuICAuZGlzY2xhaW1lciB7XG4gICAgY29sb3I6JHJlZDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6MXJlbTtcbiAgICB9XG4gIH1cbn1cblxuI3dhcmUtYm94Mi5vcmRlci1kZXRhaWxzLCNpbnYtb3JkZXItcHJpbnQge1xuICBjb2xvcjokYmxhY2s7XG4gIC5pdGVtLXBvcHVwIHtcbiAgICBib3JkZXItcmFkaXVzOjVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6MnJlbTtcbiAgICAgIHdpZHRoOjkwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6LjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0Oi41cmVtO1xuICAgIH1cbiAgfVxuICAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206MnJlbTtcbiAgICB9XG4gICAgPiBkaXYge1xuICAgICAgd2lkdGg6MzUlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtIGRvd24pIHtcbiAgICAgICAgd2lkdGg6NDUlO1xuICAgICAgICBsaW5lLWhlaWdodDoxLjQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5hZGRyZXNzIHtcbiAgICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OjEuMTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOi44cmVtO1xuICAgICAgfVxuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MXJlbTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OjA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm9yZGVyLWluZm8ge1xuICAgICAgZm9udC13ZWlnaHQ6NjAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6LjlyZW1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC5wcm9kdWN0LWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206MXJlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XG4gICAgICBsaW5lLWhlaWdodDoxLjI1O1xuICAgICAgZm9udC1zaXplOi45cmVtO1xuICAgIH1cbiAgfVxuICB0YWJsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0aGVhZCx0Ym9keSB7XG4gICAgICBib3JkZXI6MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOjEwcHggc29saWQgJGJsYWNrO1xuICAgIH1cbiAgICB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG5cbiAgLmN0YSB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6MXJlbTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgfVxuICB9XG59XG5cbi51c2VyLW9wdGlvbnMgPiBkaXYge1xuICAmLnVzZXItb3B0aW9ucy1pbnZlbnRvcnkge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBhLGkge1xuICAgICAgY29sb3I6JHJlZDtcbiAgICB9XG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjokYmxhY2s7XG4gICAgICBpIHtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udXNlci1vcHRpb25zLWludmVudG9yeSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cblxuXG4vLyBwcmludFxuLnByaW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6JHdoaXRlO1xufVxuI2ludi1vcmRlci1wcmludCB7XG4gIC5pdGVtLXBvcHVwIHtcbiAgICBtYXJnaW46MCBhdXRvO1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cbiAgLm9yZGVyLWluZm8sdGFibGUge1xuICAgIGZvbnQtc2l6ZTouOXJlbTtcbiAgfVxufSJdfQ== */
