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

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

body { margin: 0; }

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

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

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

a { background-color: transparent; }

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

b, strong { font-weight: bolder; }

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

small { font-size: 80%; }

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

sub { bottom: -0.25em; }

sup { top: -0.5em; }

img { border-style: none; }

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

button, input { overflow: visible; }

button, select { text-transform: none; }

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

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

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

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

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

progress { vertical-align: baseline; }

textarea { overflow: auto; }

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

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

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

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

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

details { display: block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none; }

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

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

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

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

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

body { margin: 0; padding: 0; background: #ffffff; font-family: "Roboto Flex", sans-serif; font-weight: 200; line-height: 1.5; color: #001943; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button { padding: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0; border-radius: 0; background: transparent; line-height: 1; cursor: auto; }

[data-whatinput='mouse'] button { outline: 0; }

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

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

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

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea { display: block; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; height: 2.4375rem; margin: 0 0 1rem; padding: 0.5rem; border: 1px solid #cacaca; border-radius: 0; background-color: #ffffff; -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: 200; line-height: 1.5; color: #0a0a0a; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus, textarea:focus { outline: none; border: 1px solid #8a8a8a; background-color: #ffffff; -webkit-box-shadow: 0 0 5px #cacaca; box-shadow: 0 0 5px #cacaca; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

textarea { max-width: 100%; }

textarea[rows] { height: auto; }

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

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

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

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

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

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

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

::placeholder { color: #cacaca; }

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

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

[type='checkbox'] + label[for], [type='radio'] + label[for] { cursor: pointer; }

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

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

label { display: block; margin: 0; font-size: 0.875rem; font-weight: 200; line-height: 1.8; color: #0a0a0a; }

label.middle { margin: 0 0 1rem; line-height: 1.5; padding: 0.5625rem 0; }

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

.input-group { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; margin-bottom: 1rem; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }

.input-group > :first-child, .input-group > :first-child.input-group-button > * { border-radius: 0 0 0 0; }

.input-group > :last-child, .input-group > :last-child.input-group-button > * { border-radius: 0 0 0 0; }

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

.input-group-label { padding: 0 1rem; border: 1px solid #cacaca; background: #e6e6e6; color: #0a0a0a; text-align: center; white-space: nowrap; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.input-group-label:first-child { border-right: 0; }

.input-group-label:last-child { border-left: 0; }

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

.input-group-button { padding-top: 0; padding-bottom: 0; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; }

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

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

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

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

.fieldset legend { margin: 0; margin-left: -0.1875rem; padding: 0 0.1875rem; }

select { height: 2.4375rem; margin: 0 0 1rem; padding: 0.5rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 1px solid #cacaca; border-radius: 0; background-color: #ffffff; font-family: inherit; font-size: 1rem; font-weight: 200; line-height: 1.5; color: #0a0a0a; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28138, 138, 138%29"></polygon></svg>'); background-origin: content-box; background-position: right -1rem center; background-repeat: no-repeat; background-size: 9px 6px; padding-right: 1.5rem; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

@media screen and (min-width: 0\0) { select { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }

select:focus { outline: none; border: 1px solid #8a8a8a; background-color: #ffffff; -webkit-box-shadow: 0 0 5px #cacaca; box-shadow: 0 0 5px #cacaca; -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; transition: box-shadow 0.5s, border-color 0.25s ease-in-out; transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; }

select:disabled { background-color: #e6e6e6; cursor: not-allowed; }

select::-ms-expand { display: none; }

select[multiple] { height: auto; background-image: none; }

select:not([multiple]) { padding-top: 0; padding-bottom: 0; }

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

.is-invalid-input:not(:focus)::-webkit-input-placeholder { color: #cc4b37; }

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

.is-invalid-input:not(:focus):-ms-input-placeholder { color: #cc4b37; }

.is-invalid-input:not(:focus)::-ms-input-placeholder { color: #cc4b37; }

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

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

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

.form-error.is-visible { display: block; }

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

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

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

strong, b { font-weight: 450; 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 Flex", sans-serif; font-style: normal; font-weight: 200; color: inherit; text-rendering: optimizeLegibility; }

h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small { line-height: 0; color: #cacaca; }

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

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

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

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

h5, .h5 { font-size: 1.125rem; 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; }

a { line-height: inherit; color: #2a77eb; text-decoration: none; cursor: pointer; }

a:hover, a:focus { color: #1463da; }

a img { border: 0; }

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

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

li { font-size: inherit; }

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

ol { margin-left: 1.25rem; }

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

dl { margin-bottom: 1rem; }

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

blockquote { margin: 0 0 1rem; padding: 0.5625rem 1.25rem 0 1.1875rem; border-left: 1px solid #cacaca; }

blockquote, blockquote p { line-height: 1.6; color: #8a8a8a; }

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

figure { margin: 0; }

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

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

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

.stat { font-size: 2.5rem; line-height: 1; }

p + .stat { margin-top: -1rem; }

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

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

cite:before, .cite-block:before { content: "— "; }

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

.code-block { border: 1px solid #cacaca; background-color: #e6e6e6; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: 200; 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; } }

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

@media screen and (min-width: 90em) { .xxlarge-text-left { text-align: left; }
  .xxlarge-text-right { text-align: right; }
  .xxlarge-text-center { text-align: center; }
  .xxlarge-text-justify { text-align: justify; } }

@media screen and (min-width: 120em) { .xxxlarge-text-left { text-align: left; }
  .xxxlarge-text-right { text-align: right; }
  .xxxlarge-text-center { text-align: center; }
  .xxxlarge-text-justify { text-align: justify; } }

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

@media print { * { background: transparent !important; color: black !important; 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 #8a8a8a; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
  .print-break-inside { page-break-inside: auto; } }

.grid-container { padding-right: 0.46875rem; padding-left: 0.46875rem; max-width: 100%; margin-left: auto; margin-right: auto; }

@media print, screen and (min-width: 40em) { .grid-container { padding-right: 0.78125rem; padding-left: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .grid-container { padding-right: 1.5625rem; padding-left: 1.5625rem; } }

@media screen and (min-width: 120em) { .grid-container { padding-right: 3.125rem; padding-left: 3.125rem; } }

.grid-container.fluid { padding-right: 0.46875rem; padding-left: 0.46875rem; max-width: 100%; margin-left: auto; margin-right: auto; }

@media print, screen and (min-width: 40em) { .grid-container.fluid { padding-right: 0.78125rem; padding-left: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .grid-container.fluid { padding-right: 1.5625rem; padding-left: 1.5625rem; } }

@media screen and (min-width: 120em) { .grid-container.fluid { padding-right: 3.125rem; padding-left: 3.125rem; } }

.grid-container.full { padding-right: 0; padding-left: 0; max-width: 100%; margin-left: auto; margin-right: auto; }

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

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

.cell.auto { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-margin-x { margin-left: -0.46875rem; margin-right: -0.46875rem; }

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

@media print, screen and (min-width: 75em) { .grid-margin-x { margin-left: -1.5625rem; margin-right: -1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-x { margin-left: -3.125rem; margin-right: -3.125rem; } }

.grid-margin-x > .cell { width: calc(100% - 0.9375rem); margin-left: 0.46875rem; margin-right: 0.46875rem; }

@media print, screen and (min-width: 40em) { .grid-margin-x > .cell { width: calc(100% - 1.5625rem); margin-left: 0.78125rem; margin-right: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .grid-margin-x > .cell { width: calc(100% - 3.125rem); margin-left: 1.5625rem; margin-right: 1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-x > .cell { width: calc(100% - 6.25rem); margin-left: 3.125rem; margin-right: 3.125rem; } }

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

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

.grid-margin-x > .small-1 { width: calc(8.33333% - 0.9375rem); }

.grid-margin-x > .small-2 { width: calc(16.66667% - 0.9375rem); }

.grid-margin-x > .small-3 { width: calc(25% - 0.9375rem); }

.grid-margin-x > .small-4 { width: calc(33.33333% - 0.9375rem); }

.grid-margin-x > .small-5 { width: calc(41.66667% - 0.9375rem); }

.grid-margin-x > .small-6 { width: calc(50% - 0.9375rem); }

.grid-margin-x > .small-7 { width: calc(58.33333% - 0.9375rem); }

.grid-margin-x > .small-8 { width: calc(66.66667% - 0.9375rem); }

.grid-margin-x > .small-9 { width: calc(75% - 0.9375rem); }

.grid-margin-x > .small-10 { width: calc(83.33333% - 0.9375rem); }

.grid-margin-x > .small-11 { width: calc(91.66667% - 0.9375rem); }

.grid-margin-x > .small-12 { width: calc(100% - 0.9375rem); }

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

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

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

@media screen and (min-width: 90em) { .grid-margin-x > .xxlarge-auto { width: auto; }
  .grid-margin-x > .xxlarge-shrink { width: auto; }
  .grid-margin-x > .xxlarge-1 { width: calc(8.33333% - 3.125rem); }
  .grid-margin-x > .xxlarge-2 { width: calc(16.66667% - 3.125rem); }
  .grid-margin-x > .xxlarge-3 { width: calc(25% - 3.125rem); }
  .grid-margin-x > .xxlarge-4 { width: calc(33.33333% - 3.125rem); }
  .grid-margin-x > .xxlarge-5 { width: calc(41.66667% - 3.125rem); }
  .grid-margin-x > .xxlarge-6 { width: calc(50% - 3.125rem); }
  .grid-margin-x > .xxlarge-7 { width: calc(58.33333% - 3.125rem); }
  .grid-margin-x > .xxlarge-8 { width: calc(66.66667% - 3.125rem); }
  .grid-margin-x > .xxlarge-9 { width: calc(75% - 3.125rem); }
  .grid-margin-x > .xxlarge-10 { width: calc(83.33333% - 3.125rem); }
  .grid-margin-x > .xxlarge-11 { width: calc(91.66667% - 3.125rem); }
  .grid-margin-x > .xxlarge-12 { width: calc(100% - 3.125rem); } }

@media screen and (min-width: 120em) { .grid-margin-x > .auto { width: auto; }
  .grid-margin-x > .shrink { width: auto; }
  .grid-margin-x > .small-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .small-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .small-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .small-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .small-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .small-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .small-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .small-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .small-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .small-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .small-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .small-12 { width: calc(100% - 6.25rem); }
  .grid-margin-x > .medium-auto { width: auto; }
  .grid-margin-x > .medium-shrink { width: auto; }
  .grid-margin-x > .medium-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .medium-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .medium-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .medium-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .medium-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .medium-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .medium-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .medium-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .medium-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .medium-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .medium-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .medium-12 { width: calc(100% - 6.25rem); }
  .grid-margin-x > .large-auto { width: auto; }
  .grid-margin-x > .large-shrink { width: auto; }
  .grid-margin-x > .large-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .large-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .large-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .large-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .large-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .large-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .large-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .large-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .large-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .large-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .large-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .large-12 { width: calc(100% - 6.25rem); }
  .grid-margin-x > .xlarge-auto { width: auto; }
  .grid-margin-x > .xlarge-shrink { width: auto; }
  .grid-margin-x > .xlarge-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .xlarge-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .xlarge-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .xlarge-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .xlarge-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .xlarge-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .xlarge-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .xlarge-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .xlarge-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .xlarge-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .xlarge-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .xlarge-12 { width: calc(100% - 6.25rem); }
  .grid-margin-x > .xxlarge-auto { width: auto; }
  .grid-margin-x > .xxlarge-shrink { width: auto; }
  .grid-margin-x > .xxlarge-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .xxlarge-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .xxlarge-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .xxlarge-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .xxlarge-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .xxlarge-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .xxlarge-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .xxlarge-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .xxlarge-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .xxlarge-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .xxlarge-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .xxlarge-12 { width: calc(100% - 6.25rem); }
  .grid-margin-x > .xxxlarge-auto { width: auto; }
  .grid-margin-x > .xxxlarge-shrink { width: auto; }
  .grid-margin-x > .xxxlarge-1 { width: calc(8.33333% - 6.25rem); }
  .grid-margin-x > .xxxlarge-2 { width: calc(16.66667% - 6.25rem); }
  .grid-margin-x > .xxxlarge-3 { width: calc(25% - 6.25rem); }
  .grid-margin-x > .xxxlarge-4 { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x > .xxxlarge-5 { width: calc(41.66667% - 6.25rem); }
  .grid-margin-x > .xxxlarge-6 { width: calc(50% - 6.25rem); }
  .grid-margin-x > .xxxlarge-7 { width: calc(58.33333% - 6.25rem); }
  .grid-margin-x > .xxxlarge-8 { width: calc(66.66667% - 6.25rem); }
  .grid-margin-x > .xxxlarge-9 { width: calc(75% - 6.25rem); }
  .grid-margin-x > .xxxlarge-10 { width: calc(83.33333% - 6.25rem); }
  .grid-margin-x > .xxxlarge-11 { width: calc(91.66667% - 6.25rem); }
  .grid-margin-x > .xxxlarge-12 { width: calc(100% - 6.25rem); } }

.grid-padding-x .grid-padding-x { margin-right: -0.46875rem; margin-left: -0.46875rem; }

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

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

@media screen and (min-width: 120em) { .grid-padding-x .grid-padding-x { margin-right: -3.125rem; margin-left: -3.125rem; } }

.grid-container:not(.full) > .grid-padding-x { margin-right: -0.46875rem; margin-left: -0.46875rem; }

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

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

@media screen and (min-width: 120em) { .grid-container:not(.full) > .grid-padding-x { margin-right: -3.125rem; margin-left: -3.125rem; } }

.grid-padding-x > .cell { padding-right: 0.46875rem; padding-left: 0.46875rem; }

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

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

@media screen and (min-width: 120em) { .grid-padding-x > .cell { padding-right: 3.125rem; padding-left: 3.125rem; } }

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

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

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

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

@media print, screen and (min-width: 40em) { .medium-up-1 > .cell { width: 100%; }
  .medium-up-2 > .cell { width: 50%; }
  .medium-up-3 > .cell { width: 33.33333%; }
  .medium-up-4 > .cell { width: 25%; } }

@media print, screen and (min-width: 64em) { .large-up-1 > .cell { width: 100%; }
  .large-up-2 > .cell { width: 50%; }
  .large-up-3 > .cell { width: 33.33333%; }
  .large-up-4 > .cell { width: 25%; } }

@media print, screen and (min-width: 75em) { .xlarge-up-1 > .cell { width: 100%; }
  .xlarge-up-2 > .cell { width: 50%; }
  .xlarge-up-3 > .cell { width: 33.33333%; }
  .xlarge-up-4 > .cell { width: 25%; } }

@media screen and (min-width: 90em) { .xxlarge-up-1 > .cell { width: 100%; }
  .xxlarge-up-2 > .cell { width: 50%; }
  .xxlarge-up-3 > .cell { width: 33.33333%; }
  .xxlarge-up-4 > .cell { width: 25%; } }

@media screen and (min-width: 120em) { .xxxlarge-up-1 > .cell { width: 100%; }
  .xxxlarge-up-2 > .cell { width: 50%; }
  .xxxlarge-up-3 > .cell { width: 33.33333%; }
  .xxxlarge-up-4 > .cell { width: 25%; } }

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

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

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

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

@media print, screen and (min-width: 40em) { .grid-margin-x.small-up-1 > .cell { width: calc(100% - 1.5625rem); }
  .grid-margin-x.small-up-2 > .cell { width: calc(50% - 1.5625rem); }
  .grid-margin-x.small-up-3 > .cell { width: calc(33.33333% - 1.5625rem); }
  .grid-margin-x.small-up-4 > .cell { width: calc(25% - 1.5625rem); }
  .grid-margin-x.medium-up-1 > .cell { width: calc(100% - 1.5625rem); }
  .grid-margin-x.medium-up-2 > .cell { width: calc(50% - 1.5625rem); }
  .grid-margin-x.medium-up-3 > .cell { width: calc(33.33333% - 1.5625rem); }
  .grid-margin-x.medium-up-4 > .cell { width: calc(25% - 1.5625rem); } }

@media print, screen and (min-width: 64em) { .grid-margin-x.large-up-1 > .cell { width: calc(100% - 1.5625rem); }
  .grid-margin-x.large-up-2 > .cell { width: calc(50% - 1.5625rem); }
  .grid-margin-x.large-up-3 > .cell { width: calc(33.33333% - 1.5625rem); }
  .grid-margin-x.large-up-4 > .cell { width: calc(25% - 1.5625rem); } }

@media print, screen and (min-width: 75em) { .grid-margin-x.small-up-1 > .cell { width: calc(100% - 3.125rem); }
  .grid-margin-x.medium-up-1 > .cell { width: calc(100% - 3.125rem); }
  .grid-margin-x.small-up-2 > .cell { width: calc(50% - 3.125rem); }
  .grid-margin-x.medium-up-2 > .cell { width: calc(50% - 3.125rem); }
  .grid-margin-x.small-up-3 > .cell { width: calc(33.33333% - 3.125rem); }
  .grid-margin-x.medium-up-3 > .cell { width: calc(33.33333% - 3.125rem); }
  .grid-margin-x.small-up-4 > .cell { width: calc(25% - 3.125rem); }
  .grid-margin-x.medium-up-4 > .cell { width: calc(25% - 3.125rem); }
  .grid-margin-x.xlarge-up-1 > .cell { width: calc(100% - 3.125rem); }
  .grid-margin-x.xlarge-up-2 > .cell { width: calc(50% - 3.125rem); }
  .grid-margin-x.xlarge-up-3 > .cell { width: calc(33.33333% - 3.125rem); }
  .grid-margin-x.xlarge-up-4 > .cell { width: calc(25% - 3.125rem); } }

@media screen and (min-width: 90em) { .grid-margin-x.xxlarge-up-1 > .cell { width: calc(100% - 3.125rem); }
  .grid-margin-x.xxlarge-up-2 > .cell { width: calc(50% - 3.125rem); }
  .grid-margin-x.xxlarge-up-3 > .cell { width: calc(33.33333% - 3.125rem); }
  .grid-margin-x.xxlarge-up-4 > .cell { width: calc(25% - 3.125rem); } }

@media screen and (min-width: 120em) { .grid-margin-x.small-up-1 > .cell { width: calc(100% - 6.25rem); }
  .grid-margin-x.medium-up-1 > .cell { width: calc(100% - 6.25rem); }
  .grid-margin-x.xlarge-up-1 > .cell { width: calc(100% - 6.25rem); }
  .grid-margin-x.small-up-2 > .cell { width: calc(50% - 6.25rem); }
  .grid-margin-x.medium-up-2 > .cell { width: calc(50% - 6.25rem); }
  .grid-margin-x.xlarge-up-2 > .cell { width: calc(50% - 6.25rem); }
  .grid-margin-x.small-up-3 > .cell { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x.medium-up-3 > .cell { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x.xlarge-up-3 > .cell { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x.small-up-4 > .cell { width: calc(25% - 6.25rem); }
  .grid-margin-x.medium-up-4 > .cell { width: calc(25% - 6.25rem); }
  .grid-margin-x.xlarge-up-4 > .cell { width: calc(25% - 6.25rem); }
  .grid-margin-x.xxxlarge-up-1 > .cell { width: calc(100% - 6.25rem); }
  .grid-margin-x.xxxlarge-up-2 > .cell { width: calc(50% - 6.25rem); }
  .grid-margin-x.xxxlarge-up-3 > .cell { width: calc(33.33333% - 6.25rem); }
  .grid-margin-x.xxxlarge-up-4 > .cell { width: calc(25% - 6.25rem); } }

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

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

.small-margin-collapse > .small-1 { width: 8.33333%; }

.small-margin-collapse > .small-2 { width: 16.66667%; }

.small-margin-collapse > .small-3 { width: 25%; }

.small-margin-collapse > .small-4 { width: 33.33333%; }

.small-margin-collapse > .small-5 { width: 41.66667%; }

.small-margin-collapse > .small-6 { width: 50%; }

.small-margin-collapse > .small-7 { width: 58.33333%; }

.small-margin-collapse > .small-8 { width: 66.66667%; }

.small-margin-collapse > .small-9 { width: 75%; }

.small-margin-collapse > .small-10 { width: 83.33333%; }

.small-margin-collapse > .small-11 { width: 91.66667%; }

.small-margin-collapse > .small-12 { width: 100%; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column nowrap; flex-flow: column nowrap; }

.grid-y > .cell { height: auto; max-height: none; }

.grid-y > .auto { height: auto; }

.grid-y > .shrink { height: auto; }

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

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

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

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

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

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

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

.grid-y > .small-1 { height: 8.33333%; }

.grid-y > .small-2 { height: 16.66667%; }

.grid-y > .small-3 { height: 25%; }

.grid-y > .small-4 { height: 33.33333%; }

.grid-y > .small-5 { height: 41.66667%; }

.grid-y > .small-6 { height: 50%; }

.grid-y > .small-7 { height: 58.33333%; }

.grid-y > .small-8 { height: 66.66667%; }

.grid-y > .small-9 { height: 75%; }

.grid-y > .small-10 { height: 83.33333%; }

.grid-y > .small-11 { height: 91.66667%; }

.grid-y > .small-12 { height: 100%; }

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

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

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

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

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

.grid-padding-y .grid-padding-y { margin-top: -0.46875rem; margin-bottom: -0.46875rem; }

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

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

@media screen and (min-width: 120em) { .grid-padding-y .grid-padding-y { margin-top: -3.125rem; margin-bottom: -3.125rem; } }

.grid-padding-y > .cell { padding-top: 0.46875rem; padding-bottom: 0.46875rem; }

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

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

@media screen and (min-width: 120em) { .grid-padding-y > .cell { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

.grid-margin-y { margin-top: -0.46875rem; margin-bottom: -0.46875rem; }

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

@media print, screen and (min-width: 75em) { .grid-margin-y { margin-top: -1.5625rem; margin-bottom: -1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-y { margin-top: -3.125rem; margin-bottom: -3.125rem; } }

.grid-margin-y > .cell { height: calc(100% - 0.9375rem); margin-top: 0.46875rem; margin-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { .grid-margin-y > .cell { height: calc(100% - 1.5625rem); margin-top: 0.78125rem; margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .grid-margin-y > .cell { height: calc(100% - 3.125rem); margin-top: 1.5625rem; margin-bottom: 1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-y > .cell { height: calc(100% - 6.25rem); margin-top: 3.125rem; margin-bottom: 3.125rem; } }

.grid-margin-y > .auto { height: auto; }

.grid-margin-y > .shrink { height: auto; }

.grid-margin-y > .small-1 { height: calc(8.33333% - 0.9375rem); }

.grid-margin-y > .small-2 { height: calc(16.66667% - 0.9375rem); }

.grid-margin-y > .small-3 { height: calc(25% - 0.9375rem); }

.grid-margin-y > .small-4 { height: calc(33.33333% - 0.9375rem); }

.grid-margin-y > .small-5 { height: calc(41.66667% - 0.9375rem); }

.grid-margin-y > .small-6 { height: calc(50% - 0.9375rem); }

.grid-margin-y > .small-7 { height: calc(58.33333% - 0.9375rem); }

.grid-margin-y > .small-8 { height: calc(66.66667% - 0.9375rem); }

.grid-margin-y > .small-9 { height: calc(75% - 0.9375rem); }

.grid-margin-y > .small-10 { height: calc(83.33333% - 0.9375rem); }

.grid-margin-y > .small-11 { height: calc(91.66667% - 0.9375rem); }

.grid-margin-y > .small-12 { height: calc(100% - 0.9375rem); }

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

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

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

@media screen and (min-width: 90em) { .grid-margin-y > .xxlarge-auto { height: auto; }
  .grid-margin-y > .xxlarge-shrink { height: auto; }
  .grid-margin-y > .xxlarge-1 { height: calc(8.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-2 { height: calc(16.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-3 { height: calc(25% - 3.125rem); }
  .grid-margin-y > .xxlarge-4 { height: calc(33.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-5 { height: calc(41.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-6 { height: calc(50% - 3.125rem); }
  .grid-margin-y > .xxlarge-7 { height: calc(58.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-8 { height: calc(66.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-9 { height: calc(75% - 3.125rem); }
  .grid-margin-y > .xxlarge-10 { height: calc(83.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-11 { height: calc(91.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-12 { height: calc(100% - 3.125rem); } }

@media screen and (min-width: 120em) { .grid-margin-y > .auto { height: auto; }
  .grid-margin-y > .shrink { height: auto; }
  .grid-margin-y > .small-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .small-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .small-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .small-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .small-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .small-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .small-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .small-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .small-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .small-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .small-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .small-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .medium-auto { height: auto; }
  .grid-margin-y > .medium-shrink { height: auto; }
  .grid-margin-y > .medium-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .medium-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .medium-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .medium-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .medium-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .medium-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .medium-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .medium-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .medium-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .medium-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .medium-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .medium-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .large-auto { height: auto; }
  .grid-margin-y > .large-shrink { height: auto; }
  .grid-margin-y > .large-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .large-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .large-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .large-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .large-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .large-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .large-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .large-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .large-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .large-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .large-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .large-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xlarge-auto { height: auto; }
  .grid-margin-y > .xlarge-shrink { height: auto; }
  .grid-margin-y > .xlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xxlarge-auto { height: auto; }
  .grid-margin-y > .xxlarge-shrink { height: auto; }
  .grid-margin-y > .xxlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xxlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xxlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xxlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xxxlarge-auto { height: auto; }
  .grid-margin-y > .xxxlarge-shrink { height: auto; }
  .grid-margin-y > .xxxlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xxxlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xxxlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xxxlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-12 { height: calc(100% - 6.25rem); } }

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

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

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

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

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

.cell-block-container > .grid-x { max-height: 100%; -ms-flex-wrap: nowrap; flex-wrap: nowrap; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (min-width: 90em) { .cell .grid-y.xxlarge-grid-frame { height: 100%; } }

@media screen and (min-width: 120em) { .cell .grid-y.xxxlarge-grid-frame { height: 100%; } }

.grid-margin-y { margin-top: -0.46875rem; margin-bottom: -0.46875rem; }

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

@media print, screen and (min-width: 75em) { .grid-margin-y { margin-top: -1.5625rem; margin-bottom: -1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-y { margin-top: -3.125rem; margin-bottom: -3.125rem; } }

.grid-margin-y > .cell { height: calc(100% - 0.9375rem); margin-top: 0.46875rem; margin-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { .grid-margin-y > .cell { height: calc(100% - 1.5625rem); margin-top: 0.78125rem; margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .grid-margin-y > .cell { height: calc(100% - 3.125rem); margin-top: 1.5625rem; margin-bottom: 1.5625rem; } }

@media screen and (min-width: 120em) { .grid-margin-y > .cell { height: calc(100% - 6.25rem); margin-top: 3.125rem; margin-bottom: 3.125rem; } }

.grid-margin-y > .auto { height: auto; }

.grid-margin-y > .shrink { height: auto; }

.grid-margin-y > .small-1 { height: calc(8.33333% - 0.9375rem); }

.grid-margin-y > .small-2 { height: calc(16.66667% - 0.9375rem); }

.grid-margin-y > .small-3 { height: calc(25% - 0.9375rem); }

.grid-margin-y > .small-4 { height: calc(33.33333% - 0.9375rem); }

.grid-margin-y > .small-5 { height: calc(41.66667% - 0.9375rem); }

.grid-margin-y > .small-6 { height: calc(50% - 0.9375rem); }

.grid-margin-y > .small-7 { height: calc(58.33333% - 0.9375rem); }

.grid-margin-y > .small-8 { height: calc(66.66667% - 0.9375rem); }

.grid-margin-y > .small-9 { height: calc(75% - 0.9375rem); }

.grid-margin-y > .small-10 { height: calc(83.33333% - 0.9375rem); }

.grid-margin-y > .small-11 { height: calc(91.66667% - 0.9375rem); }

.grid-margin-y > .small-12 { height: calc(100% - 0.9375rem); }

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

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

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

@media screen and (min-width: 90em) { .grid-margin-y > .xxlarge-auto { height: auto; }
  .grid-margin-y > .xxlarge-shrink { height: auto; }
  .grid-margin-y > .xxlarge-1 { height: calc(8.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-2 { height: calc(16.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-3 { height: calc(25% - 3.125rem); }
  .grid-margin-y > .xxlarge-4 { height: calc(33.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-5 { height: calc(41.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-6 { height: calc(50% - 3.125rem); }
  .grid-margin-y > .xxlarge-7 { height: calc(58.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-8 { height: calc(66.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-9 { height: calc(75% - 3.125rem); }
  .grid-margin-y > .xxlarge-10 { height: calc(83.33333% - 3.125rem); }
  .grid-margin-y > .xxlarge-11 { height: calc(91.66667% - 3.125rem); }
  .grid-margin-y > .xxlarge-12 { height: calc(100% - 3.125rem); } }

@media screen and (min-width: 120em) { .grid-margin-y > .auto { height: auto; }
  .grid-margin-y > .shrink { height: auto; }
  .grid-margin-y > .small-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .small-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .small-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .small-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .small-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .small-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .small-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .small-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .small-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .small-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .small-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .small-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .medium-auto { height: auto; }
  .grid-margin-y > .medium-shrink { height: auto; }
  .grid-margin-y > .medium-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .medium-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .medium-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .medium-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .medium-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .medium-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .medium-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .medium-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .medium-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .medium-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .medium-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .medium-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .large-auto { height: auto; }
  .grid-margin-y > .large-shrink { height: auto; }
  .grid-margin-y > .large-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .large-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .large-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .large-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .large-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .large-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .large-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .large-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .large-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .large-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .large-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .large-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xlarge-auto { height: auto; }
  .grid-margin-y > .xlarge-shrink { height: auto; }
  .grid-margin-y > .xlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xlarge-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xxlarge-auto { height: auto; }
  .grid-margin-y > .xxlarge-shrink { height: auto; }
  .grid-margin-y > .xxlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xxlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xxlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xxlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xxlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xxlarge-12 { height: calc(100% - 6.25rem); }
  .grid-margin-y > .xxxlarge-auto { height: auto; }
  .grid-margin-y > .xxxlarge-shrink { height: auto; }
  .grid-margin-y > .xxxlarge-1 { height: calc(8.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-2 { height: calc(16.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-3 { height: calc(25% - 6.25rem); }
  .grid-margin-y > .xxxlarge-4 { height: calc(33.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-5 { height: calc(41.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-6 { height: calc(50% - 6.25rem); }
  .grid-margin-y > .xxxlarge-7 { height: calc(58.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-8 { height: calc(66.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-9 { height: calc(75% - 6.25rem); }
  .grid-margin-y > .xxxlarge-10 { height: calc(83.33333% - 6.25rem); }
  .grid-margin-y > .xxxlarge-11 { height: calc(91.66667% - 6.25rem); }
  .grid-margin-y > .xxxlarge-12 { height: calc(100% - 6.25rem); } }

.grid-frame.grid-margin-y { height: calc(100vh + 0.9375rem); }

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

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

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

@media screen and (min-width: 90em) { .grid-frame.grid-margin-y { height: calc(100vh + 3.125rem); } }

@media screen and (min-width: 120em) { .grid-frame.grid-margin-y { height: calc(100vh + 6.25rem); } }

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

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

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

@media screen and (min-width: 90em) { .grid-margin-y.xxlarge-grid-frame { height: calc(100vh + 3.125rem); } }

@media screen and (min-width: 120em) { .grid-margin-y.xxxlarge-grid-frame { height: calc(100vh + 6.25rem); } }

.button { display: inline-block; vertical-align: middle; margin: 0 0; padding: 0.85em 1em; border: 0; 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: 1.625rem; -webkit-appearance: none; line-height: 1; text-align: center; cursor: pointer; }

[data-whatinput='mouse'] .button { outline: 0; }

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

.button.little { font-size: 1.375rem; }

.button.small { font-size: 1.5rem; }

.button.large { font-size: 1.875rem; }

.button.xlarge { font-size: 2rem; }

.button.expanded { display: block; width: 100%; margin-right: 0; margin-left: 0; }

.button.solid, .button.solid.disabled, .button.solid[disabled], .button.solid.disabled:hover, .button.solid[disabled]:hover, .button.solid.disabled:focus, .button.solid[disabled]:focus { background-color: #2a77eb; color: #2a77eb; }

.button.solid:hover, .button.solid:focus { background-color: #1462d7; color: #2a77eb; }

.button.solid.primary, .button.solid.primary.disabled, .button.solid.primary[disabled], .button.solid.primary.disabled:hover, .button.solid.primary[disabled]:hover, .button.solid.primary.disabled:focus, .button.solid.primary[disabled]:focus { background-color: #2a77eb; color: #ffffff; }

.button.solid.primary:hover, .button.solid.primary:focus { background-color: #135ccb; color: #ffffff; }

.button.solid.secondary, .button.solid.secondary.disabled, .button.solid.secondary[disabled], .button.solid.secondary.disabled:hover, .button.solid.secondary[disabled]:hover, .button.solid.secondary.disabled:focus, .button.solid.secondary[disabled]:focus { background-color: #767676; color: #ffffff; }

.button.solid.secondary:hover, .button.solid.secondary:focus { background-color: #5e5e5e; color: #ffffff; }

.button.solid.success, .button.solid.success.disabled, .button.solid.success[disabled], .button.solid.success.disabled:hover, .button.solid.success[disabled]:hover, .button.solid.success.disabled:focus, .button.solid.success[disabled]:focus { background-color: #3adb76; color: #2a77eb; }

.button.solid.success:hover, .button.solid.success:focus { background-color: #22bb5b; color: #2a77eb; }

.button.solid.warning, .button.solid.warning.disabled, .button.solid.warning[disabled], .button.solid.warning.disabled:hover, .button.solid.warning[disabled]:hover, .button.solid.warning.disabled:focus, .button.solid.warning[disabled]:focus { background-color: #ffae00; color: #2a77eb; }

.button.solid.warning:hover, .button.solid.warning:focus { background-color: #cc8b00; color: #2a77eb; }

.button.solid.alert, .button.solid.alert.disabled, .button.solid.alert[disabled], .button.solid.alert.disabled:hover, .button.solid.alert[disabled]:hover, .button.solid.alert.disabled:focus, .button.solid.alert[disabled]:focus { background-color: #cc4b37; color: #ffffff; }

.button.solid.alert:hover, .button.solid.alert:focus { background-color: #a53b2a; color: #ffffff; }

.button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus { background-color: transparent; }

.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus { border: 0px solid #2a77eb; color: #2a77eb; }

.button.hollow:hover, .button.hollow:focus { border-color: #2a77eb; color: #2a77eb; }

.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: 0px solid #2a77eb; color: #2a77eb; }

.button.hollow.primary:hover, .button.hollow.primary:focus { border-color: #2a77eb; color: #2a77eb; }

.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: 0px solid #767676; color: #767676; }

.button.hollow.secondary:hover, .button.hollow.secondary:focus { border-color: #767676; color: #767676; }

.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: 0px solid #3adb76; color: #3adb76; }

.button.hollow.success:hover, .button.hollow.success:focus { border-color: #3adb76; color: #3adb76; }

.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: 0px solid #ffae00; color: #ffae00; }

.button.hollow.warning:hover, .button.hollow.warning:focus { border-color: #ffae00; color: #ffae00; }

.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: 0px solid #cc4b37; color: #cc4b37; }

.button.hollow.alert:hover, .button.hollow.alert:focus { border-color: #cc4b37; color: #cc4b37; }

.button, .button:hover, .button:focus, .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus { border-color: transparent; background-color: transparent; }

.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus { color: #2a77eb; }

.button:hover, .button:focus { color: #2a77eb; }

.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus { color: #2a77eb; }

.button.primary:hover, .button.primary:focus { color: #2a77eb; }

.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus { color: #767676; }

.button.secondary:hover, .button.secondary:focus { color: #767676; }

.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus { color: #3adb76; }

.button.success:hover, .button.success:focus { color: #3adb76; }

.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus { color: #ffae00; }

.button.warning:hover, .button.warning:focus { color: #ffae00; }

.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus { color: #cc4b37; }

.button.alert:hover, .button.alert:focus { color: #cc4b37; }

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

.button.dropdown::after { display: block; width: 0; height: 0; border-style: solid; border-width: 0.4em; content: ''; border-bottom-width: 0; border-color: #ffffff transparent transparent; position: relative; top: 0.4em; display: inline-block; float: right; margin-left: 1em; }

.button.dropdown.hollow::after, .button.dropdown.clear::after { border-top-color: #2a77eb; }

.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after { border-top-color: #2a77eb; }

.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after { border-top-color: #767676; }

.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after { border-top-color: #3adb76; }

.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after { border-top-color: #ffae00; }

.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after { border-top-color: #cc4b37; }

.button.arrow-only::after { top: -0.1em; float: none; margin-left: 0; }

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

.close-button { position: absolute; z-index: 10; color: #8a8a8a; cursor: pointer; }

[data-whatinput='mouse'] .close-button { outline: 0; }

.close-button:hover, .close-button:focus { color: #0a0a0a; }

.close-button.small { right: 0.66rem; top: 0.33em; font-size: 1.5em; line-height: 1; }

.close-button, .close-button.medium { right: 1rem; top: 0.5rem; font-size: 2em; line-height: 1; }

.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: #2a77eb; color: #ffffff; }

.label.primary { background: #2a77eb; color: #0a0a0a; }

.label.secondary { background: #767676; color: #ffffff; }

.label.success { background: #3adb76; color: #0a0a0a; }

.label.warning { background: #ffae00; color: #0a0a0a; }

.label.alert { background: #cc4b37; color: #ffffff; }

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

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

.switch-paddle { position: relative; display: block; width: 4rem; height: 2rem; border-radius: 0; background: #cacaca; -webkit-transition: all 0.25s ease-out; transition: all 0.25s ease-out; font-weight: inherit; color: inherit; cursor: pointer; }

input + .switch-paddle { margin: 0; }

.switch-paddle::after { position: absolute; top: 0.15rem; left: 0.15rem; display: block; width: 1.7rem; height: 1.7rem; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); border-radius: 0; background: #ffffff; -webkit-transition: all 0.25s ease-out; transition: all 0.25s ease-out; content: ''; }

input:checked ~ .switch-paddle { background: #2a77eb; }

input:checked ~ .switch-paddle::after { left: 2.15rem; }

input:disabled ~ .switch-paddle { cursor: not-allowed; opacity: 0.5; }

[data-whatinput='mouse'] input:focus ~ .switch-paddle { outline: 0; }

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

.switch-active { left: 8%; display: none; }

input:checked + label > .switch-active { display: block; }

.switch-inactive { right: 15%; }

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

.switch.tiny { height: 1.5rem; }

.switch.tiny .switch-paddle { width: 3rem; height: 1.5rem; font-size: 0.625rem; }

.switch.tiny .switch-paddle::after { top: 0.15rem; left: 0.15rem; width: 1.2rem; height: 1.2rem; }

.switch.tiny input:checked ~ .switch-paddle::after { left: 1.65rem; }

.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.15rem; left: 0.15rem; width: 1.45rem; height: 1.45rem; }

.switch.small input:checked ~ .switch-paddle::after { left: 1.9rem; }

.switch.large { height: 2.5rem; }

.switch.large .switch-paddle { width: 5rem; height: 2.5rem; font-size: 1rem; }

.switch.large .switch-paddle::after { top: 0.15rem; left: 0.15rem; width: 2.2rem; height: 2.2rem; }

.switch.large input:checked ~ .switch-paddle::after { left: 2.65rem; }

table { border-collapse: collapse; width: 100%; margin-bottom: 1rem; border-radius: 0; }

thead, tbody, tfoot { border: 1px solid #f2f2f2; background-color: #ffffff; }

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

thead { background: #f9f9f9; color: #001943; }

tfoot { background: #f2f2f2; color: #001943; }

thead tr, tfoot tr { background: transparent; }

thead th, thead td, tfoot th, tfoot td { padding: 0.5rem 0.625rem 0.625rem; font-weight: 450; text-align: left; }

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

tbody tr:nth-child(even) { border-bottom: 0; background-color: #f2f2f2; }

table.unstriped tbody { background-color: #ffffff; }

table.unstriped tbody tr { border-bottom: 1px solid #f2f2f2; background-color: #ffffff; }

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

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

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

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

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

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

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

.dropdown-pane { position: absolute; z-index: 10; display: none; width: 300px; padding: 1rem; visibility: hidden; border: 1px solid #cacaca; border-radius: 0; background-color: #ffffff; font-size: 1rem; }

.dropdown-pane.is-opening { display: block; }

.dropdown-pane.is-open { display: block; visibility: visible; }

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

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

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

.has-tip { position: relative; display: inline-block; border-bottom: none; font-weight: 450; cursor: pointer; }

.tooltip { position: absolute; top: calc(100% + 0.6495rem); z-index: 1200; max-width: 20vw; padding: 5px; border-radius: 0; background-color: #01112a; font-size: 80%; color: #ffffff; }

.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 #01112a; 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: #01112a 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 #01112a; 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 #01112a 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: transparent; list-style-type: none; }

.accordion[disabled] .accordion-title { cursor: not-allowed; }

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

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

.accordion-title { position: relative; display: block; padding: 0 0; border: none; border-bottom: 0; font-size: 2.25rem; line-height: 1; color: #001943; }

:last-child:not(.is-active) > .accordion-title { border-bottom: none; border-radius: 0 0 0 0; }

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

.accordion-content { display: none; padding: 0 0; border: none; border-bottom: 0; background-color: transparent; color: #001943; }

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

.tabs { margin: 0; border: 1px solid #e6e6e6; background: #ffffff; list-style-type: none; }

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

.tabs::after { clear: both; }

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

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

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

.tabs.primary { background: #2a77eb; }

.tabs.primary > li > a { color: #0a0a0a; }

.tabs.primary > li > a:hover, .tabs.primary > li > a:focus { background: #1d6fea; }

.tabs-title { float: left; }

.tabs-title > a { display: block; padding: 1.25rem 1.5rem; font-size: 0.75rem; line-height: 1; color: #2a77eb; }

[data-whatinput='mouse'] .tabs-title > a { outline: 0; }

.tabs-title > a:hover { background: #ffffff; color: #1463da; }

.tabs-title > a:focus, .tabs-title > a[aria-selected='true'] { background: #e6e6e6; color: #2a77eb; }

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

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

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

.tabs-panel.is-active { display: block; }

.menu { padding: 0; margin: 0; list-style: none; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

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

.menu a, .menu .button { line-height: 1; text-decoration: none; display: block; padding: 10px 0; }

.menu input, .menu select, .menu a, .menu button { margin-bottom: 0; }

.menu input { display: inline-block; }

.menu, .menu.horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }

.menu.vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

.menu.vertical.icon-top li a img, .menu.vertical.icon-top li a i, .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img, .menu.vertical.icon-bottom li a i, .menu.vertical.icon-bottom li a svg { text-align: left; }

.menu.expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }

.menu.expanded.icon-top li a img, .menu.expanded.icon-top li a i, .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img, .menu.expanded.icon-bottom li a i, .menu.expanded.icon-bottom li a svg { text-align: left; }

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

.menu.simple li + li { margin-left: 1rem; }

.menu.simple a { padding: 0; }

@media print, screen and (min-width: 40em) { .menu.medium-horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu.medium-vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .menu.medium-expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }
  .menu.medium-simple li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media print, screen and (min-width: 64em) { .menu.large-horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu.large-vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .menu.large-expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }
  .menu.large-simple li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media print, screen and (min-width: 75em) { .menu.xlarge-horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu.xlarge-vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .menu.xlarge-expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }
  .menu.xlarge-simple li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media screen and (min-width: 90em) { .menu.xxlarge-horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu.xxlarge-vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .menu.xxlarge-expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }
  .menu.xxlarge-simple li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

@media screen and (min-width: 120em) { .menu.xxxlarge-horizontal { -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; }
  .menu.xxxlarge-vertical { -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .menu.xxxlarge-expanded li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; }
  .menu.xxxlarge-simple li { -webkit-box-flex: 1; -ms-flex: 1 1 0px; flex: 1 1 0px; } }

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

.menu.icons a { display: -webkit-box; display: -ms-flexbox; display: flex; }

.menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a { display: -webkit-box; display: -ms-flexbox; display: flex; }

.menu.icon-left li a, .menu.nested.icon-left li a { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; }

.menu.icon-left li a img, .menu.icon-left li a i, .menu.icon-left li a svg, .menu.nested.icon-left li a img, .menu.nested.icon-left li a i, .menu.nested.icon-left li a svg { margin-right: 0.25rem; }

.menu.icon-right li a, .menu.nested.icon-right li a { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; }

.menu.icon-right li a img, .menu.icon-right li a i, .menu.icon-right li a svg, .menu.nested.icon-right li a img, .menu.nested.icon-right li a i, .menu.nested.icon-right li a svg { margin-left: 0.25rem; }

.menu.icon-top li a, .menu.nested.icon-top li a { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column nowrap; flex-flow: column nowrap; }

.menu.icon-top li a img, .menu.icon-top li a i, .menu.icon-top li a svg, .menu.nested.icon-top li a img, .menu.nested.icon-top li a i, .menu.nested.icon-top li a svg { -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0.25rem; text-align: center; }

.menu.icon-bottom li a, .menu.nested.icon-bottom li a { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column nowrap; flex-flow: column nowrap; }

.menu.icon-bottom li a img, .menu.icon-bottom li a i, .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img, .menu.nested.icon-bottom li a i, .menu.nested.icon-bottom li a svg { -ms-flex-item-align: stretch; align-self: stretch; margin-bottom: 0.25rem; text-align: center; }

.menu .is-active > a { background: #2a77eb; color: #0a0a0a; }

.menu .active > a { background: #2a77eb; color: #0a0a0a; }

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

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

.menu.align-right li .submenu li { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

.menu.align-right.vertical li { display: block; text-align: right; }

.menu.align-right.vertical li .submenu li { text-align: right; }

.menu.align-right.icon-top li a img, .menu.align-right.icon-top li a i, .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img, .menu.align-right.icon-bottom li a i, .menu.align-right.icon-bottom li a svg { text-align: right; }

.menu.align-right .nested { margin-right: 0; margin-left: 0; }

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

.menu.align-center li .submenu li { -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

.menu .menu-text { padding: 10px 0; font-weight: bold; line-height: 1; color: inherit; }

.menu-centered > .menu { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

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

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

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

.menu-icon { position: relative; display: inline-block; vertical-align: middle; width: 20px; height: 16px; cursor: pointer; }

.menu-icon::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 2px; background: #ffffff; -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff; box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff; content: ''; }

.menu-icon:hover::after { background: #cacaca; -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.menu-icon.dark { position: relative; display: inline-block; vertical-align: middle; width: 20px; height: 16px; cursor: pointer; }

.menu-icon.dark::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 2px; background: #0a0a0a; -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; content: ''; }

.menu-icon.dark:hover::after { background: #8a8a8a; -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

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

.accordion-menu a { padding: 0; }

.accordion-menu .is-accordion-submenu a { padding: 0; }

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

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

.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: #2a77eb 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-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 0s none, visibility 0s none; transition: opacity 0s none, visibility 0s none; background: transparent; opacity: 0; visibility: hidden; overflow: hidden; }

.js-off-canvas-overlay.is-visible { opacity: 1; visibility: visible; }

.js-off-canvas-overlay.is-closable { cursor: pointer; }

.js-off-canvas-overlay.is-overlay-absolute { position: absolute; }

.js-off-canvas-overlay.is-overlay-fixed { position: fixed; }

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

.off-canvas { position: fixed; z-index: 12; -webkit-transition: -webkit-transform 0s none; transition: -webkit-transform 0s none; transition: transform 0s none; transition: transform 0s none, -webkit-transform 0s none; -webkit-backface-visibility: hidden; backface-visibility: hidden; background: #001943; }

[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: none; box-shadow: none; }

.off-canvas.is-open { -webkit-transform: translate(0, 0); transform: translate(0, 0); }

.off-canvas-absolute { position: absolute; z-index: 12; -webkit-transition: -webkit-transform 0s none; transition: -webkit-transform 0s none; transition: transform 0s none; transition: transform 0s none, -webkit-transform 0s none; -webkit-backface-visibility: hidden; backface-visibility: hidden; background: #001943; }

[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: none; box-shadow: none; }

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

.off-canvas-content .off-canvas.position-left { -webkit-transform: translateX(-100%); transform: translateX(-100%); }

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

.position-left.is-transition-push { -webkit-box-shadow: inset 0 0 0 0 transparent; box-shadow: inset 0 0 0 0 transparent; }

.position-right { top: 0; right: 0; height: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; width: 100%; -webkit-transform: translateX(100%); transform: translateX(100%); }

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

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

.position-right.is-transition-push { -webkit-box-shadow: inset 0 0 0 0 transparent; box-shadow: inset 0 0 0 0 transparent; }

.position-top { top: 0; left: 0; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; height: 100%; -webkit-transform: translateY(-100%); transform: translateY(-100%); }

.off-canvas-content .off-canvas.position-top { -webkit-transform: translateY(-100%); transform: translateY(-100%); }

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

.position-top.is-transition-push { -webkit-box-shadow: inset 0 0 0 0 transparent; box-shadow: inset 0 0 0 0 transparent; }

.position-bottom { bottom: 0; left: 0; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; height: 100%; -webkit-transform: translateY(100%); transform: translateY(100%); }

.off-canvas-content .off-canvas.position-bottom { -webkit-transform: translateY(100%); transform: translateY(100%); }

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

.position-bottom.is-transition-push { -webkit-box-shadow: inset 0 0 0 0 transparent; box-shadow: inset 0 0 0 0 transparent; }

.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 0s none; transition: -webkit-transform 0s none; transition: transform 0s none; transition: transform 0s none, -webkit-transform 0s none; }

.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: 100%; }
  .position-left.reveal-for-medium ~ .off-canvas-content { margin-left: 100%; }
  .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: 100%; }
  .position-right.reveal-for-medium ~ .off-canvas-content { margin-right: 100%; }
  .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: 100%; }
  .position-top.reveal-for-medium ~ .off-canvas-content { margin-top: 100%; }
  .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: 100%; }
  .position-bottom.reveal-for-medium ~ .off-canvas-content { margin-bottom: 100%; } }

@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: 100%; }
  .position-left.reveal-for-large ~ .off-canvas-content { margin-left: 100%; }
  .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: 100%; }
  .position-right.reveal-for-large ~ .off-canvas-content { margin-right: 100%; }
  .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: 100%; }
  .position-top.reveal-for-large ~ .off-canvas-content { margin-top: 100%; }
  .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: 100%; }
  .position-bottom.reveal-for-large ~ .off-canvas-content { margin-bottom: 100%; } }

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

@media screen and (min-width: 90em) { .position-left.reveal-for-xxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-left.reveal-for-xxlarge .close-button { display: none; }
  .off-canvas-content .position-left.reveal-for-xxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-left { margin-left: 100%; }
  .position-left.reveal-for-xxlarge ~ .off-canvas-content { margin-left: 100%; }
  .position-right.reveal-for-xxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-right.reveal-for-xxlarge .close-button { display: none; }
  .off-canvas-content .position-right.reveal-for-xxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-right { margin-right: 100%; }
  .position-right.reveal-for-xxlarge ~ .off-canvas-content { margin-right: 100%; }
  .position-top.reveal-for-xxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-top.reveal-for-xxlarge .close-button { display: none; }
  .off-canvas-content .position-top.reveal-for-xxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-top { margin-top: 100%; }
  .position-top.reveal-for-xxlarge ~ .off-canvas-content { margin-top: 100%; }
  .position-bottom.reveal-for-xxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-bottom.reveal-for-xxlarge .close-button { display: none; }
  .off-canvas-content .position-bottom.reveal-for-xxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-bottom { margin-bottom: 100%; }
  .position-bottom.reveal-for-xxlarge ~ .off-canvas-content { margin-bottom: 100%; } }

@media screen and (min-width: 120em) { .position-left.reveal-for-xxxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-left.reveal-for-xxxlarge .close-button { display: none; }
  .off-canvas-content .position-left.reveal-for-xxxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-left { margin-left: 100%; }
  .position-left.reveal-for-xxxlarge ~ .off-canvas-content { margin-left: 100%; }
  .position-right.reveal-for-xxxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-right.reveal-for-xxxlarge .close-button { display: none; }
  .off-canvas-content .position-right.reveal-for-xxxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-right { margin-right: 100%; }
  .position-right.reveal-for-xxxlarge ~ .off-canvas-content { margin-right: 100%; }
  .position-top.reveal-for-xxxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-top.reveal-for-xxxlarge .close-button { display: none; }
  .off-canvas-content .position-top.reveal-for-xxxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-top { margin-top: 100%; }
  .position-top.reveal-for-xxxlarge ~ .off-canvas-content { margin-top: 100%; }
  .position-bottom.reveal-for-xxxlarge { -webkit-transform: none; transform: none; z-index: 12; -webkit-transition: none; transition: none; visibility: visible; }
  .position-bottom.reveal-for-xxxlarge .close-button { display: none; }
  .off-canvas-content .position-bottom.reveal-for-xxxlarge { -webkit-transform: none; transform: none; }
  .off-canvas-content.has-reveal-bottom { margin-bottom: 100%; }
  .position-bottom.reveal-for-xxxlarge ~ .off-canvas-content { margin-bottom: 100%; } }

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

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

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

@media screen and (min-width: 120em) { .off-canvas.in-canvas-for-xxxlarge { visibility: visible; height: auto; position: static; background: none; width: auto; overflow: visible; -webkit-transition: none; transition: none; }
  .off-canvas.in-canvas-for-xxxlarge.position-left, .off-canvas.in-canvas-for-xxxlarge.position-right, .off-canvas.in-canvas-for-xxxlarge.position-top, .off-canvas.in-canvas-for-xxxlarge.position-bottom { -webkit-box-shadow: none; box-shadow: none; -webkit-transform: none; transform: none; }
  .off-canvas.in-canvas-for-xxxlarge .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 { z-index: 1006; -webkit-backface-visibility: hidden; backface-visibility: hidden; display: none; padding: 1rem; border: 1px solid #cacaca; border-radius: 0; background-color: #ffffff; position: relative; top: 100px; margin-right: auto; margin-left: auto; overflow-y: auto; -webkit-overflow-scrolling: touch; }

[data-whatinput='mouse'] .reveal { outline: 0; }

@media print, screen and (min-width: 40em) { .reveal { min-height: 0; } }

.reveal .column { min-width: 0; }

.reveal > :last-child { margin-bottom: 0; }

@media print, screen and (min-width: 40em) { .reveal { width: 600px; max-width: 100%; } }

.reveal.collapse { padding: 0; }

@media print, screen and (min-width: 40em) { .reveal.tiny { width: 30%; max-width: 100%; } }

@media print, screen and (min-width: 40em) { .reveal.small { width: 50%; max-width: 100%; } }

@media print, screen and (min-width: 40em) { .reveal.large { width: 90%; max-width: 100%; } }

.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; background: transparent; color: #ffffff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.title-bar .menu-icon { margin-left: 0.25rem; margin-right: 0.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.hide { display: none !important; }

.invisible { visibility: hidden; }

.visible { visibility: visible; }

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

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

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

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

@media print, screen and (min-width: 40em) and (max-width: 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; } }

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

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

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

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

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

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

@media screen and (min-width: 90em) and (max-width: 119.99875em) { .hide-for-xxlarge-only { display: none !important; } }

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

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

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

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

@media screen and (max-width: 119.99875em) { .show-for-xxxlarge-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; }

.text-white { color: #ffffff; }

.text-white .listing li { border-top-color: #ffffff; }

.text-logo { color: #001943; }

.text-accent { color: #1271ff; }

.bg-white { background-color: #ffffff; }

.bg-logo { background-color: #001943; }

.bg-navy { background-color: #01112a; }

.bg-accent { background-color: #1271ff; }

.bg-accent .button { color: #ffffff !important; border-color: #ffffff !important; }

.bg-accent .button .icon path { stroke: #ffffff !important; }

.bg-navyblack { background-color: #00060f; }

.fill-logo { fill: #001943; }

.fill-white path { fill: #ffffff; }

/*
min: 768px
max: 2880px
predefined values@ 1780px 
*/
body { font-variation-settings: "slnt" 0, "wdth" 125, "GRAD" 0, "XOPQ" 96, "XTRA" 468, "YOPQ" 79, "YTAS" 720, "YTDE" -203, "YTFI" 738, "YTLC" 530, "YTUC" 745; }

/* H_/H1 95 */
h1, .h1 { font-style: normal; font-optical-sizing: auto; font-weight: 420; line-height: 1.1em; }

@media print, screen and (max-width: 39.99875em) { .small-scaledown h1, .small-scaledown .h1 { font-size: 1.625rem; } }

@media print, screen and (max-width: 39.99875em) { h1.bigbutton-ani, .h1.bigbutton-ani { font-size: 6.5vw; } }

/* H_/H1 110 */
h1.giant, .h1.giant { line-height: 1.1em; padding-bottom: 0.05em; font-weight: 480; }

@media print, screen and (min-width: 64em) { h1.giant, .h1.giant { font-size: clamp(3.5rem, 2.2273rem + 2.6515vw, 7.5rem); } }

/* H_/H2 75 */
h2, .h2 { font-style: normal; font-optical-sizing: auto; line-height: 1.1em; font-weight: 405; }

@media print, screen and (max-width: 39.99875em) { .small-scaledown h2, .small-scaledown .h2 { font-size: 1.375rem; } }

h3, .h3 { font-style: normal; font-optical-sizing: auto; font-weight: 400; letter-spacing: 0.01em; line-height: 1.2em; font-size: 110%; }

h3.uppercase, .h3.uppercase { letter-spacing: 0.03em; }

@media print, screen and (max-width: 39.99875em) { .small-scaledown h3, .small-scaledown .h3 { font-size: 1.125rem; } }

h4, .h4 { font-style: normal; font-optical-sizing: auto; font-weight: 500; letter-spacing: 0.02em; text-transform: uppercase; line-height: 1.2; }

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

@media print, screen and (min-width: 64em) { h1, .h1 { font-size: clamp(3rem, 1.9091rem + 2vw, 5.2rem); }
  h2, .h2 { font-size: clamp(2.5rem, 1.6818rem + 1.7045vw, 4.75rem); }
  h3, .h3 { font-size: clamp(1.9375rem, 1.4602rem + 0.9943vw, 3.25rem); }
  h4, .h4 { font-size: clamp(1.5625rem, 1.2216rem + 0.7102vw, 2.5rem); } }

h1, .h1, h2, .h2, h3, .h3, h4, .h4 { margin-top: -0.12em; margin-bottom: 1.5625rem; }

@media print, screen and (min-width: 40em) { h1, .h1, h2, .h2, h3, .h3, h4, .h4 { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { h1, .h1, h2, .h2, h3, .h3, h4, .h4 { margin-bottom: 3.125rem; } }

h1:not(.giant), .h1:not(.giant), h2:not(.giant), .h2:not(.giant), h3:not(.giant), .h3:not(.giant), h4:not(.giant), .h4:not(.giant) { text-transform: uppercase; }

h1 sup, .h1 sup, h2 sup, .h2 sup, h3 sup, .h3 sup, h4 sup, .h4 sup { top: -0.8em; font-size: 50%; }

p { font-style: normal; font-weight: 330; font-size: clamp(1rem, 0.7727rem + 0.4735vw, 1.625rem); line-height: 1.45; }

p + .button { margin-top: 0.9375rem; }

@media print, screen and (min-width: 40em) { p + .button { margin-top: 1.5625rem; } }

@media print, screen and (min-width: 75em) { p + .button { margin-top: 3.125rem; } }

@media screen and (min-width: 120em) { p + .button { margin-top: 6.25rem; } }

p.unindent, p.unindent + p ~ p, .unindent > p { text-indent: 0; }

p > a { text-decoration: underline; }

.plast-mb0 p:last-child { margin-bottom: -1px; }

.smaller { font-size: 1rem; }

@media print, screen and (min-width: 40em) { .smaller { font-size: 1.125rem; } }

@media print, screen and (min-width: 64em) { .smaller { font-size: 1.25rem; } }

.overline { font-size: 0.75rem; font-weight: 350; letter-spacing: 0.02em; text-transform: uppercase; text-indent: 0; opacity: 0.8; font-family: "Roboto Flex", sans-serif; margin-bottom: 0; }

@media print, screen and (min-width: 40em) { .overline { font-size: 0.875rem; font-weight: 450; } }

@media print, screen and (min-width: 64em) { .overline { font-size: 1rem; line-height: 1.3125rem; } }

@media print, screen and (min-width: 64em) and (max-width: 74.99875em) { .overline { padding-bottom: 25px !important; } }

@media screen and (min-width: 120em) { .overline { font-size: 1.125rem; line-height: 1.5rem; } }

strong, .strong { font-weight: 500; }

.strongest { font-weight: 600; }

.space { font-family: "Space Grotesk", sans-serif; font-optical-sizing: auto; font-style: normal; }

.text-button { font-size: 1rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.02em; }

@media print, screen and (min-width: 40em) { .text-button { font-size: 1.125rem; } }

@media print, screen and (min-width: 64em) { .text-button { font-size: 1.375rem; } }

@media screen and (min-width: 90em) { .text-button { font-size: 1.5rem; line-height: 2rem; padding: 0.9375rem 0; } }

.uppercase { text-transform: uppercase; }

section, .relative, footer { position: relative; }

section, footer { z-index: 6; overflow-x: hidden; overflow-y: clip; }

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

.relative { position: relative; }

.m-0 { margin: 0 !important; }

.mt-0 { margin-top: 0; }

.mt-auto { margin-top: auto; }

.mt-grid { margin-top: 0.9375rem; }

@media print, screen and (min-width: 40em) { .mt-grid { margin-top: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .mt-grid { margin-top: 2.5rem; } }

@media print, screen and (min-width: 75em) { .mt-grid { margin-top: 3.125rem; } }

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

.mb-auto { margin-bottom: auto; }

.mb-grid { margin-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .mb-grid { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .mb-grid { margin-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .mb-grid { margin-bottom: 3.125rem; } }

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

@media print, screen and (min-width: 75em) { .mb-xl-0 { margin-bottom: 0; } }

.ml-auto { margin-left: auto; }

.mr-auto { margin-right: auto; }

.p-0 { padding: 0 !important; }

.py-grid { padding-top: 0.9375rem; padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .py-grid { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .py-grid { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .py-grid { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

.py-grid--spaced { padding-top: 1.5625rem; padding-bottom: 1.5625rem; }

@media print, screen and (min-width: 40em) { .py-grid--spaced { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .py-grid--spaced { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

.py-250 { padding-top: 3.75rem; padding-bottom: 3.75rem; }

@media print, screen and (min-width: 40em) { .py-250 { padding-top: 6.25rem; padding-bottom: 6.25rem; } }

@media print, screen and (min-width: 64em) { .py-250 { padding-top: 10rem; padding-bottom: 10rem; } }

@media print, screen and (min-width: 75em) { .py-250 { padding-top: 12.5rem; padding-bottom: 12.5rem; } }

@media print, screen and (min-width: 64em) { .py-l-0 { padding-top: 0; padding-bottom: 0; } }

.px-grid { padding-left: 0.9375rem; padding-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { .px-grid { padding-left: 1.5625rem; padding-right: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .px-grid { padding-left: 2.5rem; padding-right: 2.5rem; } }

@media print, screen and (min-width: 75em) { .px-grid { padding-left: 3.125rem; padding-right: 3.125rem; } }

.px-grid--spaced { padding-left: 1.5625rem; padding-right: 1.5625rem; }

@media print, screen and (min-width: 40em) { .px-grid--spaced { padding-left: 1.5625rem; padding-right: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .px-grid--spaced { padding-left: 3.125rem; padding-right: 3.125rem; } }

.pt-0 { padding-top: 0 !important; }

.pt-grid { padding-top: 0.9375rem; }

@media print, screen and (min-width: 40em) { .pt-grid { padding-top: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .pt-grid { padding-top: 2.5rem; } }

@media print, screen and (min-width: 75em) { .pt-grid { padding-top: 3.125rem; } }

.pt-grid--spaced { padding-top: 1.5625rem; }

@media print, screen and (min-width: 40em) { .pt-grid--spaced { padding-top: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .pt-grid--spaced { padding-top: 3.125rem; } }

.pt-grid--first { padding-top: 3.125rem; }

@media print, screen and (min-width: 40em) { .pt-grid--first { padding-top: 3.125rem; } }

@media print, screen and (min-width: 64em) { .pt-grid--first { padding-top: 6.25rem; } }

.pt-100 { padding-top: 1.875rem; }

@media print, screen and (min-width: 40em) { .pt-100 { padding-top: 3.125rem; } }

@media print, screen and (min-width: 64em) { .pt-100 { padding-top: 5rem; } }

@media print, screen and (min-width: 75em) { .pt-100 { padding-top: 6.25rem; } }

.pt-150 { padding-top: 2.8125rem; }

@media print, screen and (min-width: 40em) { .pt-150 { padding-top: 4.6875rem; } }

@media print, screen and (min-width: 64em) { .pt-150 { padding-top: 7.5rem; } }

@media print, screen and (min-width: 75em) { .pt-150 { padding-top: 9.375rem; } }

.pt-200 { padding-top: 3.75rem; }

@media print, screen and (min-width: 40em) { .pt-200 { padding-top: 6.25rem; } }

@media print, screen and (min-width: 64em) { .pt-200 { padding-top: 10rem; } }

@media print, screen and (min-width: 75em) { .pt-200 { padding-top: 12.5rem; } }

.pt-250 { padding-top: 3.75rem; }

@media print, screen and (min-width: 40em) { .pt-250 { padding-top: 6.25rem; } }

@media print, screen and (min-width: 64em) { .pt-250 { padding-top: 10rem; } }

@media print, screen and (min-width: 75em) { .pt-250 { padding-top: 12.5rem; } }

.pb-0 { padding-bottom: 0 !important; }

.pb-grid { padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .pb-grid { padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .pb-grid { padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .pb-grid { padding-bottom: 3.125rem; } }

.pb-grid--spaced { padding-bottom: 1.5625rem; }

@media print, screen and (min-width: 40em) { .pb-grid--spaced { padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .pb-grid--spaced { padding-bottom: 3.125rem; } }

.pb-100 { padding-bottom: 1.875rem; }

@media print, screen and (min-width: 40em) { .pb-100 { padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { .pb-100 { padding-bottom: 5rem; } }

@media print, screen and (min-width: 75em) { .pb-100 { padding-bottom: 6.25rem; } }

.pb-150 { padding-bottom: 2.8125rem; }

@media print, screen and (min-width: 40em) { .pb-150 { padding-bottom: 4.6875rem; } }

@media print, screen and (min-width: 64em) { .pb-150 { padding-bottom: 7.5rem; } }

@media print, screen and (min-width: 75em) { .pb-150 { padding-bottom: 9.375rem; } }

.pb-200 { padding-bottom: 3.75rem; }

@media print, screen and (min-width: 40em) { .pb-200 { padding-bottom: 6.25rem; } }

@media print, screen and (min-width: 64em) { .pb-200 { padding-bottom: 10rem; } }

@media print, screen and (min-width: 75em) { .pb-200 { padding-bottom: 12.5rem; } }

.pb-250 { padding-bottom: 3.75rem; }

@media print, screen and (min-width: 40em) { .pb-250 { padding-bottom: 6.25rem; } }

@media print, screen and (min-width: 64em) { .pb-250 { padding-bottom: 10rem; } }

@media print, screen and (min-width: 75em) { .pb-250 { padding-bottom: 12.5rem; } }

@media print, screen and (min-width: 64em) { .pb-l-0 { padding-bottom: 0; } }

@media print, screen and (min-width: 75em) { .pb-xl-0 { padding-bottom: 0; } }

@media screen and (min-width: 90em) { .pb-xxl-0 { padding-bottom: 0; } }

.pr-grid { padding-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { .pr-grid { padding-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .pr-grid { padding-right: 3.125rem; } }

@media screen and (min-width: 120em) { .pr-grid { padding-right: 6.25rem; } }

.overline { padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .overline { padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .overline { padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .overline { padding-bottom: 3.125rem; } }

.no-border, .no-border .grid-x { border-width: 0 !important; }

@media print, screen and (min-width: 75em) { .xlarge-abs-bento { position: absolute; top: 0; left: 0; margin-left: 0.9375rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { .xlarge-abs-bento { margin-left: 1.5625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { .xlarge-abs-bento { margin-left: 3.125rem; } }

@media screen and (min-width: 75em) and (min-width: 120em) { .xlarge-abs-bento { margin-left: 6.25rem; } }

.w-full { width: 100%; }

.w-50 { width: 50%; }

.w-66 { width: 66%; }

.h-full { height: 100%; }

@media print, screen and (min-width: 64em) { .xlarge-mw20 { max-width: 40vw; } }

@media print, screen and (min-width: 75em) { .xlarge-mw20 { max-width: 20vw; } }

@media screen and (min-width: 143.75em) { .xxxxlarge-up-3 > .cell { width: 33.3333%; } }

ul.grid-x { list-style-type: none; }

#iconGrid .align-center-middle { height: 100%; border-top: 1px solid #001943; border-bottom: 1px solid #001943; padding-left: 1.875rem; padding-right: 1.875rem; padding-top: 0.9375rem; padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { #iconGrid .align-center-middle { padding-left: 3.125rem; padding-right: 3.125rem; } }

@media print, screen and (min-width: 64em) { #iconGrid .align-center-middle { padding-left: 5rem; padding-right: 5rem; } }

@media print, screen and (min-width: 75em) { #iconGrid .align-center-middle { padding-left: 6.25rem; padding-right: 6.25rem; } }

@media print, screen and (min-width: 40em) { #iconGrid .align-center-middle { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { #iconGrid .align-center-middle { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { #iconGrid .align-center-middle { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { #iconGrid .align-center-middle { border-top: 2px solid #001943; border-bottom: 2px solid #001943; padding-top: 1.40625rem; padding-bottom: 1.40625rem; padding-left: 1.40625rem; padding-right: 1.40625rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { #iconGrid .align-center-middle { padding-top: 2.34375rem; padding-bottom: 2.34375rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { #iconGrid .align-center-middle { padding-top: 3.75rem; padding-bottom: 3.75rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { #iconGrid .align-center-middle { padding-top: 4.6875rem; padding-bottom: 4.6875rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { #iconGrid .align-center-middle { padding-left: 2.34375rem; padding-right: 2.34375rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { #iconGrid .align-center-middle { padding-left: 3.75rem; padding-right: 3.75rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { #iconGrid .align-center-middle { padding-left: 4.6875rem; padding-right: 4.6875rem; } }

@media print, screen and (min-width: 75em) { #iconGrid .align-center-middle { padding-top: 0.9375rem; padding-bottom: 0.9375rem; padding-left: 1.40625rem; padding-right: 1.40625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #iconGrid .align-center-middle { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #iconGrid .align-center-middle { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #iconGrid .align-center-middle { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #iconGrid .align-center-middle { padding-left: 2.34375rem; padding-right: 2.34375rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #iconGrid .align-center-middle { padding-left: 3.75rem; padding-right: 3.75rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #iconGrid .align-center-middle { padding-left: 4.6875rem; padding-right: 4.6875rem; } }

#iconGrid .cell:first-child .align-center-middle, #iconGrid .cell:last-child .align-center-middle { border-left: 1px solid #001943; border-right: 1px solid #001943; }

@media print, screen and (min-width: 64em) { #iconGrid .cell:first-child .align-center-middle, #iconGrid .cell:last-child .align-center-middle { border-width: 2px; } }

.text-white #iconGrid .align-center-middle { border-color: #ffffff !important; }

.text-white #iconGrid svg { fill: #ffffff; width: 100%; }

@media print, screen and (max-width: 89.99875em) { .show-for-xxlarge { display: none; } }

@media screen and (min-width: 90em) { .hide-for-xxlarge { display: none; } }

.button { font-size: 1rem; font-weight: 600; line-height: 1.2; letter-spacing: 0.01em; text-align: left; text-transform: uppercase; border-bottom-width: 1px; border-bottom-style: solid; position: relative; display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; padding: 0.625rem 0; }

@media print, screen and (min-width: 40em) { .button { font-size: 1.125rem; } }

@media print, screen and (min-width: 64em) { .button { font-size: 1.25rem; padding: 0.9375rem 0; } }

@media screen and (min-width: 90em) { .button { font-size: 1.375rem; line-height: 2rem; padding: 0.9375rem 0; } }

.button.small, .button.little { font-weight: 400; }

.button.small { font-size: 1rem; line-height: 1.2; }

@media print, screen and (min-width: 64em) { .button.small { font-size: 1.25rem; } }

@media screen and (min-width: 90em) { .button.small { font-size: 1.5rem; line-height: 2rem; } }

.button.little { font-size: 0.9375rem; line-height: 1.2; }

@media print, screen and (min-width: 64em) { .button.little { font-size: 1.25rem; } }

.button.consent { position: absolute; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; background: rgba(0, 0, 0, 0.9); -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }

.button.consent .icon { margin-top: 0.9375rem; }

@media print, screen and (min-width: 40em) { .button.consent .icon { margin-top: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .button.consent .icon { margin-top: 2.5rem; } }

@media print, screen and (min-width: 75em) { .button.consent .icon { margin-top: 3.125rem; } }

.button.consent .icon svg circle { -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }

.button.consent:hover { opacity: 0.9; }

.button.consent:hover .icon svg circle { fill: #1271ff; }

.button.consent .px-grid { text-transform: none; font-weight: normal; font-size: 14px; }

@media print, screen and (min-width: 64em) { .button.consent .px-grid { font-size: 16px; } }

a.download { border: none; margin: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; color: #001943; }

a.download img { padding: 10px; border: 1px solid #a0b6d5; }

a.download .icon { font-size: 1rem; text-align: center; font-weight: 500; text-transform: uppercase; line-height: 1.5; display: block; stroke: #1271ff; color: #1271ff; width: 45px; height: 65px; margin-bottom: 0.46875rem; margin-top: -5px; margin-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { a.download .icon { margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { a.download .icon { margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { a.download .icon { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 40em) { a.download .icon { margin-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { a.download .icon { margin-right: 3.125rem; } }

@media screen and (min-width: 120em) { a.download .icon { margin-right: 6.25rem; } }

a.download svg { height: auto !important; }

a.download .smaller { font-size: 14px; }

@media print, screen and (max-width: 39.99875em) { a.download { margin-bottom: 0.9375rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 40em) { a.download { margin-bottom: 1.5625rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 64em) { a.download { margin-bottom: 2.5rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 75em) { a.download { margin-bottom: 3.125rem; } }

@media print, screen and (min-width: 40em) { a.download .icon { margin-top: 0; margin-right: 0; height: 65px; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; margin-left: auto; }
  a.download .description { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; padding-right: 0.9375rem; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) { a.download .description { padding-right: 1.5625rem; } }

@media print, screen and (min-width: 40em) and (min-width: 75em) { a.download .description { padding-right: 3.125rem; } }

@media screen and (min-width: 40em) and (min-width: 120em) { a.download .description { padding-right: 6.25rem; } }

@media print, screen and (min-width: 40em) { a.download .smaller { font-size: 16px; } }

@media screen and (min-width: 56.25em) { a.download .icon { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; margin-left: 0; margin-right: 0.9375rem; } }

@media screen and (min-width: 56.25em) and (min-width: 40em) { a.download .icon { margin-right: 1.5625rem; } }

@media screen and (min-width: 56.25em) and (min-width: 75em) { a.download .icon { margin-right: 3.125rem; } }

@media screen and (min-width: 56.25em) and (min-width: 120em) { a.download .icon { margin-right: 6.25rem; } }

@media screen and (min-width: 56.25em) { a.download .description { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; } }

@media screen and (min-width: 56.25em) { a.download.has-image { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; }
  a.download.has-image .icon { margin-right: 0; margin-bottom: 0.70313rem; } }

@media screen and (min-width: 56.25em) and (min-width: 40em) { a.download.has-image .icon { margin-bottom: 1.17188rem; } }

@media screen and (min-width: 56.25em) and (min-width: 64em) { a.download.has-image .icon { margin-bottom: 1.875rem; } }

@media screen and (min-width: 56.25em) and (min-width: 75em) { a.download.has-image .icon { margin-bottom: 2.34375rem; } }

@media print, screen and (min-width: 75em) { a.download.has-image .icon { margin-bottom: 0.46875rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { a.download.has-image .icon { margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { a.download.has-image .icon { margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { a.download.has-image .icon { margin-bottom: 1.5625rem; } }

.icon svg { width: 100%; height: auto; display: block; }

.button.text-accent, .button.active { color: #1271ff; border-color: #1271ff; }

.button.text-accent svg, .button.active svg { stroke: #1271ff; }

.button .icon, .scrollhint .icon, .openvideo .icon { display: block; width: 30px; height: 30px; margin-left: 10px; margin-top: -15px; margin-bottom: -10px; }

.button .icon svg, .scrollhint .icon svg, .openvideo .icon svg { width: 100%; height: 100%; }

@media print, screen and (min-width: 40em) { .button .icon, .scrollhint .icon, .openvideo .icon { width: 45px; height: 45px; margin-left: 15px; } }

.overlay-play { width: 6vw; aspect-ratio: 1/1; }

.overlay-play .icon { width: 100%; height: 6vw; }

.overlay-play svg > * { stroke: #1271ff; stroke-width: 2px; }

.overlay-play:hover svg path { fill: #1271ff; }

.bigbutton-ani { --bb-gradient: linear-gradient(
    90deg,
    rgb(255, 255, 255) -15%,
    rgb(18, 113, 255) -14%,
    rgb(18, 113, 255) -10%,
    rgb(255, 255, 255) -5%,
    rgb(0, 25, 67) 0
  ); --stroke: 0em; display: inline-block; color: transparent; font-weight: 500; background: var(--bb-gradient); background-size: 100% 150%; -webkit-background-clip: text; background-clip: text; -webkit-text-stroke: var(--stroke) transparent; }

@media print, screen and (max-width: 39.99875em) { .bigbutton-ani span.h1 { font-size: 6.5vw; } }

.button .icon.duplicate { position: absolute; }

.burger:hover, .burger:focus { color: #ffffff; }

@-webkit-keyframes play10 { 0% { background-position: 0px 0px; }
  100% { background-position: -288px 0px; } }

@keyframes play10 { 0% { background-position: 0px 0px; }
  100% { background-position: -288px 0px; } }

@-webkit-keyframes rev10 { 0% { background-position: -288px 0px; }
  100% { background-position: 0px 0px; } }

@keyframes rev10 { 0% { background-position: -288px 0px; }
  100% { background-position: 0px 0px; } }

@-webkit-keyframes play1024 { 0% { background-position: -288px 0px; }
  100% { background-position: -768px 0px; } }

@keyframes play1024 { 0% { background-position: -288px 0px; }
  100% { background-position: -768px 0px; } }

@-webkit-keyframes rev1024 { 0% { background-position: -768px 0px; }
  100% { background-position: -288px 0px; } }

@keyframes rev1024 { 0% { background-position: -768px 0px; }
  100% { background-position: -288px 0px; } }

.burger { -webkit-transform: translateY(3%); transform: translateY(3%); }

@media print, screen and (max-width: 39.99875em) { .burger { -webkit-transform: translate(15%, 3%); transform: translate(15%, 3%); } }

.burger .icon { background-image: url(../img/burger-icon.svg); -webkit-animation-duration: 150ms; animation-duration: 150ms; -webkit-animation-timing-function: steps(9); animation-timing-function: steps(9); -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; width: 32px; height: 32px; background-repeat: no-repeat; -webkit-transition: all 0.15s linear; transition: all 0.15s linear; margin-top: 0; margin-bottom: 0; -webkit-transform: scale(0.7) rotate(-45deg); transform: scale(0.7) rotate(-45deg); }

@media print, screen and (min-width: 40em) { .burger .icon { -webkit-transform: scale(1) rotate(-45deg); transform: scale(1) rotate(-45deg); } }

.burger .icon.step1 { -webkit-animation-name: play10; animation-name: play10; -webkit-transform: scale(0.7) rotate(0deg); transform: scale(0.7) rotate(0deg); }

@media print, screen and (min-width: 40em) { .burger .icon.step1 { -webkit-transform: scale(1) rotate(0deg); transform: scale(1) rotate(0deg); } }

.burger .icon.rev-step1 { -webkit-animation-name: rev10; animation-name: rev10; }

.burger .icon.step2 { -webkit-animation-name: rev1024; animation-name: rev1024; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; -webkit-animation-timing-function: steps(15); animation-timing-function: steps(15); -webkit-transition: -webkit-transform 0.3s linear; transition: -webkit-transform 0.3s linear; transition: transform 0.3s linear; transition: transform 0.3s linear, -webkit-transform 0.3s linear; }

.burger .icon.rev-step2 { -webkit-transform: scale(0.7) rotate(-180deg); transform: scale(0.7) rotate(-180deg); -webkit-animation-name: play1024; animation-name: play1024; -webkit-animation-duration: 0.3s; animation-duration: 0.3s; -webkit-animation-timing-function: steps(15); animation-timing-function: steps(15); -webkit-transition: -webkit-transform 0.3s linear; transition: -webkit-transform 0.3s linear; transition: transform 0.3s linear; transition: transform 0.3s linear, -webkit-transform 0.3s linear; }

@media print, screen and (min-width: 40em) { .burger .icon.rev-step2 { -webkit-transform: scale(1) rotate(-180deg); transform: scale(1) rotate(-180deg); } }

.burger .btnlabel { padding-top: 2px; }

.scrollhint { position: absolute; bottom: 0; left: 50%; width: 50px; height: 50px; -webkit-transform: translate(-50%, 50%); transform: translate(-50%, 50%); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; margin-right: 0.9375rem; margin-bottom: 1.5625rem; }

@media print, screen and (min-width: 40em) { .scrollhint { margin-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .scrollhint { margin-right: 3.125rem; } }

@media screen and (min-width: 120em) { .scrollhint { margin-right: 6.25rem; } }

@media print, screen and (min-width: 40em) { .scrollhint { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .scrollhint { margin-bottom: 3.125rem; } }

.scrollhint .icon { margin: 0; }

@media print, screen and (max-width: 74.99875em) { .scrollhint { display: none; } }

.openvideo { position: absolute; bottom: 0; right: 0; z-index: 10; cursor: pointer; width: 250px; height: 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #1271ff; text-transform: uppercase; font-size: 14px; margin-right: 0.9375rem; margin-bottom: 0.78125rem; }

@media print, screen and (min-width: 40em) { .openvideo { margin-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .openvideo { margin-right: 3.125rem; } }

@media screen and (min-width: 120em) { .openvideo { margin-right: 6.25rem; } }

@media print, screen and (min-width: 40em) { .openvideo { margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { .openvideo { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .openvideo { font-size: 16px; }
  .openvideo .text { opacity: 0; } }

@media print, screen and (min-width: 75em) { .openvideo { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { .openvideo { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { .openvideo { margin-bottom: 3.125rem; } }

.openvideo .icon { margin: 0 0 0 5px; }

.openvideo .icon svg path, .openvideo .icon svg circle { stroke: #1271ff; }

@media print, screen and (max-width: 63.99875em) { .openvideo { position: relative; margin: 0; width: auto; height: 30px; margin-top: 1rem; } }

.close-button.medium, .close-button { position: absolute !important; top: 0; right: 0; margin-top: 0.9375rem; margin-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { .close-button.medium, .close-button { margin-top: 1.5625rem; margin-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .close-button.medium, .close-button { margin-top: 3.125rem; margin-right: 3.125rem; } }

@media screen and (min-width: 120em) { .close-button.medium, .close-button { margin-top: 6.25rem; margin-right: 6.25rem; } }

.close-button.medium .icon, .close-button .icon { width: 20px; height: 20px; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }

.close-button.medium:hover .icon, .close-button:hover .icon { -webkit-transform: rotate(90deg); transform: rotate(90deg); }

.close-button.medium:hover .icon svg path, .close-button:hover .icon svg path { stroke: #1271ff; }

#menuLogo { width: 25vw; max-width: 300px; min-width: 150px; height: auto; padding-top: 0.35%; fill: #ffffff; }

#titlebarWrapper.sticky-container { position: fixed; width: 100%; z-index: 100; }

.title-bar { padding-left: 0.9375rem; padding-right: 0.9375rem; padding-top: 0.65625rem; padding-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { .title-bar { padding-left: 1.5625rem; padding-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .title-bar { padding-left: 3.125rem; padding-right: 3.125rem; } }

@media screen and (min-width: 120em) { .title-bar { padding-left: 6.25rem; padding-right: 6.25rem; } }

@media print, screen and (min-width: 40em) { .title-bar { padding-top: 1.09375rem; } }

@media print, screen and (min-width: 64em) { .title-bar { padding-top: 1.75rem; } }

@media print, screen and (min-width: 75em) { .title-bar { padding-top: 2.1875rem; } }

@media print, screen and (min-width: 40em) { .title-bar { padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { .title-bar { padding-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { .title-bar { padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 40em) { .title-bar { padding-top: 0.375rem; padding-bottom: 0.375rem; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) { .title-bar { padding-top: 0.625rem; padding-bottom: 0.625rem; } }

@media print, screen and (min-width: 40em) and (min-width: 64em) { .title-bar { padding-top: 1rem; padding-bottom: 1rem; } }

@media print, screen and (min-width: 40em) and (min-width: 75em) { .title-bar { padding-top: 1.25rem; padding-bottom: 1.25rem; } }

.title-bar-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: -webkit-gradient(linear, left top, left bottom, color-stop(13.33%, rgba(0, 6, 15, 0.9)), to(rgba(0, 13, 34, 0.25))); background: linear-gradient(180deg, rgba(0, 6, 15, 0.9) 13.33%, rgba(0, 13, 34, 0.25) 100%); z-index: -1; }

#home .title-bar-bg { opacity: 0; }

@media print, screen and (min-width: 40em) { .off-canvas.position-right { width: 580px; } }

@media print, screen and (min-width: 64em) { section:first-child .add-topbarspace { -webkit-transform: translateY(100px); transform: translateY(100px); } }

@media screen and (min-width: 90em) { section:first-child .add-topbarspace { -webkit-transform: translateY(120px); transform: translateY(120px); } }

.add-topbarpadding { padding-top: 80px; }

@media print, screen and (min-width: 40em) { .add-topbarpadding { padding-top: 120px; } }

@media print, screen and (min-width: 75em) { .add-topbarpadding { padding-top: 200px; } }

footer { position: relative; overflow-x: hidden; }

footer .menu.horizontal { margin-left: -0.46875rem; margin-right: -0.46875rem; }

@media print, screen and (min-width: 40em) { footer .menu.horizontal { margin-left: -0.78125rem; margin-right: -0.78125rem; } }

@media print, screen and (min-width: 75em) { footer .menu.horizontal { margin-left: -1.5625rem; margin-right: -1.5625rem; } }

@media screen and (min-width: 120em) { footer .menu.horizontal { margin-left: -3.125rem; margin-right: -3.125rem; } }

footer .menu.horizontal li { margin-left: 0.46875rem; margin-right: 0.46875rem; }

@media print, screen and (min-width: 40em) { footer .menu.horizontal li { margin-left: 0.78125rem; margin-right: 0.78125rem; } }

@media print, screen and (min-width: 75em) { footer .menu.horizontal li { margin-left: 1.5625rem; margin-right: 1.5625rem; } }

@media screen and (min-width: 120em) { footer .menu.horizontal li { margin-left: 3.125rem; margin-right: 3.125rem; } }

footer .menu.vertical .button.small { text-transform: none; }

footer .has-footerIcon { position: relative; overflow: clip; }

@media print, screen and (max-width: 39.99875em) { footer .menu.vertical.compact { margin-bottom: 1rem; } }

@media print, screen and (max-width: 63.99875em) { footer .menu.vertical.compact { margin-top: 0.5rem; } }

@media print, screen and (max-width: 39.99875em) { footer .address { margin-top: 1.5rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { footer .address > p:nth-child(2) { margin-top: 0.5rem; } }

#gmbhIcon { max-width: 60px; }

#gmbhIcon path { fill: #ffffff; -webkit-transition: fill 0.25s linear; transition: fill 0.25s linear; }

#footerIcon, #navIcon { position: absolute; right: 0; bottom: 25%; width: 85%; height: auto; fill: rgba(0, 25, 67, 0.05); }

#footerIcon { pointer-events: none; }

#navIcon { bottom: 0%; width: 65%; fill: rgba(255, 255, 255, 0.05); z-index: 1; pointer-events: none; }

.menu.vertical.compact a.button { padding: 0.25rem 0; line-height: 1.1; }

.off-canvas { overflow-x: hidden; }

#mainNav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; max-height: 100vh; overflow: hidden; }

#mainNav ul { width: 100%; }

#mainNav li.pb-grid { border-bottom: 1px solid #7a90af; margin-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { #mainNav li.pb-grid { margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { #mainNav li.pb-grid { margin-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { #mainNav li.pb-grid { margin-bottom: 3.125rem; } }

#mainNav .tone-down a.button:not(:hover) { color: #a0b6d5; }

#mainNav .tone-down a.button:not(:hover) #gmbhIcon path { fill: #a0b6d5; }

#mainNav .overline { padding-bottom: 0 !important; }

#mainNav a.button, #mainNav .is-accordion-submenu a.button { border-width: 0; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; padding-top: 10px; padding-bottom: 10px; }

#mainNav a.button.headquater, #mainNav .is-accordion-submenu a.button.headquater { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#mainNav a.button.headquater span:last-child, #mainNav .is-accordion-submenu a.button.headquater span:last-child { -webkit-transform: translate(0, 15%); transform: translate(0, 15%); }

#mainNav a.button:hover, #mainNav a.button:focus:hover, #mainNav .is-accordion-submenu a.button:hover, #mainNav .is-accordion-submenu a.button:focus:hover { color: #1271ff; }

#mainNav a.button:hover #gmbhIcon path, #mainNav .is-accordion-submenu a.button:hover #gmbhIcon path { fill: #1271ff; }

#mainNav a.button:focus, #mainNav .is-accordion-submenu a.button:focus { color: #ffffff; }

@media print, screen and (max-width: 39.99875em) { #mainNav a.button, #mainNav .is-accordion-submenu a.button { padding-top: 8px; padding-bottom: 8px; } }

@media screen and (min-width: 90em) { #mainNav a.button, #mainNav .is-accordion-submenu a.button { padding-top: 0.23438rem; padding-bottom: 0.23438rem; } }

@media screen and (min-width: 90em) and (min-width: 40em) { #mainNav a.button, #mainNav .is-accordion-submenu a.button { padding-top: 0.39063rem; padding-bottom: 0.39063rem; } }

@media screen and (min-width: 90em) and (min-width: 64em) { #mainNav a.button, #mainNav .is-accordion-submenu a.button { padding-top: 0.625rem; padding-bottom: 0.625rem; } }

@media screen and (min-width: 90em) and (min-width: 75em) { #mainNav a.button, #mainNav .is-accordion-submenu a.button { padding-top: 0.78125rem; padding-bottom: 0.78125rem; } }

#mainNav a.button span:first-child, #mainNav .is-accordion-submenu a.button span:first-child { padding-left: 0; }

#mainNav a.button span:last-child, #mainNav .is-accordion-submenu a.button span:last-child { padding-right: 0; }

@media print, screen and (max-width: 39.99875em) { #mainNav a.button > span:not(.overline), #mainNav .is-accordion-submenu a.button > span:not(.overline) { font-size: 60%; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { #mainNav a.button > span:not(.overline), #mainNav .is-accordion-submenu a.button > span:not(.overline) { font-size: 80%; } }

#mainNav .button .icon { width: 20px; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; -webkit-transform-origin: center center; transform-origin: center center; }

@media print, screen and (max-width: 39.99875em) { #mainNav .button .icon { margin-top: -5px; } }

#mainNav .button:hover .icon svg path { stroke: #1271ff; }

#mainNav .is-accordion-submenu-parent[aria-expanded="true"] .button { color: #1271ff; }

#mainNav .is-accordion-submenu-parent[aria-expanded="true"] .button .icon { -webkit-transform: rotate(180deg); transform: rotate(180deg); }

#mainNav ul.nested { width: 100%; margin: 5px 0; }

#mainNav ul.nested li:last-child { margin-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { #mainNav ul.nested li:last-child { margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { #mainNav ul.nested li:last-child { margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { #mainNav ul.nested li:last-child { margin-bottom: 1.5625rem; } }

#mainNav ul.nested a.button:not(:hover) { color: #a0b6d5; }

#sideNav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media print, screen and (min-width: 64em) { #sideNav a.button { padding-top: 0.46875rem; padding-bottom: 0.46875rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { #sideNav a.button { padding-top: 0.78125rem; padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { #sideNav a.button { padding-top: 1.25rem; padding-bottom: 1.25rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { #sideNav a.button { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

#sideNav ul { width: 100%; }

.aspect-ratio-2-1 { aspect-ratio: 15/7; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }

@media print, screen and (max-width: 39.99875em) { .small-aspect-ratio-4-3 { aspect-ratio: 4/3 !important; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; } }

.aspect-ratio-16-9 { aspect-ratio: 16/9; max-height: none !important; }

.aspect-ratio-a4 { aspect-ratio: 1/1.414; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }

.opacity-1 { opacity: 1 !important; }

.object-top { -o-object-position: top center; object-position: top center; }

.max-h-screen { max-height: 100vh; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }

.max-h-screen--80 { max-height: 80vh; -o-object-fit: contain; object-fit: contain; -o-object-position: center; object-position: center; }

.max-w-screen--80 { max-width: 80vw; -o-object-fit: contain; object-fit: contain; -o-object-position: center; object-position: center; margin-left: auto; margin-right: auto; display: block; }

#heroFrame { overflow: hidden; z-index: 4; }

@media print, screen and (min-width: 64em) { #heroFrame { color: #ffffff; } }

@media print, screen and (max-width: 63.99875em) { #heroFrame .bg-video video { opacity: 0.6; height: auto; aspect-ratio: 4/7; } }

.hero-content { --bg-opacity: 0.8; }

@media print, screen and (max-width: 63.99875em) { .hero-content { position: relative; color: #ffffff; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  .hero-content:before { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: black; opacity: var(--bg-opacity); z-index: 1; } }

@media print, screen and (min-width: 64em) { .hero-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-box-align: end; -ms-flex-align: end; align-items: end; z-index: 1; } }

@media screen and (min-width: 64em) and (orientation: landscape) { .hero-content { height: 100vh; } }

.hero-content > .cell { position: relative; z-index: 2; }

.bg-video video, .bg-video img { width: 100%; height: 100%; opacity: 0.5; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; }

.large-fullscreen { width: 100%; aspect-ratio: 16/9; }

@media print, screen and (min-width: 64em) { .large-fullscreen { height: 100vh; aspect-ratio: unset; overflow: hidden; } }

.large-fullscreen .bg-video { height: 100%; }

.screen { mix-blend-mode: screen; }

.bg-img { background: #00060f; }

.bg-img img { opacity: 0.75; }

.like-overlay { opacity: 0.75; }

.vid-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background-color: rgba(0, 6, 15, 0.5); }

#imageVideoReveal { padding: 0; background: black; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#imageVideoReveal[aria-hidden="false"] { display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important; }

#imageVideoReveal iframe { background-image: url(../img/Weissbach_Metallbau_Schweissen_01.webp); background-position: center; background-size: cover; background-repeat: no-repeat; }

.qr-code { aspect-ratio: 1/1; -webkit-transform: translateX(-8%); transform: translateX(-8%); mix-blend-mode: multiply; }

@media print, screen and (min-width: 75em) { .qr-code { max-width: 130px; } }

@media print, screen and (max-width: 39.99875em) { .sm-square img { aspect-ratio: 1/1; -o-object-fit: cover; object-fit: cover; } }

@media print, screen and (max-width: 63.99875em) { .mddown-pass img, .mddown-pass video { aspect-ratio: 4/3; -o-object-fit: cover; object-fit: cover; } }

.listing { margin: 0; list-style: none; }

.listing li { border-top-width: 1px; border-top-style: solid; padding-top: 0.9375rem; padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .listing li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .listing li { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .listing li { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { .listing li { padding-top: 0.78125rem; padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { .listing li { padding-top: 0.78125rem; padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { .listing li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

.listing li ul { margin-top: 0.46875rem; margin-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { .listing li ul { margin-top: 0.78125rem; margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { .listing li ul { margin-top: 1.25rem; margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { .listing li ul { margin-top: 1.5625rem; margin-bottom: 1.5625rem; } }

.listing li ul li { border-width: 0 !important; padding: 0 !important; }

.cell .listing li .cell:first-child { padding-left: 0; }

.cell .listing li .cell:last-child { padding-right: 0; }

.listing p:last-child { margin-bottom: 0; }

.listing.ungrid { padding: 0; }

.listing a { color: #001943; }

.text-white .listing a { color: #ffffff; }

.grid-list li { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row nowrap; flex-flow: row nowrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border-top-width: 1px; border-top-style: solid; padding-top: 0.78125rem; padding-bottom: 0.78125rem; }

@media print, screen and (min-width: 40em) { .grid-list li { padding-top: 0.78125rem; padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { .grid-list li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

.grid-list .overline { padding-bottom: 0 !important; }

@media print, screen and (min-width: 75em) { .\31 0-anchors-h4 h2 { width: 80%; } }

@media screen and (min-width: 120em) { .\31 0-anchors-h4 h2 { width: 66%; } }

.\31 0-anchors-h4 h3 { margin: 0; font-weight: 500; }

.\31 0-anchors-h4 li .overline { -webkit-transform: translateY(10%); transform: translateY(10%); }

.listing li span.h1 { margin-bottom: -0.1em; }

.\31 0-56-h3 li, .full-46-h3 li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; }

@media print, screen and (min-width: 40em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 0.9375rem; padding-bottom: 0.9375rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { .\31 0-56-h3 li, .full-46-h3 li { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (max-width: 39.99875em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 0.75rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 40em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 1.25rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 64em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 2rem; } }

@media print, screen and (max-width: 39.99875em) and (min-width: 75em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 2.5rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 0.5625rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) and (min-width: 40em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 0.9375rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) and (min-width: 64em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 1.5rem; } }

@media print, screen and (min-width: 40em) and (max-width: 63.99875em) and (min-width: 75em) { .\31 0-56-h3 h3, .full-46-h3 h3 { margin-bottom: 1.875rem; } }

.\31 2-linked-h1 li { padding-top: 0.9375rem; padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .\31 2-linked-h1 li { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .\31 2-linked-h1 li { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .\31 2-linked-h1 li { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

.contact-card .icon { display: block; width: 15px; height: 20px; margin-right: 5px; -webkit-transform: translateY(8%); transform: translateY(8%); -ms-flex-negative: 0; flex-shrink: 0; }

.contact-card .icon svg { width: 100%; height: 100%; }

@media print, screen and (min-width: 40em) { .contact-card .icon { width: 20px; height: 25px; margin-right: 10px; } }

.contact-card strong { margin-bottom: 0.5em; }

.contact-card p:not(:last-child) { margin-bottom: 0.25em; text-indent: 0; }

.contact-card p:last-child { margin-bottom: 0; }

.contact-card p.overline { padding-bottom: 0.46875rem; }

@media print, screen and (min-width: 40em) { .contact-card p.overline { padding-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { .contact-card p.overline { padding-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { .contact-card p.overline { padding-bottom: 1.5625rem; } }

.contact-card p.grid-x { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row; flex-flow: row; }

.contact-card a.liam { word-break: break-word; }

.branchaccordion a.accordion-title.grid-x { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-transform: none; transform: none; position: relative; padding-top: 0.9375rem; padding-bottom: 0.9375rem; }

@media print, screen and (min-width: 40em) { .branchaccordion a.accordion-title.grid-x { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .branchaccordion a.accordion-title.grid-x { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion a.accordion-title.grid-x { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

.branchaccordion a.grid-x, .branchaccordion .accordion-content.grid-x { margin-right: -0.46875rem; margin-left: -0.46875rem; }

@media print, screen and (min-width: 40em) { .branchaccordion a.grid-x, .branchaccordion .accordion-content.grid-x { margin-right: -0.78125rem; margin-left: -0.78125rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion a.grid-x, .branchaccordion .accordion-content.grid-x { margin-right: -1.5625rem; margin-left: -1.5625rem; } }

@media screen and (min-width: 120em) { .branchaccordion a.grid-x, .branchaccordion .accordion-content.grid-x { margin-right: -3.125rem; margin-left: -3.125rem; } }

.branchaccordion li.accordion-item { border-top-width: 1px; border-top-style: solid; border-color: #001943; }

.branchaccordion .accordion-title > .cell:first-child { height: -webkit-fit-content; height: -moz-fit-content; height: fit-content; padding-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { .branchaccordion .accordion-title > .cell:first-child { padding-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion .accordion-title > .cell:first-child { padding-right: 3.125rem; } }

@media screen and (min-width: 120em) { .branchaccordion .accordion-title > .cell:first-child { padding-right: 6.25rem; } }

.branchaccordion .accordion-title > * { display: block; }

.branchaccordion .accordion-title > .h1 { margin-top: -0.02em; }

.branchaccordion .accordion-title > .icon { margin-right: 0.46875rem; padding-top: 0.9375rem; padding-bottom: 0.9375rem; position: absolute; right: 0; top: -2px; width: 30px; height: 30px; }

@media print, screen and (min-width: 40em) { .branchaccordion .accordion-title > .icon { margin-right: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion .accordion-title > .icon { margin-right: 1.5625rem; } }

@media screen and (min-width: 120em) { .branchaccordion .accordion-title > .icon { margin-right: 3.125rem; } }

@media print, screen and (min-width: 40em) { .branchaccordion .accordion-title > .icon { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { .branchaccordion .accordion-title > .icon { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion .accordion-title > .icon { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 40em) { .branchaccordion .accordion-title > .icon { width: 45px; height: 45px; top: 0px; } }

.branchaccordion .accordion-content a.cell { margin-right: 0.46875rem; margin-left: 0.46875rem; }

@media print, screen and (min-width: 40em) { .branchaccordion .accordion-content a.cell { margin-right: 0.78125rem; margin-left: 0.78125rem; } }

@media print, screen and (min-width: 75em) { .branchaccordion .accordion-content a.cell { margin-right: 1.5625rem; margin-left: 1.5625rem; } }

@media screen and (min-width: 120em) { .branchaccordion .accordion-content a.cell { margin-right: 3.125rem; margin-left: 3.125rem; } }

.branchaccordion .accordion-content .grid-list li { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.branchaccordion svg.svglogo { width: 100%; max-width: 480px; height: unset; fill: #001943; }

@media print, screen and (min-width: 64em) { .full-onbottom-bottom .offset-50 { -webkit-transform: translateY(50%); transform: translateY(50%); margin-bottom: -0.9375rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { .full-onbottom-bottom .offset-50 { margin-bottom: -1.5625rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { .full-onbottom-bottom .offset-50 { margin-bottom: -3.125rem; } }

@media screen and (min-width: 64em) and (min-width: 120em) { .full-onbottom-bottom .offset-50 { margin-bottom: -6.25rem; } }

@media print, screen and (max-width: 39.99875em) { .full-onbottom-bottom img { aspect-ratio: 4 / 3; -o-object-fit: cover; object-fit: cover; } }

.\31 2-onbottom-bottom > .grid-x:first-child, .\31 2-onbottom-bottom .img-offset { padding-left: 0 !important; }

@media print, screen and (max-width: 63.99875em) { .\31 0-onbottom-bottom:first-child .grid-x:first-child, .\31 0-onbottom-bottom:first-child .grid-x:first-child .cell:first-child { padding-left: 0; padding-right: 0; } }

@media print, screen and (max-width: 63.99875em) { .\31 0-onbottom-bottom:first-child > .grid-x:first-child > .cell:last-child { margin-left: 0.46875rem; margin-right: 0.46875rem; } }

@media print, screen and (max-width: 63.99875em) and (min-width: 40em) { .\31 0-onbottom-bottom:first-child > .grid-x:first-child > .cell:last-child { margin-left: 0.78125rem; margin-right: 0.78125rem; } }

@media print, screen and (max-width: 63.99875em) and (min-width: 75em) { .\31 0-onbottom-bottom:first-child > .grid-x:first-child > .cell:last-child { margin-left: 1.5625rem; margin-right: 1.5625rem; } }

@media screen and (max-width: 63.99875em) and (min-width: 120em) { .\31 0-onbottom-bottom:first-child > .grid-x:first-child > .cell:last-child { margin-left: 3.125rem; margin-right: 3.125rem; } }

@media print, screen and (min-width: 64em) { .\31 0-onbottom-bottom .top-layer { position: absolute; top: 0; left: 0; z-index: 1; margin-left: 0.9375rem; margin-right: 0.9375rem; padding-top: 0.9375rem; padding-bottom: 0.9375rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { .\31 0-onbottom-bottom .top-layer { margin-left: 1.5625rem; margin-right: 1.5625rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { .\31 0-onbottom-bottom .top-layer { margin-left: 3.125rem; margin-right: 3.125rem; } }

@media screen and (min-width: 64em) and (min-width: 120em) { .\31 0-onbottom-bottom .top-layer { margin-left: 6.25rem; margin-right: 6.25rem; } }

@media print, screen and (min-width: 64em) and (min-width: 40em) { .\31 0-onbottom-bottom .top-layer { padding-top: 1.5625rem; padding-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) and (min-width: 64em) { .\31 0-onbottom-bottom .top-layer { padding-top: 2.5rem; padding-bottom: 2.5rem; } }

@media print, screen and (min-width: 64em) and (min-width: 75em) { .\31 0-onbottom-bottom .top-layer { padding-top: 3.125rem; padding-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { .\31 0-onbottom-bottom .top-layer .cell:last-child { margin-top: auto; } }

@media print, screen and (min-width: 64em) { .\31 0-onbottom-bottom h3 { margin: 0; -webkit-transform: translateY(-60%); transform: translateY(-60%); padding-bottom: 0; } }

@media screen and (min-width: 90em) { .\31 0-onbottom-bottom h3 { -webkit-transform: translateY(-100%); transform: translateY(-100%); } }

.full-onbottom-bottom:not(:first-child) .bg-video img, .full-onbottom-bottom:not(:first-child) .bg-video video { max-height: 1200px; }

#contact section p.overline:before, #downloads section p.overline:before { content: ""; position: absolute; top: 0; left: 0; right: 0; border-top: 1px solid #01112a; margin-left: 0.9375rem; margin-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { #contact section p.overline:before, #downloads section p.overline:before { margin-left: 1.5625rem; margin-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { #contact section p.overline:before, #downloads section p.overline:before { margin-left: 3.125rem; margin-right: 3.125rem; } }

@media screen and (min-width: 120em) { #contact section p.overline:before, #downloads section p.overline:before { margin-left: 6.25rem; margin-right: 6.25rem; } }

#news a.accordion-title.grid-x, #jobs a.accordion-title.grid-x { display: -webkit-box; display: -ms-flexbox; display: flex; }

#news .accordion-title > *, #jobs .accordion-title > * { display: block; }

#news li.accordion-item, #jobs li.accordion-item { border-top-width: 1px; border-top-style: solid; border-color: #001943; }

.intro svg { width: 100%; height: auto; max-width: 550px; }

#history { position: relative; }

#history section.bg-bluegray .textcontent { background-color: #e4e6ef; }

#history .section-line { position: absolute; z-index: 10; left: 0; top: 0; width: 2px; height: 100%; background-color: #1271ff; margin-left: 1.40625rem; }

@media print, screen and (min-width: 40em) { #history .section-line { margin-left: 2.34375rem; } }

@media print, screen and (min-width: 75em) { #history .section-line { margin-left: 4.6875rem; } }

@media screen and (min-width: 120em) { #history .section-line { margin-left: 9.375rem; } }

@media print, screen and (min-width: 64em) { #history .section-line { left: 50%; margin-left: -1px; } }

#history #historySections section.timelineelement:first-of-type .section-line { margin-top: 1.5625rem; }

@media print, screen and (min-width: 40em) { #history #historySections section.timelineelement:first-of-type .section-line { margin-top: 1.5625rem; } }

@media print, screen and (min-width: 64em) { #history #historySections section.timelineelement:first-of-type .section-line { margin-top: 3.125rem; } }

#history #historySections section.textimage .section-line { margin-left: 0.9375rem; }

@media print, screen and (min-width: 40em) { #history #historySections section.textimage .section-line { margin-left: 1.5625rem; } }

@media print, screen and (min-width: 75em) { #history #historySections section.textimage .section-line { margin-left: 3.125rem; } }

@media screen and (min-width: 120em) { #history #historySections section.textimage .section-line { margin-left: 6.25rem; } }

@media print, screen and (min-width: 64em) { #history #historySections section.textimage .section-line { left: 50%; margin-left: -1px; } }

#history section .timestamp { display: block; padding-bottom: 0; text-align: center; font-family: "Roboto Mono", monospace; font-optical-sizing: auto; font-weight: 400; font-style: normal; position: relative; z-index: 11; }

@media print, screen and (max-width: 63.99875em) { #history section .timestamp { display: inline-block; text-align: left; padding: 2px 5px; -webkit-transform: scale(1) !important; transform: scale(1) !important; } }

#history section .timestamp .bluebar { content: ""; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background-color: #1271ff; z-index: -1; }

@media print, screen and (min-width: 64em) { #history section .timestamp .bluebar { border: 2px solid #ffffff; } }

#history section .timestamp .line { position: relative; }

@media print, screen and (max-width: 63.99875em) { #history section .grid-x { border-width: 0 !important; } }

@media print, screen and (min-width: 64em) { #history section > .cell:first-child:not(.sticky) { position: relative; } }

#history section.textimage .bluebar { border-width: 0 !important; }

#history section.textimage .cell.medium-2 .timestamp { margin-bottom: 0 !important; }

#history .textcontent .cell:first-child { padding-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { #history .textcontent .cell:first-child { padding-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { #history .textcontent .cell:first-child { padding-right: 3.125rem; } }

@media screen and (min-width: 120em) { #history .textcontent .cell:first-child { padding-right: 6.25rem; } }

#history .textcontent p:last-child { margin-bottom: 0; }

#history .has-tip { padding-right: 1.40625rem; display: block; }

@media print, screen and (min-width: 40em) { #history .has-tip { padding-right: 2.34375rem; } }

@media print, screen and (min-width: 75em) { #history .has-tip { padding-right: 4.6875rem; } }

@media screen and (min-width: 120em) { #history .has-tip { padding-right: 9.375rem; } }

#history .has-tip .icon { position: absolute; top: 0.55em; right: 0; }

#history .sticky .overline { font-size: 13px; }

#history .inlineimage { margin-top: 0.46875rem; margin-bottom: 0.46875rem; display: block; max-width: 600px; }

@media print, screen and (min-width: 40em) { #history .inlineimage { margin-top: 0.78125rem; margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 64em) { #history .inlineimage { margin-top: 1.25rem; margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) { #history .inlineimage { margin-top: 1.5625rem; margin-bottom: 1.5625rem; } }

@media print, screen and (min-width: 64em) { #history .inlineimage { width: 25vw; margin-bottom: 0; } }

@media print, screen and (max-width: 63.99875em) { #history .inlineimage img { -o-object-fit: contain; object-fit: contain; -o-object-position: left; object-position: left; width: auto !important; max-height: 500px; } }

#history .bg-bluegray .inlineimage img { border: 5px solid #00060f; }

#history .switch .switch-paddle { background: #89a5fa; }

#history .switch input:checked ~ .switch-paddle { background: #01112a; }

#history .switch label, #history .switch label:after { border-radius: 25px !important; }

#companyGrid { margin-top: 1.875rem; }

@media print, screen and (min-width: 40em) { #companyGrid { margin-top: 3.125rem; } }

@media print, screen and (min-width: 64em) { #companyGrid { margin-top: 5rem; } }

@media print, screen and (min-width: 75em) { #companyGrid { margin-top: 6.25rem; } }

@media print, screen and (min-width: 75em) { #companyGrid { margin-top: 1.40625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid { margin-top: 2.34375rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid { margin-top: 3.75rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid { margin-top: 4.6875rem; } }

#companyGrid .cell { position: relative; margin-bottom: 1.875rem; padding-left: 0.9375rem; padding-right: 0.9375rem; }

@media print, screen and (min-width: 40em) { #companyGrid .cell { margin-bottom: 3.125rem; } }

@media print, screen and (min-width: 64em) { #companyGrid .cell { margin-bottom: 5rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .cell { margin-bottom: 6.25rem; } }

@media print, screen and (min-width: 40em) { #companyGrid .cell { padding-left: 1.5625rem; padding-right: 1.5625rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .cell { padding-left: 3.125rem; padding-right: 3.125rem; } }

@media screen and (min-width: 120em) { #companyGrid .cell { padding-left: 6.25rem; padding-right: 6.25rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .cell { 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; padding-left: 0.46875rem; padding-right: 0.46875rem; margin-bottom: 0.46875rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .cell { padding-left: 0.78125rem; padding-right: 0.78125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .cell { padding-left: 1.5625rem; padding-right: 1.5625rem; } }

@media screen and (min-width: 75em) and (min-width: 120em) { #companyGrid .cell { padding-left: 3.125rem; padding-right: 3.125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .cell { margin-bottom: 0.78125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid .cell { margin-bottom: 1.25rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .cell { margin-bottom: 1.5625rem; } }

@media screen and (min-width: 90em) { #companyGrid .cell { padding-left: 0.70313rem; padding-right: 0.70313rem; } }

@media screen and (min-width: 90em) and (min-width: 40em) { #companyGrid .cell { padding-left: 1.17188rem; padding-right: 1.17188rem; } }

@media screen and (min-width: 90em) and (min-width: 75em) { #companyGrid .cell { padding-left: 2.34375rem; padding-right: 2.34375rem; } }

@media screen and (min-width: 90em) and (min-width: 120em) { #companyGrid .cell { padding-left: 4.6875rem; padding-right: 4.6875rem; } }

#companyGrid .cell a { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-transition: all 0.4s ease; transition: all 0.4s ease; }

#companyGrid .cell a:hover { -webkit-transform: scale(1.05); transform: scale(1.05); opacity: 0.8; }

#companyGrid .cell svg { width: 100%; height: auto; max-width: 350px; }

@media print, screen and (min-width: 64em) { #companyGrid .cell svg { max-width: 400px; } }

#companyGrid .gmbh { margin-bottom: 2.8125rem; }

@media print, screen and (min-width: 40em) { #companyGrid .gmbh { margin-bottom: 4.6875rem; } }

@media print, screen and (min-width: 64em) { #companyGrid .gmbh { margin-bottom: 7.5rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .gmbh { margin-bottom: 9.375rem; } }

@media print, screen and (min-width: 40em) { #companyGrid .gmbh { margin-bottom: 1.40625rem; } }

@media print, screen and (min-width: 40em) and (min-width: 40em) { #companyGrid .gmbh { margin-bottom: 2.34375rem; } }

@media print, screen and (min-width: 40em) and (min-width: 64em) { #companyGrid .gmbh { margin-bottom: 3.75rem; } }

@media print, screen and (min-width: 40em) and (min-width: 75em) { #companyGrid .gmbh { margin-bottom: 4.6875rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .gmbh { margin-right: 25%; margin-bottom: 1.40625rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .gmbh { margin-bottom: 2.34375rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid .gmbh { margin-bottom: 3.75rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .gmbh { margin-bottom: 4.6875rem; } }

#companyGrid .gmbh svg { margin-bottom: 3%; max-width: 500px; }

@media print, screen and (min-width: 75em) { #companyGrid .gmbh svg { max-width: 600px; width: 25vw; } }

@media print, screen and (min-width: 75em) { #companyGrid .sport { margin-top: 0.46875rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .sport { margin-top: 0.78125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid .sport { margin-top: 1.25rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .sport { margin-top: 1.5625rem; } }

@media screen and (min-width: 90em) { #companyGrid .sport { margin-top: 0.70313rem; } }

@media screen and (min-width: 90em) and (min-width: 40em) { #companyGrid .sport { margin-top: 1.17188rem; } }

@media screen and (min-width: 90em) and (min-width: 64em) { #companyGrid .sport { margin-top: 1.875rem; } }

@media screen and (min-width: 90em) and (min-width: 75em) { #companyGrid .sport { margin-top: 2.34375rem; } }

@media screen and (min-width: 31.25em) { #companyGrid .metal, #companyGrid .bridge, #companyGrid .sewer, #companyGrid .sport { width: 50%; } }

@media print, screen and (min-width: 75em) { #companyGrid .metal, #companyGrid .bridge, #companyGrid .sewer, #companyGrid .sport { width: 33.3333%; } }

@media print, screen and (min-width: 75em) { #companyGrid .gmbh:after, #companyGrid .metal:after { content: ""; display: block; position: absolute; height: 0; top: auto; bottom: 0; left: 50%; border-left: 1px solid #001943; -webkit-transform: translate(-50%, 100%); transform: translate(-50%, 100%); padding-bottom: 1.3125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 2.1875rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 3.5rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 4.375rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .metal:after { -webkit-transform: translate(-50%, 90%); transform: translate(-50%, 90%); padding-bottom: 1.125rem; } }

@media print, screen and (min-width: 75em) and (min-width: 40em) { #companyGrid .metal:after { padding-bottom: 1.875rem; } }

@media print, screen and (min-width: 75em) and (min-width: 64em) { #companyGrid .metal:after { padding-bottom: 3rem; } }

@media print, screen and (min-width: 75em) and (min-width: 75em) { #companyGrid .metal:after { padding-bottom: 3.75rem; } }

@media print, screen and (min-width: 75em) { #companyGrid .bridge:after, #companyGrid .sewer:after { content: ""; display: block; position: absolute; height: 0; top: 45%; right: 0; left: auto; width: 10%; border-top: 1px solid #001943; -webkit-transform: translateX(50%); transform: translateX(50%); }
  #companyGrid .sewer:after { left: 0; right: auto; -webkit-transform: translateX(-50%); transform: translateX(-50%); } }

@media screen and (min-width: 90em) { #companyGrid .bridge:after, #companyGrid .sewer:after { width: 13%; }
  #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 1.3125rem; } }

@media screen and (min-width: 90em) and (min-width: 40em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 2.1875rem; } }

@media screen and (min-width: 90em) and (min-width: 64em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 3.5rem; } }

@media screen and (min-width: 90em) and (min-width: 75em) { #companyGrid .gmbh:after, #companyGrid .metal:after { padding-bottom: 4.375rem; } }

@media screen and (min-width: 120em) { #companyGrid .bridge:after, #companyGrid .sewer:after { width: 22%; } }

/* #companyGrid { @include breakpoint(large) { border: none; } .align-center-middle { height: 100%; transition: transform 0.3s ease; @include xy-smartgutters( $grid-vertical-gutters, padding, left right, false, 1 ); &:hover { transform: scale(1.05); } @include breakpoint(large) { @include xy-smartgutters( $grid-vertical-gutters, padding, top bottom, false, 0.5 ); @include xy-smartgutters( $grid-vertical-gutters, padding, left right, false, 0.5 ); } @include breakpoint(xlarge) { @include xy-smartgutters( $grid-vertical-gutters, padding, top bottom, false, 0.5 ); } } svg { fill: $logo-blue; width: 100%; height: auto; margin: 5% 0; transform: translateY(5%); @include breakpoint(large) { margin: 0; } } .cell:nth-child(2) svg { transform: translateY(-35%) scale(1.3); } .text-white & { .align-center-middle { border-color: $white; } svg { fill: $white; } } @include breakpoint(medium down) { .cell:nth-child(2) { width: 100% !important; } } @include breakpoint(large) { & .cell { position: relative; } & .cell:nth-child(2) { // @include xy-smartgutters( //   $grid-vertical-gutters, //   margin, //   bottom, //   false, //   1 // ); &:after { content: ""; display: block; position: absolute; height: 0; left: 50%; border-left: 1px solid $logo-blue; border-right: 1px solid $logo-blue; @include xy-smartgutters( $grid-vertical-gutters, padding, bottom, false, 0.6 ); @include xy-smartgutters( $grid-vertical-gutters, margin, top, true, 0.3 ); } } & .cell:nth-child(4) { &:after { content: ""; display: block; position: absolute; height: 0; right: 0; transform: translateX(50%); top: 50%; border-top: 1px solid $logo-blue; border-bottom: 1px solid $logo-blue; @include xy-smartgutters( $grid-vertical-gutters, padding, left, false, 0.5 ); } } & .cell:nth-child(5) { &:after { content: ""; display: block; position: absolute; height: 0; left: 50%; border-left: 1px solid $logo-blue; border-right: 1px solid $logo-blue; @include xy-smartgutters( $grid-vertical-gutters, padding, bottom, false, 0.6 ); @include xy-smartgutters( $grid-vertical-gutters, margin, top, true, 0.3 ); } } & .cell:nth-child(6) { &:after { content: ""; display: block; position: absolute; height: 0; left: 0; transform: translateX(-50%); top: 50%; border-top: 1px solid $logo-blue; border-bottom: 1px solid $logo-blue; @include xy-smartgutters( $grid-vertical-gutters, padding, left, false, 0.5 ); } } & .cell:nth-child(8) { // @include xy-smartgutters($grid-vertical-gutters, margin, top, false, 1); } & .cell:nth-child(3n + 1) div { // margin-right: -2px; // @include xy-smartgutters( //   $grid-vertical-gutters, //   margin, //   left right, //   false, //   0.5 // ); } & .cell:nth-child(3n + 3) div { margin-left: -2px; // @include xy-smartgutters( //   $grid-vertical-gutters, //   margin, //   left right, //   false, //   0.5 // ); } & .cell:nth-child(2) div { margin-top: 2px; } & .cell:nth-child(8) div { margin-top: -2px; // @include xy-smartgutters( //   $grid-vertical-gutters, //   margin, //   left right, //   false, //   0.5 // ); } & .cell:nth-child(5) div { // @include xy-smartgutters( //   $grid-vertical-gutters, //   margin, //   left right, //   false, //   0.5 // ); } } } */
@media print, screen and (max-width: 39.99875em) { :root { --x-spacing: 15px; --y-spacing: 15px; } }

@media print, screen and (min-width: 40em) { :root { --x-spacing: 25px; --y-spacing: 25px; } }

@media print, screen and (min-width: 64em) { :root { --x-spacing: ; --y-spacing: ; } }

@media print, screen and (min-width: 75em) { :root { --x-spacing: 50px; --y-spacing: 50px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsImdsb2JhbC9fdmFycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsImdsb2JhbC9fbWl4aW5zLnNjc3MiLCJnbG9iYWwvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX3VpLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tZWRpYS5zY3NzIiwiY29tcG9uZW50cy9fbGlzdHMuc2NzcyIsImNvbXBvbmVudHMvX2FjY29yZGlvbnMuc2NzcyIsImNvbXBvbmVudHMvX3RleHRpbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fcGFnZXMuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBhbnlncmlkLnNjc3MiLCJhcHAuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNnRWhCLDhIQUFZO0FDaEVaLDhGQUFBO0FDbUxRLDZDQ3RJTixzREFDRSxXQUFXLEVBQ1gsVUFBVSxFQUNWLGNBQWMsRUFBQSxFQUNmOztBQzlDRCwyRUFBQTtBQVFBLE9BQ0UsaUJBQWlCLEVBQ2pC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QUF5QixFQUFBOztBQUczQixhQUNFLHdCQUF3QixFQUFBOztBTnRKNUIsb1BTakJFLGNBQWMsRUFDZCw4QkFBc0IsRUFBdEIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxpQkFMc0osRUFNdEosZ0JDRzhELEVERjlELGVSbVlpQyxFUWpZakMseUJSWm1CLEVRYW5CLGdCUktlLEVRSmYseUJSVmEsRVFXYix5RFJiYSxFUWFiLGlEUmJhLEVRZWIsb0JSbVh5QixFUWxYekIsZUNOOEQsRURPOUQsZ0JSSHdCLEVRSXhCLGdCUjdCcUIsRVE4QnJCLGNSbkJhLEVRc0JYLDJFUnlYOEQsRVF6WDlELG1FUnlYOEQsRVF6WDlELDJEUnlYOEQsRVF6WDlELG9GUnlYOEQsRVFwVzlELHdCQUFnQixFQUFoQixxQkFBZ0IsRUFBaEIsZ0JBQWdCLEVBQUE7O0FUckJwQiw4VVNLSSxhQUFhLEVBQ2IseUJSN0JlLEVROEJmLHlCUjNCVyxFUTRCWCxtQ1JoQ2lCLEVRZ0NqQiwyQlJoQ2lCLEVRbUNmLDJFUjhXNEQsRVE5VzVELG1FUjhXNEQsRVE5VzVELDJEUjhXNEQsRVE5VzVELG9GUjhXNEQsRUFBQTs7QUlqUmhFLFdJOUVFLGVBQWUsRUFBQTs7QUFEakIsaUJBSUksWUFBWSxFQUFBOztBQUloQix5RUFLSSx5QlIvRGMsRVFnRWQsbUJSaVY2QixFQUFBOztBRGhYbkMsbUNTc0NJLHdCQUFnQixFQUFoQixxQkFBZ0IsRUFBaEIsZ0JBQWdCLEVBQ2hCLGdCUnJEYSxFQUFBOztBUXlEZix1QkFDRSw4QkFBc0IsRUFBdEIsc0JBQXNCLEVBQUE7O0FBaUJ4Qiw4QkFDRSxjUjlGaUIsRUFBQTs7QVE2Rm5CLHFCQUNFLGNSOUZpQixFQUFBOztBUTZGbkIseUJBQ0UsY1I5RmlCLEVBQUE7O0FRNkZuQiwwQkFDRSxjUjlGaUIsRUFBQTs7QVE2Rm5CLGdCQUNFLGNSOUZpQixFQUFBOztBRHNDckIsbURXNUdJLGdCRGtGNEQsRUFBQTs7QVY0QmhFLG9EV3hHSSxxQkFBcUIsRUFDckIsd0JBQXdCLEVBRXhCLG1CQUFrRCxFQUNsRCxrQkR3RTRELEVDdkU1RCxnQkFBZ0IsRUFBQTs7QVhxR3BCLDhEV2xHTSxlQUFlLEVBQUE7O0FBS25CLG9EQUVFLG9CQUFtRCxFQUFBOztBWCtGdkQsZ0JXMUZJLFdBQVcsRUFBQTs7QUNLYixRQWxCQSxjQUFjLEVBQ2QsU0FBUyxFQUVULG1CRmtFOEQsRUVqRTlELGdCWHFFd0IsRVdwRXhCLGdCWGtiMEIsRVdqYjFCLGNYcURhLEVBQUE7O0FXekNiLGVBTkEsZ0JGeUQ4RCxFRXhEOUQsZ0JYbUNxQixFV2xDckIsb0JBQWdFLEVBQUE7O0FDbEJoRSxhQUdFLG1CQUZ1QyxFQUd2QyxvQkhxRTRELEVHcEU1RCxrQlo4YXdCLEVZN2F4QixjWnlEVyxFQUFBOztBYTFEYixlQUNFLG9CQUFpQyxFQUFqQyxvQkFBaUMsRUFBakMsYUFBaUMsRUFDakMsV0FBVyxFQUNYLG1CSmlFNEQsRUk5RDFELDBCQUFvQixFQUFwQix1QkFBb0IsRUFBcEIsb0JBQW9CLEVBQUE7O0FBTnhCLGtGQVdNLHNCYitEUyxFQUFBOztBYTFFZixnRkFpQk0sc0JBQWlILEVBQUE7O0FBS3ZILHVLQUNFLFNBQVMsRUFDVCxtQkFBbUIsRUFBQTs7QUFRckIscUJBRUUsZWJnWnVCLEVhL1l2Qix5QmJxQmlCLEVhcEJqQixtQmJtQmdCLEVhakJoQixjYm9CVyxFYW5CWCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBR2pCLG9CQUFhLEVBQWIsb0JBQWEsRUFBYixhQUFhLEVBQ2IsbUJBQWMsRUFBZCxrQkFBYyxFQUFkLGNBQWMsRUFDZCx5QkFBbUIsRUFBbkIsc0JBQW1CLEVBQW5CLG1CQUFtQixFQUFBOztBQWJ2QixpQ0FzQk0sZUFBaUMsRUFBQTs7QUF0QnZDLGdDQTBCTSxjQUFnQyxFQUFBOztBQUt0QyxxQkFFRSxnQkFBZ0IsRUFHZCxtQkFBYSxFQUFiLGlCQUFhLEVBQWIsYUFBYSxFQUNiLFlBQVksRUFBQTs7QUFJaEIsc0JBRUUsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixrQkFBa0IsRUFHaEIsb0JBQWEsRUFBYixvQkFBYSxFQUFiLGFBQWEsRUFDYixtQkFBYyxFQUFkLGtCQUFjLEVBQWQsY0FBYyxFQUFBOztBQVJsQiwwR0FzQk0sNEJBQW1CLEVBQW5CLG1CQUFtQixFQUNuQixZQUFZLEVBS2QsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixlSm5DMEQsRUFBQTs7QUwwRjlELFdVakpFLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUFBOztBVndKWCxTVXBKRSxlQUFlLEVBQ2YscUJBQWtDLEVBQUE7O0FBR3BDLFlBeEJBLGtCTDBFVyxFS3pFWCxnQkxvRThELEVLbkU5RCx5QmR1RG1CLEVBQUE7O0FjckRuQixtQkFFRSxTQUFTLEVBQ1QsdUJMOEQ0RCxFSzdENUQsb0JMNkQ0RCxFQUFBOztBSjhHOUQsU1VyTEEsaUJBRnNKLEVBR3RKLGdCTnNFOEQsRU1yRTlELGVmc2NpQyxFZXBjakMsd0JBQWdCLEVBQWhCLHFCQUFnQixFQUFoQixnQkFBZ0IsRUFDaEIseUJmc0RtQixFZXJEbkIsZ0JmdUVlLEVldEVmLHlCZndEYSxFZXREYixvQmZzYnlCLEVlcmJ6QixlTjZEOEQsRU01RDlELGdCZmdFd0IsRWUvRHhCLGdCZnNDcUIsRWVyQ3JCLGNmZ0RhLEVPa0ViLHdPQUF5TixFUTlHdk4sOEJBQThCLEVBQzlCLHVDQUEwRCxFQUMxRCw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBRXhCLHFCQUF1RCxFQUl2RCwyRWZrYjhELEVlbGI5RCxtRWZrYjhELEVlbGI5RCwyRGZrYjhELEVlbGI5RCxvRmZrYjhELEVBQUE7O0FPM1VoRSxxQ0ZvREEsU0VqREksdVdBQXVXLEVBQUEsRVFuRTFXOztBQW5DRCxlQUNFLGFBQWEsRUFDYix5QmY0QmUsRWUzQmYseUJmOEJXLEVlN0JYLG1DZnlCaUIsRWV6QmpCLDJCZnlCaUIsRWV0QmYsMkVmdWE0RCxFZXZhNUQsbUVmdWE0RCxFZXZhNUQsMkRmdWE0RCxFZXZhNUQsb0ZmdWE0RCxFQUFBOztBZWxhaEUsa0JBQ0UseUJmZWdCLEVlZGhCLG1CZitaK0IsRUFBQTs7QWUzWmpDLHFCQUNFLGFBQWEsRUFBQTs7QUFHZixtQkFDRSxZQUFZLEVBQ1osc0JBQXNCLEVBQUE7O0FBRXhCLHlCQUNFLGNBQWMsRUFDZCxpQkFBaUIsRUFBQTs7QUNyQ25CLGdDQUNFLHFCaEJrQ1ksRWdCakNaLHlCQUErRCxFQUFBOztBQUUvRCwyREFDRSxjaEI4QlUsRUFBQTs7QWdCL0JaLGtEQUNFLGNoQjhCVSxFQUFBOztBZ0IvQlosc0RBQ0UsY2hCOEJVLEVBQUE7O0FnQi9CWix1REFDRSxjaEI4QlUsRUFBQTs7QWdCL0JaLDZDQUNFLGNoQjhCVSxFQUFBOztBZ0JKWixvQkFDRSxjaEJHVSxFQUFBOztBZ0JFZCxjQXpCQSxhQUFhLEVBQ2IsbUJBQWdDLEVBQ2hDLG1CUG9DOEQsRU9sQzlELGtCUGtDOEQsRU9qQzlELGdCaEJzQ3NCLEVnQnJDdEIsY2hCaUJjLEVBQUE7O0FnQkVkLHlCQUlJLGNBQWMsRUFBQTs7QUM4SWxCLHdGQW1CRSxTQUFTLEVBQ1QsVUFBVSxFQUFBOztBQUlaLElBQ0UsbUJqQnJFMEIsRWlCdUUxQixrQkFBa0IsRUFDbEIsZ0JqQnpFc0IsRWlCMEV0QixrQ2pCeEV5QyxFQUFBOztBaUI0RTNDLFFBRUUsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUFBOztBQUl0QixZQUVFLGdCakIxS29CLEVpQjJLcEIsb0JBQW9CLEVBQUE7O0Fickx0QixRYTBMRSxjakIvRmlCLEVpQmdHakIsb0JBQW9CLEVBQUE7O0FBSXRCLHVEQU1FLHNDakJsTXdDLEVpQm1NeEMsa0JqQnZJc0IsRWlCd0l0QixnQmpCOUxzQixFaUIrTHRCLGNqQnZJa0IsRWlCd0lsQixrQ2pCL0dzQyxFQUFBOztBaUJxR3hDLCtIQWFJLGNBQWMsRUFDZCxjakJwTmUsRUFBQTs7QWlCNk5iLFVBSUksZVJyTm9ELEVRaU9wRCxnQmpCcEtXLEVpQjRLWCxhQUFhLEVBT2IscUJqQmxMaUIsRUFBQTs7QWlCbUpyQixVQUlJLGtCUnJOb0QsRVFpT3BELGdCakJwS1csRWlCNEtYLGFBQWEsRUFPYixxQmpCbExpQixFQUFBOztBaUJtSnJCLFVBSUksaUJSck5vRCxFUWlPcEQsZ0JqQnBLVyxFaUI0S1gsYUFBYSxFQU9iLHFCakJsTGlCLEVBQUE7O0FpQm1KckIsVUFJSSxrQlJyTm9ELEVRaU9wRCxnQmpCcEtXLEVpQjRLWCxhQUFhLEVBT2IscUJqQmxMaUIsRUFBQTs7QWlCbUpyQixVQUlJLG1CUnJOb0QsRVFpT3BELGdCakJwS1csRWlCNEtYLGFBQWEsRUFPYixxQmpCbExpQixFQUFBOztBaUJtSnJCLFVBSUksZVJyTm9ELEVRaU9wRCxnQmpCcEtXLEVpQjRLWCxhQUFhLEVBT2IscUJqQmxMaUIsRUFBQTs7QUlsRzNCLElhNlJFLG9CQUFvQixFQUNwQixjakI3UWMsRWlCOFFkLHFCakI3SnlCLEVpQitKekIsZUFBZSxFQUFBOztBQUxqQixtQkFTSSxjakJwSzJELEVBQUE7O0FpQjJKL0QsUUFnQkksU0FBUyxFQUFBOztBYi9UYixLYXFVRSxXQUFXLEVBRVgsZWpCdFNlLEVpQnVTZixTQUFTLEVBQ1Qsb0JqQmhMeUIsRWlCa0x6QixhQUFhLEVBQ2IsZUFBZSxFQUNmLGdDakJsU2lCLEVpQm1TakIsY0FBYyxFQUFBOztBQUloQixhQUdFLG1CakJyTTBCLEVpQnNNMUIsNEJqQnpMeUIsRWlCMEx6QixnQmpCeE1zQixFQUFBOztBaUI0TXhCLEtBQ0Usa0JBQWtCLEVBQUE7O0FBSXBCLEtBQ0Usb0JqQm5Nc0IsRWlCb010QixxQmpCdE1rQixFQUFBOztBaUIwTXBCLEtBQ0Usb0JqQnpNc0IsRUFBQTs7QWlCNk14Qiw2QkFFSSxvQmpCOU0yQixFaUIrTTNCLGdCQUFnQixFQUFBOztBQUtwQixLQUNFLG1CakJwTnlCLEVBQUE7O0FpQm1OM0IsUUFJSSxxQmpCck44QixFaUJzTjlCLGdCakI1VGtCLEVBQUE7O0FpQmlVdEIsYUFDRSxnQmpCOU8wQixFaUIrTzFCLHNDUnhVNEQsRVF5VTVELDhCakJyVmlCLEVBQUE7O0FpQmtWbkIsMkJBTUksZ0JqQnBQb0IsRWlCcVBwQixjakJ4VmEsRUFBQTs7QWlCc1dqQixvQkFDRSxpQ2pCdFdXLEVpQnVXWCxZQUFZLEVBQ1oscUJBQXFCLEVBQUE7O0FBSXZCLFNB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LFdBM0ZZLEVBQUE7RUhOWiwwUkdzREYsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSGhERiwyQkcyRkYsV0EzRlksRUFBQTtFSFNWLHNCR2tGRixlQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLFVDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsVUM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixVQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLFdDNUJnRSxFQUFBLEVKbkQ3RDs7QW5CcUZDLDZDbUI1R0Ysd0JHMkRKLG1CQUFNLEVBQU4saUJBQU0sRUFBTixXQUFNLEVBMkNKLFdBM0ZZLEVBQUE7RUhOWiw2UUdzREYsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSGhERiwwQkcyRkYsV0EzRlksRUFBQTtFSFNWLHFCR2tGRixlQzVCZ0UsRUFBQTtFSnREOUQscUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQscUJHa0ZGLFVDNUJnRSxFQUFBO0VKdEQ5RCxxQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxxQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxxQkdrRkYsVUM1QmdFLEVBQUE7RUp0RDlELHFCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHFCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHFCR2tGRixVQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLFdDNUJnRSxFQUFBLEVKbkQ3RDs7QW5CcUZDLDZDbUI1R0YseUJHMkRKLG1CQUFNLEVBQU4saUJBQU0sRUFBTixXQUFNLEVBMkNKLFdBM0ZZLEVBQUE7RUhOWiwwUkdzREYsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSGhERiwyQkcyRkYsV0EzRlksRUFBQTtFSFNWLHNCR2tGRixlQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsc0JHa0ZGLFVDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCxzQkdrRkYsVUM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHNCR2tGRixVQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLFdDNUJnRSxFQUFBLEVKbkQ3RDs7QW5CMEZDLHNDbUJqSEYsMEJHMkRKLG1CQUFNLEVBQU4saUJBQU0sRUFBTixXQUFNLEVBMkNKLFdBM0ZZLEVBQUE7RUhOWix1U0dzREYsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSGhERiw0QkcyRkYsV0EzRlksRUFBQTtFSFNWLHVCR2tGRixlQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsdUJHa0ZGLFVDNUJnRSxFQUFBO0VKdEQ5RCx1QkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCx1QkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCx1QkdrRkYsVUM1QmdFLEVBQUE7RUp0RDlELHVCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHVCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHVCR2tGRixVQzVCZ0UsRUFBQTtFSnREOUQsd0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsd0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsd0JHa0ZGLFdDNUJnRSxFQUFBLEVKbkQ3RDs7QW5CMEZDLHVDbUJqSEYsMkJHMkRKLG1CQUFNLEVBQU4saUJBQU0sRUFBTixXQUFNLEVBMkNKLFdBM0ZZLEVBQUE7RUhOWixvVEdzREYsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSGhERiw2QkcyRkYsV0EzRlksRUFBQTtFSFNWLHdCR2tGRixlQzVCZ0UsRUFBQTtFSnREOUQsd0JHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQsd0JHa0ZGLFVDNUJnRSxFQUFBO0VKdEQ5RCx3QkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCx3QkdrRkYsZ0JDNUJnRSxFQUFBO0VKdEQ5RCx3QkdrRkYsVUM1QmdFLEVBQUE7RUp0RDlELHdCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHdCR2tGRixnQkM1QmdFLEVBQUE7RUp0RDlELHdCR2tGRixVQzVCZ0UsRUFBQTtFSnREOUQseUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQseUJHa0ZGLGdCQzVCZ0UsRUFBQTtFSnREOUQseUJHa0ZGLFdDNUJnRSxFQUFBLEVKbkQ3RDs7QUFLTCxzQ0FDRSxXQUFXLEVBQUE7O0FBSWIsc0NBQ0UsWUFBWSxFQUFBOztBQThCZCxpQkN2R00sd0JBQTZELEVBQTdELHlCQUE2RCxFQUFBOztBcEJtSjdELDZDbUI1Q04saUJDdkdNLHdCQUE2RCxFQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7O0FuQmFLLDZDbUI1Q04saUJDdkdNLHVCQUE2RCxFQUE3RCx3QkFBNkQsRUFBQSxFRHNJbEU7O0FuQmtCSyx1Q21CakROLGlCQ3ZHTSxzQkFBNkQsRUFBN0QsdUJBQTZELEVBQUEsRURzSWxFOztBQS9CRCx5QkdzQ0UsNkJBdEQwRSxFRjlFeEUsdUJBQTZELEVBQTdELHdCQUE2RCxFQUFBOztBcEIwSTNELDZDbUI1Q04seUJHc0NFLDZCQXREMEUsRUY5RXhFLHVCQUE2RCxFQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7O0FuQitCRCw2Q21CNUNOLHlCR3NDRSw0QkF0RDBFLEVGOUV4RSxzQkFBNkQsRUFBN0QsdUJBQTZELEVBQUEsRUQyRzFEOztBbkJvQ0QsdUNtQmpETix5QkdzQ0UsMkJBdEQwRSxFRjlFeEUscUJBQTZELEVBQTdELHNCQUE2RCxFQUFBLEVEMkcxRDs7QUFyQ1AseUJHOERFLFdBM0ZZLEVBQUE7O0FIaUNkLDJCRzBERSxXQTNGWSxFQUFBOztBSHlDWiw0QkdrREEsaUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsNkJBdEQwRSxFQUFBOztBdEI0RHRFLDZDbUJwRU4seUJHOERFLFdBM0ZZLEVBQUE7RUhpQ2QsMkJHMERFLFdBM0ZZLEVBQUE7RUh5Q1osNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw2QkF0RDBFLEVBQUE7RUhSNUUsZ0NHOERFLFdBM0ZZLEVBQUE7RUhpQ2Qsa0NHMERFLFdBM0ZZLEVBQUE7RUh5Q1osNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw2QkF0RDBFLEVBQUEsRUhNekU7O0FuQnNERyw2Q21CcEVOLCtCRzhERSxXQTNGWSxFQUFBO0VIaUNkLGlDRzBERSxXQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNkJBdEQwRSxFQUFBLEVITXpFOztBbkJzREcsNkNtQnBFTix5Qkc4REUsV0EzRlksRUFBQTtFSGlDZCwyQkcwREUsV0EzRlksRUFBQTtFSHlDWiw0QkdrREEsZ0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSFI1RSxnQ0c4REUsV0EzRlksRUFBQTtFSGlDZCxrQ0cwREUsV0EzRlksRUFBQTtFSHlDWiw2QkdrREEsZ0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDRCQXREMEUsRUFBQTtFSFI1RSwrQkc4REUsV0EzRlksRUFBQTtFSGlDZCxpQ0cwREUsV0EzRlksRUFBQTtFSHlDWiw0QkdrREEsZ0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSFI1RSxnQ0c4REUsV0EzRlksRUFBQTtFSGlDZCxrQ0cwREUsV0EzRlksRUFBQTtFSHlDWiw2QkdrREEsZ0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDJCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDRCQXREMEUsRUFBQSxFSE16RTs7QW5CMkRHLHNDbUJ6RU4saUNHOERFLFdBM0ZZLEVBQUE7RUhpQ2QsbUNHMERFLFdBM0ZZLEVBQUE7RUh5Q1osOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSw0QkF0RDBFLEVBQUEsRUhNekU7O0FuQjJERyx1Q21CekVOLHlCRzhERSxXQTNGWSxFQUFBO0VIaUNkLDJCRzBERSxXQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxXQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxXQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMkJBdEQwRSxFQUFBO0VIUjVFLCtCRzhERSxXQTNGWSxFQUFBO0VIaUNkLGlDRzBERSxXQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxXQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxXQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMkJBdEQwRSxFQUFBO0VIUjVFLGlDRzhERSxXQTNGWSxFQUFBO0VIaUNkLG1DRzBERSxXQTNGWSxFQUFBO0VIeUNaLDhCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsMkJBdEQwRSxFQUFBO0VIUjVFLGtDRzhERSxXQTNGWSxFQUFBO0VIaUNkLG9DRzBERSxXQTNGWSxFQUFBO0VIeUNaLCtCR2tEQSwrQkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsMEJBdEQwRSxFQUFBO0VISTFFLGdDR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsZ0NHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSxnQ0drREEsMkJBdEQwRSxFQUFBLEVITXpFOztBQThDSCxrQ0MzSU0seUJBQTZELEVBQTdELHdCQUE2RCxFQUFBOztBcEJtSjdELDZDbUJSTixrQ0MzSU0seUJBQTZELEVBQTdELHdCQUE2RCxFQUFBLEVEZ0poRTs7QW5CR0csNkNtQlJOLGtDQzNJTSx3QkFBNkQsRUFBN0QsdUJBQTZELEVBQUEsRURnSmhFOztBbkJRRyx1Q21CYk4sa0NDM0lNLHVCQUE2RCxFQUE3RCxzQkFBNkQsRUFBQSxFRGdKaEU7O0FBSUQsK0NDcEpJLHlCQUE2RCxFQUE3RCx3QkFBNkQsRUFBQTs7QXBCbUo3RCw2Q21CQ0osK0NDcEpJLHlCQUE2RCxFQUE3RCx3QkFBNkQsRUFBQSxFRHNKaEU7O0FuQkhHLDZDbUJDSiwrQ0NwSkksd0JBQTZELEVBQTdELHVCQUE2RCxFQUFBLEVEc0poRTs7QW5CRUcsdUNtQkpKLCtDQ3BKSSx1QkFBNkQsRUFBN0Qsc0JBQTZELEVBQUEsRURzSmhFOztBQVhILDBCQzNJTSx5QkFBNkQsRUFBN0Qsd0JBQTZELEVBQUE7O0FwQm1KN0QsNkNtQlJOLDBCQzNJTSx5QkFBNkQsRUFBN0Qsd0JBQTZELEVBQUEsRUQySmhFOztBbkJSRyw2Q21CUk4sMEJDM0lNLHdCQUE2RCxFQUE3RCx1QkFBNkQsRUFBQSxFRDJKaEU7O0FuQkhHLHVDbUJiTiwwQkMzSU0sdUJBQTZELEVBQTdELHNCQUE2RCxFQUFBLEVEMkpoRTs7QUszSkgsc0JGNklFLFdDNUJnRSxFQUFBOztBQ2pIbEUsc0JGNklFLFVDNUJnRSxFQUFBOztBQ2pIbEUsc0JGNklFLGdCQzVCZ0UsRUFBQTs7QUNqSGxFLHNCRjZJRSxVQzVCZ0UsRUFBQTs7QXZCa0M1RCw2Q3dCbkpOLHVCRjZJRSxXQzVCZ0UsRUFBQTtFQ2pIbEUsdUJGNklFLFVDNUJnRSxFQUFBO0VDakhsRSx1QkY2SUUsZ0JDNUJnRSxFQUFBO0VDakhsRSx1QkY2SUUsVUM1QmdFLEVBQUEsRUMvR2pFOztBeEJpSkssNkN3Qm5KTixzQkY2SUUsV0M1QmdFLEVBQUE7RUNqSGxFLHNCRjZJRSxVQzVCZ0UsRUFBQTtFQ2pIbEUsc0JGNklFLGdCQzVCZ0UsRUFBQTtFQ2pIbEUsc0JGNklFLFVDNUJnRSxFQUFBLEVDL0dqRTs7QXhCaUpLLDZDd0JuSk4sdUJGNklFLFdDNUJnRSxFQUFBO0VDakhsRSx1QkY2SUUsVUM1QmdFLEVBQUE7RUNqSGxFLHVCRjZJRSxnQkM1QmdFLEVBQUE7RUNqSGxFLHVCRjZJRSxVQzVCZ0UsRUFBQSxFQy9HakU7O0F4QnNKSyxzQ3dCeEpOLHdCRjZJRSxXQzVCZ0UsRUFBQTtFQ2pIbEUsd0JGNklFLFVDNUJnRSxFQUFBO0VDakhsRSx3QkY2SUUsZ0JDNUJnRSxFQUFBO0VDakhsRSx3QkY2SUUsVUM1QmdFLEVBQUEsRUMvR2pFOztBeEJzSkssdUN3QnhKTix5QkY2SUUsV0M1QmdFLEVBQUE7RUNqSGxFLHlCRjZJRSxVQzVCZ0UsRUFBQTtFQ2pIbEUseUJGNklFLGdCQzVCZ0UsRUFBQTtFQ2pIbEUseUJGNklFLFVDNUJnRSxFQUFBLEVDL0dqRTs7QUFGRCxvQ0Y2SUUsNkJBdEQwRSxFQUFBOztBRXZGNUUsb0NGNklFLDRCQXREMEUsRUFBQTs7QUV2RjVFLG9DRjZJRSxrQ0F0RDBFLEVBQUE7O0FFdkY1RSxvQ0Y2SUUsNEJBdEQwRSxFQUFBOztBdEI0RHRFLDZDd0JuSk4sb0NGNklFLDZCQXREMEUsRUFBQTtFRXZGNUUsb0NGNklFLDRCQXREMEUsRUFBQTtFRXZGNUUsb0NGNklFLGtDQXREMEUsRUFBQTtFRXZGNUUsb0NGNklFLDRCQXREMEUsRUFBQTtFRXZGNUUscUNGNklFLDZCQXREMEUsRUFBQTtFRXZGNUUscUNGNklFLDRCQXREMEUsRUFBQTtFRXZGNUUscUNGNklFLGtDQXREMEUsRUFBQTtFRXZGNUUscUNGNklFLDRCQXREMEUsRUFBQSxFRXJGM0U7O0F4QmlKSyw2Q3dCbkpOLG9DRjZJRSw2QkF0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSw0QkF0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSxrQ0F0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSw0QkF0RDBFLEVBQUEsRUVyRjNFOztBeEJpSkssNkN3Qm5KTixvQ0Y2SUUsNEJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsNEJBdEQwRSxFQUFBO0VFdkY1RSxvQ0Y2SUUsMkJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsMkJBdEQwRSxFQUFBO0VFdkY1RSxvQ0Y2SUUsaUNBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsaUNBdEQwRSxFQUFBO0VFdkY1RSxvQ0Y2SUUsMkJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsMkJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsNEJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsMkJBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsaUNBdEQwRSxFQUFBO0VFdkY1RSxxQ0Y2SUUsMkJBdEQwRSxFQUFBLEVFckYzRTs7QXhCc0pLLHNDd0J4Sk4sc0NGNklFLDRCQXREMEUsRUFBQTtFRXZGNUUsc0NGNklFLDJCQXREMEUsRUFBQTtFRXZGNUUsc0NGNklFLGlDQXREMEUsRUFBQTtFRXZGNUUsc0NGNklFLDJCQXREMEUsRUFBQSxFRXJGM0U7O0F4QnNKSyx1Q3dCeEpOLG9DRjZJRSwyQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwyQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwyQkF0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSxnQ0F0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSxnQ0F0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSxnQ0F0RDBFLEVBQUE7RUV2RjVFLG9DRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHFDRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHVDRjZJRSwyQkF0RDBFLEVBQUE7RUV2RjVFLHVDRjZJRSwwQkF0RDBFLEVBQUE7RUV2RjVFLHVDRjZJRSxnQ0F0RDBFLEVBQUE7RUV2RjVFLHVDRjZJRSwwQkF0RDBFLEVBQUEsRUVyRjNFOztBTHFNRyx5Qk05TUUsZUFBMEIsRUFBMUIsY0FBMEIsRUFBQTs7QUFHNUIsaUNBRUksZUFBMEIsRUFBMUIsY0FBMEIsRUFBQTs7QUFzQnhCLG9DSHlIUixlQzVCZ0UsRUFBQTs7QUU3RnhELG9DSHlIUixnQkM1QmdFLEVBQUE7O0FFN0Z4RCxvQ0h5SFIsVUM1QmdFLEVBQUE7O0FFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBOztBRTdGeEQsb0NIeUhSLGdCQzVCZ0UsRUFBQTs7QUU3RnhELG9DSHlIUixVQzVCZ0UsRUFBQTs7QUU3RnhELG9DSHlIUixnQkM1QmdFLEVBQUE7O0FFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBOztBRTdGeEQsb0NIeUhSLFVDNUJnRSxFQUFBOztBRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTs7QUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7O0FFN0Z4RCxxQ0h5SFIsV0M1QmdFLEVBQUE7O0F2QmtDNUQsNkN5Qi9ISSxxQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QjZITCw2Q3lCL0hJLG9DSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQsb0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsb0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELG9DSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELG9DSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELG9DSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCNkhMLDZDeUIvSEkscUNIeUhSLGVDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsV0M1QmdFLEVBQUEsRUUzRnZEOztBekJrSUwsc0N5QnBJSSxzQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QmtJTCx1Q3lCcElJLHVDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QU51TFAsMEJNN0tFLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUE7O0FBRzVCLGtDQUVJLGdCQUE0QixFQUE1QixlQUE0QixFQUFBOztBekI4RzlCLDZDbUJvREYsMEJNOU1FLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUE7RUFHNUIsa0NBRUksZUFBMEIsRUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpCbUpDLDZDeUJ4SUkscUNIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekJzSUwsNkN5Qi9ISSxzQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QjZITCw2Q3lCL0hJLHFDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCNkhMLDZDeUIvSEksc0NIeUhSLGVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsV0M1QmdFLEVBQUEsRUUzRnZEOztBekJrSUwsc0N5QnBJSSx1Q0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QmtJTCx1Q3lCcElJLHdDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQseUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQseUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQseUNIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCNkhMLDZDbUIwREYsMkJNN0tFLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUE7RUFHNUIsbUNBRUksZ0JBQTRCLEVBQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6QjRHQyw2Q21Cb0RGLHlCTTlNRSxlQUEwQixFQUExQixjQUEwQixFQUFBO0VBRzVCLGlDQUVJLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6Qm1KQyw2Q3lCeElJLG9DSGtJUixlQzVCZ0UsRUFBQTtFRXRHeEQsb0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsb0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxvQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxvQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxvQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELG9DSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELG9DSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELG9DSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLFdDNUJnRSxFQUFBLEVFcEd2RDs7QXpCc0lMLDZDeUJ4SUkscUNIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekJzSUwsNkN5Qi9ISSxvQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELG9DSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELG9DSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsb0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsb0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsb0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxvQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QjZITCw2Q3lCL0hJLHFDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQscUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxxQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHFDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCa0lMLHNDeUJwSUksc0NIeUhSLGVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsV0M1QmdFLEVBQUEsRUUzRnZEOztBekJrSUwsdUN5QnBJSSx1Q0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QjZITCw2Q21CMERGLDBCTTdLRSxlQUEwQixFQUExQixjQUEwQixFQUFBO0VBRzVCLGtDQUVJLGdCQUE0QixFQUE1QixlQUE0QixFQUFBLEVBRS9COztBekI0R0MsNkNtQm9ERiwwQk05TUUsZUFBMEIsRUFBMUIsY0FBMEIsRUFBQTtFQUc1QixrQ0FFSSxlQUEwQixFQUExQixjQUEwQixFQUFBLEVBRTdCOztBekJtSkMsNkN5QnhJSSxxQ0hrSVIsZUM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixXQzVCZ0UsRUFBQSxFRXBHdkQ7O0F6QnNJTCw2Q3lCeElJLHNDSGtJUixlQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFdDNUJnRSxFQUFBLEVFcEd2RDs7QXpCc0lMLDZDeUJ4SUkscUNIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxxQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHFDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQscUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekJzSUwsNkN5Qi9ISSxzQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHNDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsc0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCxzQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QmtJTCxzQ3lCcElJLHVDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsdUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx1Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHVDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCa0lMLHVDeUJwSUksd0NIeUhSLGVDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsV0M1QmdFLEVBQUEsRUUzRnZEOztBekI2SEwsNkNtQjBERiwyQk03S0UsZUFBMEIsRUFBMUIsY0FBMEIsRUFBQTtFQUc1QixtQ0FFSSxnQkFBNEIsRUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpCaUhDLHNDbUIrQ0YsMkJNOU1FLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUE7RUFHNUIsbUNBRUksZUFBMEIsRUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpCd0pDLHNDeUI3SUksc0NIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekIySUwsc0N5QjdJSSx1Q0hrSVIsZUM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixXQzVCZ0UsRUFBQSxFRXBHdkQ7O0F6QjJJTCxzQ3lCN0lJLHNDSGtJUixlQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsc0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCxzQ0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHNDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFdDNUJnRSxFQUFBLEVFcEd2RDs7QXpCMklMLHNDeUI3SUksdUNIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekIySUwsc0N5QnBJSSx3Q0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHdDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsd0NIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx3Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QmtJTCx1Q3lCcElJLHlDSHlIUixlQzVCZ0UsRUFBQTtFRTdGeEQseUNIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQseUNIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCx5Q0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELHlDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLFdDNUJnRSxFQUFBLEVFM0Z2RDs7QXpCa0lMLHNDbUJxREYsNEJNN0tFLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUE7RUFHNUIsb0NBRUksZ0JBQTRCLEVBQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6QmlIQyx1Q21CK0NGLDRCTTlNRSxlQUEwQixFQUExQixjQUEwQixFQUFBO0VBRzVCLG9DQUVJLGVBQTBCLEVBQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6QndKQyx1Q3lCN0lJLHVDSGtJUixlQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLFdDNUJnRSxFQUFBLEVFcEd2RDs7QXpCMklMLHVDeUI3SUksd0NIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx5Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx5Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx5Q0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekIySUwsdUN5QjdJSSx1Q0hrSVIsZUM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHVDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsdUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx1Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixXQzVCZ0UsRUFBQSxFRXBHdkQ7O0F6QjJJTCx1Q3lCN0lJLHdDSGtJUixlQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQsd0NIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx3Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHdDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLFdDNUJnRSxFQUFBLEVFcEd2RDs7QXpCMklMLHVDeUI3SUkseUNIa0lSLGVDNUJnRSxFQUFBO0VFdEd4RCx5Q0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCx5Q0hrSVIsVUM1QmdFLEVBQUE7RUV0R3hELHlDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHlDSGtJUixnQkM1QmdFLEVBQUE7RUV0R3hELHlDSGtJUixVQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLGdCQzVCZ0UsRUFBQTtFRXRHeEQseUNIa0lSLFVDNUJnRSxFQUFBO0VFdEd4RCwwQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCwwQ0hrSVIsZ0JDNUJnRSxFQUFBO0VFdEd4RCwwQ0hrSVIsV0M1QmdFLEVBQUEsRUVwR3ZEOztBekIySUwsdUN5QnBJSSwwQ0h5SFIsZUM1QmdFLEVBQUE7RUU3RnhELDBDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELDBDSHlIUixVQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLGdCQzVCZ0UsRUFBQTtFRTdGeEQsMENIeUhSLFVDNUJnRSxFQUFBO0VFN0Z4RCwwQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCwwQ0h5SFIsZ0JDNUJnRSxFQUFBO0VFN0Z4RCwwQ0h5SFIsVUM1QmdFLEVBQUE7RUU3RnhELDJDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELDJDSHlIUixnQkM1QmdFLEVBQUE7RUU3RnhELDJDSHlIUixXQzVCZ0UsRUFBQSxFRTNGdkQ7O0F6QmtJTCx1Q21CcURGLDZCTTdLRSxlQUEwQixFQUExQixjQUEwQixFQUFBO0VBRzVCLHFDQUVJLGdCQUE0QixFQUE1QixlQUE0QixFQUFBLEVBRS9COztBTm9MRCxrQk9uTUYsZUFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRixxQ0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixxQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiwyQ0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixnQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRixzQ0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixnQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRixzQ0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLGtCT25NRixnQkFBNkIsRUFBQTs7QVB1TTNCLG1DT3ZNRixzQ0FBNkIsRUFBQTs7QVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQTs7QVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTs7QVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQTs7QTFCMkh6Qiw2Q21Cd0VGLG1CT25NRixlQUE2QixFQUFBO0VQdU0zQixvQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixxQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLG9CT25NRixzQkFBNkIsRUFBQTtFUHVNM0IscUNPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixvQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLHFDT3ZNRiw0Q0FBNkIsRUFBQSxFUHlNMUI7O0FuQjlFQyw2Q21Cd0VGLGtCT25NRixlQUE2QixFQUFBO0VQdU0zQixtQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLGtCT25NRixxQkFBNkIsRUFBQTtFUHVNM0IsbUNPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixrQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0Isa0JPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixtQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTtFUHVNM0IsbUNPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixrQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0Isa0JPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixtQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLGtCT25NRixzQkFBNkIsRUFBQTtFUHVNM0IsbUNPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixrQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG1DT3ZNRiw0Q0FBNkIsRUFBQTtFUG1NM0Isa0JPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixtQ092TUYsc0NBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDRDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiw0Q0FBNkIsRUFBQSxFUHlNMUI7O0FuQjlFQyw2Q21Cd0VGLG1CT25NRixlQUE2QixFQUFBO0VQdU0zQixvQ092TUYsb0NBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixxQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDBDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiwyQ0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiwyQ0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG1CT25NRixzQkFBNkIsRUFBQTtFUHVNM0Isb0NPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixtQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLG9DT3ZNRiwyQ0FBNkIsRUFBQTtFUG1NM0IsbUJPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixvQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG9CT25NRixzQkFBNkIsRUFBQTtFUHVNM0IscUNPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixvQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLHFDT3ZNRiwyQ0FBNkIsRUFBQSxFUHlNMUI7O0FuQnpFQyxzQ21CbUVGLG9CT25NRixlQUE2QixFQUFBO0VQdU0zQixxQ092TUYsb0NBQTZCLEVBQUE7RVBtTTNCLG9CT25NRixxQkFBNkIsRUFBQTtFUHVNM0IscUNPdk1GLDBDQUE2QixFQUFBO0VQbU0zQixvQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLHFDT3ZNRiwyQ0FBNkIsRUFBQTtFUG1NM0Isb0JPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixxQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG9CT25NRixzQkFBNkIsRUFBQTtFUHVNM0IscUNPdk1GLDJDQUE2QixFQUFBO0VQbU0zQixvQk9uTUYsc0JBQTZCLEVBQUE7RVB1TTNCLHFDT3ZNRiwyQ0FBNkIsRUFBQTtFUG1NM0Isb0JPbk1GLGdCQUE2QixFQUFBO0VQdU0zQixxQ092TUYscUNBQTZCLEVBQUE7RVBtTTNCLG9CT25NRixzQkFBNkIsRUFBQTtFUHVNM0IscUNPdk1GLDJDQUE2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QTtFSCtMZCwwUkcvSUEsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSCtJTiwyQkdwR0UsWUEzRlksRUFBQTtFSCtMZCxzQkdwR0UsZ0JDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsV0M1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxXQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLFdDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsWUM1QmdFLEVBQUEsRUp5TDNEOztBbkJ2SkQsNkNtQjhGTix3QkcvSUEsbUJBQU0sRUFBTixpQkFBTSxFQUFOLFdBQU0sRUEyQ0osWUEzRlksRUFBQTtFSCtMZCw2UUcvSUEsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSCtJTiwwQkdwR0UsWUEzRlksRUFBQTtFSCtMZCxxQkdwR0UsZ0JDNUJnRSxFQUFBO0VKZ0lsRSxxQkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSxxQkdwR0UsV0M1QmdFLEVBQUE7RUpnSWxFLHFCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHFCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHFCR3BHRSxXQzVCZ0UsRUFBQTtFSmdJbEUscUJHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUscUJHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUscUJHcEdFLFdDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsWUM1QmdFLEVBQUEsRUp5TDNEOztBbkJ2SkQsNkNtQjhGTix5QkcvSUEsbUJBQU0sRUFBTixpQkFBTSxFQUFOLFdBQU0sRUEyQ0osWUEzRlksRUFBQTtFSCtMZCwwUkcvSUEsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSCtJTiwyQkdwR0UsWUEzRlksRUFBQTtFSCtMZCxzQkdwR0UsZ0JDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSxzQkdwR0UsV0M1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHNCR3BHRSxXQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsc0JHcEdFLFdDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsWUM1QmdFLEVBQUEsRUp5TDNEOztBbkJsSkQsc0NtQnlGTiwwQkcvSUEsbUJBQU0sRUFBTixpQkFBTSxFQUFOLFdBQU0sRUEyQ0osWUEzRlksRUFBQTtFSCtMZCx1U0cvSUEsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSCtJTiw0QkdwR0UsWUEzRlksRUFBQTtFSCtMZCx1QkdwR0UsZ0JDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx1QkdwR0UsV0M1QmdFLEVBQUE7RUpnSWxFLHVCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHVCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHVCR3BHRSxXQzVCZ0UsRUFBQTtFSmdJbEUsdUJHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsdUJHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsdUJHcEdFLFdDNUJnRSxFQUFBO0VKZ0lsRSx3QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx3QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx3QkdwR0UsWUM1QmdFLEVBQUEsRUp5TDNEOztBbkJsSkQsdUNtQnlGTiwyQkcvSUEsbUJBQU0sRUFBTixpQkFBTSxFQUFOLFdBQU0sRUEyQ0osWUEzRlksRUFBQTtFSCtMZCxvVEcvSUEsbUJBQU0sRUFBTixrQkFBTSxFQUFOLGNBQU0sRUFBQTtFSCtJTiw2QkdwR0UsWUEzRlksRUFBQTtFSCtMZCx3QkdwR0UsZ0JDNUJnRSxFQUFBO0VKZ0lsRSx3QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx3QkdwR0UsV0M1QmdFLEVBQUE7RUpnSWxFLHdCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHdCR3BHRSxpQkM1QmdFLEVBQUE7RUpnSWxFLHdCR3BHRSxXQzVCZ0UsRUFBQTtFSmdJbEUsd0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsd0JHcEdFLGlCQzVCZ0UsRUFBQTtFSmdJbEUsd0JHcEdFLFdDNUJnRSxFQUFBO0VKZ0lsRSx5QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx5QkdwR0UsaUJDNUJnRSxFQUFBO0VKZ0lsRSx5QkdwR0UsWUM1QmdFLEVBQUEsRUp5TDNEOztBQU9MLGtDQ2pUSSx1QkFBNkQsRUFBN0QsMEJBQTZELEVBQUE7O0FwQm1KN0QsNkNtQjhKSixrQ0NqVEksdUJBQTZELEVBQTdELDBCQUE2RCxFQUFBLEVEcVQ5RDs7QW5CbEtDLDZDbUI4Skosa0NDalRJLHNCQUE2RCxFQUE3RCx5QkFBNkQsRUFBQSxFRHFUOUQ7O0FuQjdKQyx1Q21CeUpKLGtDQ2pUSSxxQkFBNkQsRUFBN0Qsd0JBQTZELEVBQUEsRURxVDlEOztBQUpILDBCQ2pUSSx1QkFBNkQsRUFBN0QsMEJBQTZELEVBQUE7O0FwQm1KN0QsNkNtQjhKSiwwQkNqVEksdUJBQTZELEVBQTdELDBCQUE2RCxFQUFBLEVEMFQ5RDs7QW5CdktDLDZDbUI4SkosMEJDalRJLHNCQUE2RCxFQUE3RCx5QkFBNkQsRUFBQSxFRDBUOUQ7O0FuQmxLQyx1Q21CeUpKLDBCQ2pUSSxxQkFBNkQsRUFBN0Qsd0JBQTZELEVBQUEsRUQwVDlEOztBQW5OTCxpQkN2R00sdUJBQTZELEVBQTdELDBCQUE2RCxFQUFBOztBcEJtSjdELDZDbUI1Q04saUJDdkdNLHVCQUE2RCxFQUE3RCwwQkFBNkQsRUFBQSxFRHNJbEU7O0FuQmFLLDZDbUI1Q04saUJDdkdNLHNCQUE2RCxFQUE3RCx5QkFBNkQsRUFBQSxFRHNJbEU7O0FuQmtCSyx1Q21CakROLGlCQ3ZHTSxxQkFBNkQsRUFBN0Qsd0JBQTZELEVBQUEsRURzSWxFOztBQS9CRCx5QkdzQ0UsOEJBdEQwRSxFRjlFeEUsc0JBQTZELEVBQTdELHlCQUE2RCxFQUFBOztBcEIwSTNELDZDbUI1Q04seUJHc0NFLDhCQXREMEUsRUY5RXhFLHNCQUE2RCxFQUE3RCx5QkFBNkQsRUFBQSxFRDJHMUQ7O0FuQitCRCw2Q21CNUNOLHlCR3NDRSw2QkF0RDBFLEVGOUV4RSxxQkFBNkQsRUFBN0Qsd0JBQTZELEVBQUEsRUQyRzFEOztBbkJvQ0QsdUNtQmpETix5QkdzQ0UsNEJBdEQwRSxFRjlFeEUsb0JBQTZELEVBQTdELHVCQUE2RCxFQUFBLEVEMkcxRDs7QUFyQ1AseUJHOERFLFlBM0ZZLEVBQUE7O0FIaUNkLDJCRzBERSxZQTNGWSxFQUFBOztBSHlDWiw0QkdrREEsa0NBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBOztBSEkxRSw2QkdrREEsOEJBdEQwRSxFQUFBOztBdEI0RHRFLDZDbUJwRU4seUJHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsMkJHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw4QkF0RDBFLEVBQUE7RUhSNUUsZ0NHOERFLFlBM0ZZLEVBQUE7RUhpQ2Qsa0NHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw4QkF0RDBFLEVBQUEsRUhNekU7O0FuQnNERyw2Q21CcEVOLCtCRzhERSxZQTNGWSxFQUFBO0VIaUNkLGlDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsOEJBdEQwRSxFQUFBLEVITXpFOztBbkJzREcsNkNtQnBFTix5Qkc4REUsWUEzRlksRUFBQTtFSGlDZCwyQkcwREUsWUEzRlksRUFBQTtFSHlDWiw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDZCQXREMEUsRUFBQTtFSFI1RSxnQ0c4REUsWUEzRlksRUFBQTtFSGlDZCxrQ0cwREUsWUEzRlksRUFBQTtFSHlDWiw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDZCQXREMEUsRUFBQTtFSFI1RSwrQkc4REUsWUEzRlksRUFBQTtFSGlDZCxpQ0cwREUsWUEzRlksRUFBQTtFSHlDWiw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDZCQXREMEUsRUFBQTtFSFI1RSxnQ0c4REUsWUEzRlksRUFBQTtFSGlDZCxrQ0cwREUsWUEzRlksRUFBQTtFSHlDWiw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDZCQXREMEUsRUFBQSxFSE16RTs7QW5CMkRHLHNDbUJ6RU4saUNHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsbUNHMERFLFlBM0ZZLEVBQUE7RUh5Q1osOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw0QkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSw2QkF0RDBFLEVBQUEsRUhNekU7O0FuQjJERyx1Q21CekVOLHlCRzhERSxZQTNGWSxFQUFBO0VIaUNkLDJCRzBERSxZQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxZQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsNEJBdEQwRSxFQUFBO0VIUjVFLCtCRzhERSxZQTNGWSxFQUFBO0VIaUNkLGlDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxZQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsNEJBdEQwRSxFQUFBO0VIUjVFLGlDRzhERSxZQTNGWSxFQUFBO0VIaUNkLG1DRzBERSxZQTNGWSxFQUFBO0VIeUNaLDhCR2tEQSxnQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMkJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsMkJBdEQwRSxFQUFBO0VISTFF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NEJHa0RBLDZCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDhCQXREMEUsRUFBQTtFSFI1RSxnQ0c4REUsWUEzRlksRUFBQTtFSGlDZCxrQ0cwREUsWUEzRlksRUFBQTtFSHlDWiw2QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDZCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDZCQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLDZCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxtQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDhCQXREMEUsRUFBQSxFSE16RTs7QW5Cc0RHLDZDbUJwRU4sK0JHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsaUNHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSw2QkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLG1DQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsbUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw4QkF0RDBFLEVBQUEsRUhNekU7O0FuQnNERyw2Q21CcEVOLHlCRzhERSxZQTNGWSxFQUFBO0VIaUNkLDJCRzBERSxZQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNkJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxZQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsNkJBdEQwRSxFQUFBO0VIUjVFLCtCRzhERSxZQTNGWSxFQUFBO0VIaUNkLGlDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDRCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNkJBdEQwRSxFQUFBO0VIUjVFLGdDRzhERSxZQTNGWSxFQUFBO0VIaUNkLGtDRzBERSxZQTNGWSxFQUFBO0VIeUNaLDZCR2tEQSxpQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsNEJBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGtDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsNkJBdEQwRSxFQUFBLEVITXpFOztBbkIyREcsc0NtQnpFTixpQ0c4REUsWUEzRlksRUFBQTtFSGlDZCxtQ0cwREUsWUEzRlksRUFBQTtFSHlDWiw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLDRCQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsa0NBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSxrQ0F0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLDZCQXREMEUsRUFBQSxFSE16RTs7QW5CMkRHLHVDbUJ6RU4seUJHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsMkJHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw0QkF0RDBFLEVBQUE7RUhSNUUsZ0NHOERFLFlBM0ZZLEVBQUE7RUhpQ2Qsa0NHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw0QkF0RDBFLEVBQUE7RUhSNUUsK0JHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsaUNHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw0QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDRCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSw0QkF0RDBFLEVBQUE7RUhSNUUsZ0NHOERFLFlBM0ZZLEVBQUE7RUhpQ2Qsa0NHMERFLFlBM0ZZLEVBQUE7RUh5Q1osNkJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsNkJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw2QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDZCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSw0QkF0RDBFLEVBQUE7RUhSNUUsaUNHOERFLFlBM0ZZLEVBQUE7RUhpQ2QsbUNHMERFLFlBM0ZZLEVBQUE7RUh5Q1osOEJHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsOEJHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSw4QkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLDhCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSw0QkF0RDBFLEVBQUE7RUhSNUUsa0NHOERFLFlBM0ZZLEVBQUE7RUhpQ2Qsb0NHMERFLFlBM0ZZLEVBQUE7RUh5Q1osK0JHa0RBLGdDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsK0JHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSwrQkdrREEsaUNBdEQwRSxFQUFBO0VISTFFLCtCR2tEQSwyQkF0RDBFLEVBQUE7RUhJMUUsZ0NHa0RBLGlDQXREMEUsRUFBQTtFSEkxRSxnQ0drREEsaUNBdEQwRSxFQUFBO0VISTFFLGdDR2tEQSw0QkF0RDBFLEVBQUEsRUhNekU7O0FBa1RELDRCUXRZSSwrQkFBbUMsRUFBQTs7QTNCMEluQyw2Q21CNFBKLDRCUXRZSSwrQkFBbUMsRUFBQSxFUndZdEM7O0FuQjlQRyw2Q21CNFBKLDRCUXRZSSwrQkFBbUMsRUFBQSxFUndZdEM7O0FuQjlQRyw2Q21CNFBKLDRCUXRZSSw4QkFBbUMsRUFBQSxFUndZdEM7O0FuQnpQRyxzQ21CdVBKLDRCUXRZSSw4QkFBbUMsRUFBQSxFUndZdEM7O0FuQnpQRyx1Q21CdVBKLDRCUXRZSSw2QkFBbUMsRUFBQSxFUndZdEM7O0FuQjlQRyw2Q21CZ1FGLG1DUTFZRSwrQkFBbUMsRUFBQSxFUjRZcEM7O0FuQmxRQyw2Q21CZ1FGLGtDUTFZRSwrQkFBbUMsRUFBQSxFUjRZcEM7O0FuQmxRQyw2Q21CZ1FGLG1DUTFZRSw4QkFBbUMsRUFBQSxFUjRZcEM7O0FuQjdQQyxzQ21CMlBGLG9DUTFZRSw4QkFBbUMsRUFBQSxFUjRZcEM7O0FuQjdQQyx1Q21CMlBGLHFDUTFZRSw2QkFBbUMsRUFBQSxFUjRZcEM7O0FTekdMLFVBMU9BLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsVzlCbU5pQixFOEJ6TWYsbUI5QndNdUIsRThCck16QixTOUI2TWUsRThCNU1mLGdCOUIyTWUsRThCMU1mLHlFOUJ5TnVFLEU4QnpOdkUsaUU5QnlOdUUsRThCeE52RSxvQjlCZ00wQixFOEIvTDFCLG1COUIrTWlCLEU4QjdNakIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZUFBZSxFQUFBOztBL0Ira0VqQixtQ1EvL0RJLFVBQVUsRUFBQTs7QXVCa0laLGVBTU0sZTlCakJJLEVBQUE7O0E4QldWLGlCQU1NLG1COUJoQlUsRUFBQTs7QThCVWhCLGdCQU1NLGlCOUJmTyxFQUFBOztBOEJTYixnQkFNTSxtQjlCYlMsRUFBQTs7QThCT2YsaUJBTU0sZTlCWk0sRUFBQTs7QThCTVosbUJBM01FLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZUFBZSxFQUNmLGNBQWMsRUFBQTs7QUFpRWhCLDJMQUlFLHlCOUI5SGMsRThCK0hkLGM5Qi9IYyxFQUFBOztBOEJrSWhCLDJDQUNFLHlCOUI0R3VFLEU4QjNHdkUsYzlCcEljLEVBQUE7O0E4QjBIaEIsbVBBSUUseUI5QjlIYyxFOEIrSGQsYzlCcEhXLEVBQUE7O0E4QnVIYiwyREFDRSx5QkFib0YsRUFjcEYsYzlCekhXLEVBQUE7O0E4QitHYixpUUFJRSx5QjlCN0hnQixFOEI4SGhCLGM5QnBIVyxFQUFBOztBOEJ1SGIsK0RBQ0UseUJBYm9GLEVBY3BGLGM5QnpIVyxFQUFBOztBOEIrR2IsbVBBSUUseUI5QjVIYyxFOEI2SGQsYzlCL0hjLEVBQUE7O0E4QmtJaEIsMkRBQ0UseUJBYm9GLEVBY3BGLGM5QnBJYyxFQUFBOztBOEIwSGhCLG1QQUlFLHlCOUIzSGMsRThCNEhkLGM5Qi9IYyxFQUFBOztBOEJrSWhCLDJEQUNFLHlCQWJvRixFQWNwRixjOUJwSWMsRUFBQTs7QThCMEhoQixxT0FJRSx5QjlCMUhZLEU4QjJIWixjOUJwSFcsRUFBQTs7QThCdUhiLHVEQUNFLHlCQWJvRixFQWNwRixjOUJ6SFcsRUFBQTs7QThCaUlYLDhPQUNFLDZCQUE2QixFQUFBOztBQWlCakMsa01BSUUseUI5QmxLYyxFOEJtS2QsYzlCbktjLEVBQUE7O0E4QnNLaEIsNkNBQ0UscUJBWjZELEVBYTdELGNBYjZELEVBQUE7O0FBRy9ELDBQQUlFLHlCOUJsS2MsRThCbUtkLGM5Qm5LYyxFQUFBOztBOEJzS2hCLDZEQUNFLHFCQVo2RCxFQWE3RCxjQWI2RCxFQUFBOztBQUcvRCx3UUFJRSx5QjlCaktnQixFOEJrS2hCLGM5QmxLZ0IsRUFBQTs7QThCcUtsQixpRUFDRSxxQkFaNkQsRUFhN0QsY0FiNkQsRUFBQTs7QUFHL0QsMFBBSUUseUI5QmhLYyxFOEJpS2QsYzlCaktjLEVBQUE7O0E4Qm9LaEIsNkRBQ0UscUJBWjZELEVBYTdELGNBYjZELEVBQUE7O0FBRy9ELDBQQUlFLHlCOUIvSmMsRThCZ0tkLGM5QmhLYyxFQUFBOztBOEJtS2hCLDZEQUNFLHFCQVo2RCxFQWE3RCxjQWI2RCxFQUFBOztBQUcvRCw0T0FJRSx5QjlCOUpZLEU4QitKWixjOUIvSlksRUFBQTs7QThCa0tkLHlEQUNFLHFCQVo2RCxFQWE3RCxjQWI2RCxFQUFBOztBQXFCN0QsK0tBQ0UseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUFBOztBQWVqQyxpSkFJRSxjOUJyTWMsRUFBQTs7QThCd01oQiwrQkFDRSxjQVg2RCxFQUFBOztBQUcvRCx5TUFJRSxjOUJyTWMsRUFBQTs7QThCd01oQiwrQ0FDRSxjQVg2RCxFQUFBOztBQUcvRCx1TkFJRSxjOUJwTWdCLEVBQUE7O0E4QnVNbEIsbURBQ0UsY0FYNkQsRUFBQTs7QUFHL0QseU1BSUUsYzlCbk1jLEVBQUE7O0E4QnNNaEIsK0NBQ0UsY0FYNkQsRUFBQTs7QUFHL0QseU1BSUUsYzlCbE1jLEVBQUE7O0E4QnFNaEIsK0NBQ0UsY0FYNkQsRUFBQTs7QUFHL0QsMkxBSUUsYzlCak1ZLEVBQUE7O0E4Qm9NZCwyQ0FDRSxjQVg2RCxFQUFBOztBQW1FL0Qsc0NBL0NBLGE5QjRDNEIsRThCM0M1QixtQkFBbUIsRUFBQTs7QUFZbkIsMEJ2QjdQQSxjQUFjLEVBQ2QsUUFBUSxFQUNSLFNBQVMsRUFFVCxtQkFBbUIsRUFDbkIsbUJ1Qm9QWSxFdkJsUFosV0FBVyxFQUdULHNCQUFzQixFQUN0Qiw2Q0FBcUQsRXVCb1ByRCxrQkFBa0IsRUFDbEIsVUFBVSxFQUVWLHFCQUFxQixFQUNyQixZQUFPLEVBQ1AsZ0I5Qkt1QixFQUFBOztBOEJzQnpCLGdFQW9FUSx5QjlCclVRLEVBQUE7O0E4QmlRaEIsZ0ZBMEVZLHlCOUIzVUksRUFBQTs7QThCaVFoQixvRkEwRVkseUI5QjFVTSxFQUFBOztBOEJnUWxCLGdGQTBFWSx5QjlCelVJLEVBQUE7O0E4QitQaEIsZ0ZBMEVZLHlCOUJ4VUksRUFBQTs7QThCOFBoQiw0RUEwRVkseUI5QnZVRSxFQUFBOztBOEI2UGQsNEJBbUZJLFdBQVcsRUFDWCxXQUFXLEVBQ1gsY0FBZ0MsRUFBQTs7QUFJcEMsaUNBR0kscUJBQXFCLEVBQUE7O0FDN1R6QixnQkFaQSxrQkFBa0IsRUFDbEIsVy9CeVJzQixFK0J4UnRCLGMvQmRpQixFK0JlakIsZUFBZSxFQUFBOztBaEN1dEVqQix5Q1EvbUVJLFVBQVUsRUFBQTs7QXdCdEdaLDJDQUVFLGMvQmxCVyxFQUFBOztBK0J1QmIsc0JBeEJBLGMvQnlTYyxFK0J4U2QsVy9CNFNhLEUrQjNTYixnQi9CK1NZLEUrQjlTWixjL0JpVHdCLEVBQUE7O0ErQjVSeEIsc0NBeEJBLFcvQjBTWSxFK0J6U1osVy9CNlNjLEUrQjVTZCxjL0JnVFcsRStCL1NYLGMvQmlUd0IsRUFBQTs7QWdDclZ4QixTQVpBLHFCQUFxQixFQUNyQiwwQmhDeWMrQixFZ0N2Yy9CLGdCaEMyRGUsRWdDekRmLGlCaENvY3NCLEVnQ25jdEIsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixlQUFlLEVBT2IsbUJoQ3NCYyxFZ0NyQmQsY2hDZ0NXLEVBQUE7O0FnQ3BDYixpQkFRTSxtQmhDaUJVLEVnQ2hCVixjaEN5Qk8sRUFBQTs7QWdDbENiLG1CQVFNLG1CaENrQlksRWdDakJaLGNoQzJCTyxFQUFBOztBZ0NwQ2IsaUJBUU0sbUJoQ21CVSxFZ0NsQlYsY2hDeUJPLEVBQUE7O0FnQ2xDYixpQkFRTSxtQmhDb0JVLEVnQ25CVixjaEN5Qk8sRUFBQTs7QWdDbENiLGVBUU0sbUJoQ3FCUSxF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RmYsa0JDeEJGLDBCQTFEaUIsRUEwRGpCLHNCQTFEaUIsRUFBQTs7QUQ4RWYsZ0JDcENGLHNCQXpDa0IsRUF5Q2xCLG1CQXpDa0IsRUF5Q2xCLHFCQXpDa0IsRUFBQTs7QURpRmhCLHFCQ3hCRix3QkF6RGtCLEVBeURsQixvQkF6RGtCLEVBQUE7O0FENkVoQixnQkNwQ0YseUJBeENnQixFQXdDaEIsc0JBeENnQixFQXdDaEIsbUJBeENnQixFQUFBOztBRGdGZCxxQkN4QkYsMkJBeERnQixFQXdEaEIsa0JBeERnQixFQUFBOztBRDRFZCxpQkNwQ0YsMEJBdkNrQixFQXVDbEIsdUJBdkNrQixFQXVDbEIsb0JBdkNrQixFQUFBOztBRCtFaEIsc0JDeEJGLDRCQXZEa0IsRUF1RGxCLG1CQXZEa0IsRUFBQTs7QURxRmxCLHVCQy9DQSx3QkFuRGtCLEVBbURsQixxQkFuRGtCLEVBbURsQix1QkFuRGtCLEVBb0RsQix5QkF4Q2dCLEVBd0NoQixzQkF4Q2dCLEVBd0NoQixtQkF4Q2dCLEVEd0ZkLDBCQUFxQixFQUFyQixxQkFBcUIsRUFBQTs7QUFNbkIsaUJDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBOztBQUNaLGlCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1osaUJDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBOztBQUNaLGlCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTs7QUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7O0E1Q3NFViw2QzRDckVGLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLGtCQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBNUNtRUMsNkM0Q3JFRixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixpQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QTVDbUVDLDZDNENyRUYsa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBO0VBQ1osa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBO0VBQ1osa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBO0VBQ1osa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBO0VBQ1osa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBO0VBQ1osa0JDaENKLDRCRCtCZ0IsRUMvQmhCLGlCRCtCZ0IsRUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E1Q3dFQyxzQzRDMUVGLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQTtFQUNaLG1CQ2hDSiw0QkQrQmdCLEVDL0JoQixpQkQrQmdCLEVDL0JoQixRRCtCZ0IsRUFBQSxFQUdYOztBNUN3RUMsdUM0QzFFRixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUE7RUFDWixvQkNoQ0osNEJEK0JnQixFQy9CaEIsaUJEK0JnQixFQy9CaEIsUUQrQmdCLEVBQUEsRUFHWDs7QUEvRkwsa0JDWUEsb0JBQWEsRUFBYixvQkFBYSxFQUFiLGFBQWEsRUFBQTs7QURSYixtQkFDRSxtQkFBYyxFQUFkLGtCQUFjLEVBQWQsY0FBYyxFQUFBOztBQUdoQixtQkFDRSxtQkFBYyxFQUFkLGtCQUFjLEVBQWQsY0FBYyxFQUFBOztBQUdoQixxQkFDRSxtQkFBYyxFQUFkLGtCQUFjLEVBQWQsY0FBYyxFQUFBOztBQUlkLGdCQ3NERiw4QkFuRVUsRUFt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a0RuQk4sVURqR00sb0JBQTZELEVBQUEsRUNtR2xFOztBQUNELFVEcEdNLHNCQUE2RCxFQUFBOztBakRvSDdELDZDa0RoQk4sVURwR00sc0JBQTZELEVBQUEsRUNzR2xFOztBbERjSyw2Q2tEaEJOLFVEcEdNLG1CQUE2RCxFQUFBLEVDc0dsRTs7QWxEY0ssNkNrRGhCTixVRHBHTSxxQkFBNkQsRUFBQSxFQ3NHbEU7O0FBQ0QsVUR2R00sb0JBQTZELEVBQUE7O0FqRG9IN0QsNkNrRGJOLFVEdkdNLG9CQUE2RCxFQUFBLEVDeUdsRTs7QWxEV0ssNkNrRGJOLFVEdkdNLGtCQUE2RCxFQUFBLEVDeUdsRTs7QWxEV0ssNkNrRGJOLFVEdkdNLG9CQUE2RCxFQUFBLEVDeUdsRTs7QUFDRCxVRDFHTSxvQkFBNkQsRUFBQTs7QWpEb0g3RCw2Q2tEVk4sVUQxR00sb0JBQTZELEVBQUEsRUM0R2xFOztBbERRSyw2Q2tEVk4sVUQxR00sa0JBQTZELEVBQUEsRUM0R2xFOztBbERRSyw2Q2tEVk4sVUQxR00sb0JBQTZELEVBQUEsRUM0R2xFOztBQUlELFFBQ0UsNEJBQTRCLEVBQUE7O0FBRTlCLFdEbkhNLHlCQUE2RCxFQUFBOztBakRvSDdELDZDa0RETixXRG5ITSx5QkFBNkQsRUFBQSxFQ3FIbEU7O0FsRERLLDZDa0RETixXRG5ITSxzQkFBNkQsRUFBQSxFQ3FIbEU7O0FsRERLLDZDa0RETixXRG5ITSx3QkFBNkQsRUFBQSxFQ3FIbEU7O0FBQ0QsbUJEdEhNLHlCQUE2RCxFQUFBOztBakRvSDdELDZDa0RFTixtQkR0SE0seUJBQTZELEVBQUEsRUM4SGxFOztBbERWSyw2Q2tERU4sbUJEdEhNLHdCQUE2RCxFQUFBLEVDOEhsRTs7QUFDRCxVRC9ITSx3QkFBNkQsRUFBQTs7QWpEb0g3RCw2Q2tEV04sVUQvSE0sd0JBQTZELEVBQUEsRUNpSWxFOztBbERiSyw2Q2tEV04sVUQvSE0sb0JBQTZELEVBQUEsRUNpSWxFOztBbERiSyw2Q2tEV04sVUQvSE0sdUJBQTZELEVBQUEsRUNpSWxFOztBQUNELFVEbElNLHlCQUE2RCxFQUFBOztBakRvSDdELDZDa0RjTixVRGxJTSx5QkFBNkQsRUFBQSxFQ29JbEU7O0FsRGhCSyw2Q2tEY04sVURsSU0sc0JBQTZELEVBQUEsRUNvSWxFOztBbERoQkssNkNrRGNOLFVEbElNLHdCQUE2RCxFQUFBLEVDb0lsRTs7QUFDRCxVRHJJTSx1QkFBNkQsRUFBQTs7QWpEb0g3RCw2Q2tEaUJOLFVEcklNLHVCQUE2RCxFQUFBLEVDdUlsRTs7QWxEbkJLLDZDa0RpQk4sVURySU0scUJBQTZELEVBQUEsRUN1SWxFOztBbERuQkssNkNrRGlCTixVRHJJTSx1QkFBNkQsRUFBQSxFQ3VJbEU7O0FBQ0QsVUR4SU0sdUJBQTZELEVBQUE7O0FqRG9IN0QsNkNrRG9CTixVRHhJTSx1QkFBNkQsRUFBQSxFQzBJbEU7O0FsRHRCSyw2Q2tEb0JOLFVEeElNLHFCQUE2RCxFQUFBLEVDMElsRTs7QWxEdEJLLDZDa0RvQk4sVUR4SU0sdUJBQTZELEVBQUEsRUMwSWxFOztBbER0QkssNkNrRHdCTixVQUVJLGlCQUFpQixFQUFBLEVBRXBCOztBbEQ1QkssNkNrRDZCTixXQUVJLGlCQUFpQixFQUFBLEVBRXBCOztBbEQ1Qkssc0NrRDZCTixZQUVJLGlCQUFpQixFQUFBLEVBRXBCOztBQUtELFdEL0pNLHdCQUE2RCxFQUFBOztBakRvSDdELDZDa0QyQ04sV0QvSk0sd0JBQTZELEVBQUEsRUNpS2xFOztBbEQ3Q0ssNkNrRDJDTixXRC9KTSx1QkFBNkQsRUFBQSxFQ2lLbEU7O0FsRHhDSyx1Q2tEc0NOLFdEL0pNLHNCQUE2RCxFQUFBLEVDaUtsRTs7QUZZSCxZQzdLUSx5QkFBNkQsRUFBQTs7QWpEb0g3RCw2Q2dEeURSLFlDN0tRLHlCQUE2RCxFQUFBLEVDc0twRTs7QWxEbERPLDZDZ0R5RFIsWUM3S1Esc0JBQTZELEVBQUEsRUNzS3BFOztBbERsRE8sNkNnRHlEUixZQzdLUSx3QkFBNkQsRUFBQSxFQ3NLcEU7O0FBSUQsaUNBRUUsMEJBQTBCLEVBQUE7O0FsRHhEcEIsNkNrRDJEUixvQkFFSSxrQkFBa0IsRUFDbEIsTUFBTSxF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NkMwRGpMUixxQlQ2RFEscUJBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssNkMwRGpMUixxQlQ2RFEsdUJBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssNkMwRGpMUixxQlQ2RFEseUJBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssbUUwRGpMUixxQlQ2RFEseUJBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssbUUwRGpMUixxQlQ2RFEsc0JBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssbUUwRGpMUixxQlQ2RFEsd0JBQTZELEVBQUEsRVN3Q2xFOztBMUQ0RUssNkMwRGpMUixxQkFrRk0saUJBQWlCLEVUckJmLHlCQUE2RCxFQUFBLEVTd0NsRTs7QTFENEVLLG1FMERqTFIscUJUNkRRLHlCQUE2RCxFQUFBLEVTd0NsRTs7QTFENEVLLG1FMERqTFIscUJUNkRRLHNCQUE2RCxFQUFBLEVTd0NsRTs7QTFENEVLLG1FMERqTFIscUJUNkRRLHdCQUE2RCxFQUFBLEVTd0NsRTs7QUFyR0gseUJBNkZNLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFBQTs7QTFEbUZkLDZDMERqTFIseUJBaUdRLGdCQUFnQixFQUNoQixXQUFXLEVBQUEsRUFFZDs7QTFENkVHLDZDMERqTFIsc0JUNkRRLHNCQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLG1FMERqTFIsc0JUNkRRLHNCQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLG1FMERqTFIsc0JUNkRRLG1CQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLG1FMERqTFIsc0JUNkRRLHFCQUE2RCxFQUFBLEVTdURsRTs7QTFEa0VLLHNDMER0TFIsc0JUNkRRLHNCQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLDREMERqTFIsc0JUNkRRLHNCQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLDREMERqTFIsc0JUNkRRLG9CQUE2RCxFQUFBLEVTdURsRTs7QTFENkRLLDREMERqTFIsc0JUNkRRLHNCQUE2RCxFQUFBLEVTdURsRTs7QTFEa0VLLHlDMER0TFIsc0ZBMkhNLFVBQVUsRUFBQSxFQU1iOztBMURnREssNkMwRGpMUixzRkErSE0sZUFBZSxFQUFBLEVBRWxCOztBMURnREssNkMwRGpMUixzREFzSU0sV0FBVyxFQUNYLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULDhCdEQvSWEsRXNEZ0piLHdDQUFnQyxFQUFoQyxnQ0FBZ0MsRVRqRjlCLHlCQUE2RCxFQUFBLEVTeUZoRTs7QTFEMkJHLG1FMERqTFIsc0RUNkRRLHlCQUE2RCxFQUFBLEVTeUZoRTs7QTFEMkJHLG1FMERqTFIsc0RUNkRRLHNCQUE2RCxFQUFBLEVTeUZoRTs7QTFEMkJHLG1FMERqTFIsc0RUNkRRLHdCQUE2RCxFQUFBLEVTeUZoRTs7QTFEMkJHLDZDMERqTFIsNEJBeUpNLHVDQUErQixFQUEvQiwrQkFBK0IsRVQ1RjdCLHdCQUE2RCxFQUFBLEVTb0doRTs7QTFEZ0JHLG1FMERqTFIsNEJUNkRRLHdCQUE2RCxFQUFBLEVTb0doRTs7QTFEZ0JHLG1FMERqTFIsNEJUNkRRLG9CQUE2RCxFQUFBLEVTb0doRTs7QTFEZ0JHLG1FMERqTFIsNEJUNkRRLHVCQUE2RCxFQUFBLEVTb0doRTs7QTFEZ0JHLDZDMERqTFIsd0RBcUtNLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFVBQVUsRUFDVixVQUFVLEVBQ1YsNkJ0RC9LYSxFc0RnTGIsa0NBQTBCLEVBQTFCLDBCQUEwQixFQUFBO0VBOUtoQyw0QkFpTE0sT0FBTyxFQUNQLFdBQVcsRUFDWCxtQ0FBMkIsRUFBM0IsMkJBQTJCLEVBQUEsRUFDNUI7O0ExREVHLHNDMER0TFIsd0RBeUxNLFVBQVUsRUFBQTtFQXpMaEIsc0RUNkRRLHlCQUE2RCxFQUFBLEVTdUloRTs7QTFEbkJHLDREMERqTFIsc0RUNkRRLHlCQUE2RCxFQUFBLEVTdUloRTs7QTFEbkJHLDREMERqTFIsc0RUNkRRLHNCQUE2RCxFQUFBLEVTdUloRTs7QTFEbkJHLDREMERqTFIsc0RUNkRRLHdCQUE2RCxFQUFBLEVTdUloRTs7QTFEZEcsdUMwRHRMUix3REF5TU0sVUFBVSxFQUFBLEVBQ1g7O0FBSUwsd21HQUFBO0ExRDdCUSxtRDJEcEdSLFFBR0ksaUJBQVksRUFDWixpQkFBWSxFQUFBLEVBY2Y7O0EzRGtGTyw2QzJEcEdSLFFBT0ksaUJBQVksRUFDWixpQkFBWSxFQUFBLEVBVWY7O0EzRGtGTyw2QzJEcEdSLFFBV0ksYUFBWSxFQUNaLGFBQVksRUFBQSxFQU1mOztBM0RrRk8sNkMyRHBHUixRQWVJLGlCQUFZLEVBQ1osaUJBQVksRUFBQSxFQUVmIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvK01vbm8mZmFtaWx5PVJvYm90bytGbGV4Om9wc3osd2dodEA4Li4xNDQsMTAwLi4xMDAwJmRpc3BsYXk9c3dhcFwiKTtcbi8qKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBWZXJzaW9uIDYuNy41IGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2UgeyByaWdodDogYXV0bzsgbGVmdDogYXV0bzsgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHsgbGluZS1oZWlnaHQ6IDEuMTU7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cbmgxIHsgZm9udC1zaXplOiAyZW07IG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIgeyBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgaGVpZ2h0OiAwOyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7IGJvcmRlci1ib3R0b206IDA7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLCBzdHJvbmcgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsIGtiZCwgc2FtcCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwgeyBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbmltZyB7IGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDEwMCU7IGxpbmUtaGVpZ2h0OiAxLjE1OyBtYXJnaW46IDA7IH1cblxuYnV0dG9uLCBpbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbiwgc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7IGJvcmRlci1zdHlsZTogbm9uZTsgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7IHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBjb2xvcjogaW5oZXJpdDsgZGlzcGxheTogdGFibGU7IG1heC13aWR0aDogMTAwJTsgcGFkZGluZzogMDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKiwgW2RhdGEtd2hhdGludGVudD1cIm1vdXNlXCJdICo6Zm9jdXMsIFtkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqLCBbZGF0YS13aGF0aW50ZW50PVwidG91Y2hcIl0gKjpmb2N1cywgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKiwgW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cywgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKiwgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0gKjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuW2RyYWdnYWJsZT1mYWxzZV0geyAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEgeyBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW0meHh4bGFyZ2U9MTIwZW1cIjsgfVxuXG5odG1sIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQ6ICNmZmZmZmY7IGZvbnQtZmFtaWx5OiBcIlJvYm90byBGbGV4XCIsIHNhbnMtc2VyaWY7IGZvbnQtd2VpZ2h0OiAyMDA7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjMDAxOTQzOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyB9XG5cbnRleHRhcmVhIHsgaGVpZ2h0OiBhdXRvOyBtaW4taGVpZ2h0OiA1MHB4OyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHdpZHRoOiAxMDAlOyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tYXBfY2FudmFzIGltZywgLm1hcF9jYW52YXMgZW1iZWQsIC5tYXBfY2FudmFzIG9iamVjdCwgLm1xYS1kaXNwbGF5IGltZywgLm1xYS1kaXNwbGF5IGVtYmVkLCAubXFhLWRpc3BsYXkgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHsgcGFkZGluZzogMDsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgbGluZS1oZWlnaHQ6IDE7IGN1cnNvcjogYXV0bzsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG5wcmUgeyBvdmVyZmxvdzogYXV0bzsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLCB0ZXh0YXJlYSB7IGRpc3BsYXk6IGJsb2NrOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAyLjQzNzVyZW07IG1hcmdpbjogMCAwIDFyZW07IHBhZGRpbmc6IDAuNXJlbTsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgYm9yZGVyLXJhZGl1czogMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IDIwMDsgbGluZS1oZWlnaHQ6IDEuNTsgY29sb3I6ICMwYTBhMGE7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyBhcHBlYXJhbmNlOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cywgdGV4dGFyZWE6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbnRleHRhcmVhW3Jvd3NdIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sIHRleHRhcmVhOmRpc2FibGVkLCB0ZXh0YXJlYVtyZWFkb25seV0geyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSwgW3R5cGU9J2J1dHRvbiddIHsgYXBwZWFyYW5jZTogbm9uZTsgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjY2FjYWNhOyB9XG5cblt0eXBlPSdmaWxlJ10sIFt0eXBlPSdjaGVja2JveCddLCBbdHlwZT0ncmFkaW8nXSB7IG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCwgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBtYXJnaW4tbGVmdDogMC41cmVtOyBtYXJnaW4tcmlnaHQ6IDFyZW07IG1hcmdpbi1ib3R0b206IDA7IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLCBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0geyBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSwgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7IG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10geyB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiAyMDA7IGxpbmUtaGVpZ2h0OiAxLjg7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbmxhYmVsLm1pZGRsZSB7IG1hcmdpbjogMCAwIDFyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQgeyBtYXJnaW4tdG9wOiAtMC41cmVtOyBmb250LXNpemU6IDAuODEyNXJlbTsgZm9udC1zdHlsZTogaXRhbGljOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAgeyBkaXNwbGF5OiBmbGV4OyB3aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7IGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICogeyBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHsgbWFyZ2luOiAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7IHBhZGRpbmc6IDAgMXJlbTsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgYmFja2dyb3VuZDogI2U2ZTZlNjsgY29sb3I6ICMwYTBhMGE7IHRleHQtYWxpZ246IGNlbnRlcjsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgZGlzcGxheTogZmxleDsgZmxleDogMCAwIGF1dG87IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHsgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHsgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHsgYm9yZGVyLXJhZGl1czogMDsgZmxleDogMSAxIDBweDsgbWluLXdpZHRoOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24geyBwYWRkaW5nLXRvcDogMDsgcGFkZGluZy1ib3R0b206IDA7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogZmxleDsgZmxleDogMCAwIGF1dG87IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiBhLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IGhlaWdodDogYXV0bzsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyBmb250LXNpemU6IDFyZW07IH1cblxuZmllbGRzZXQgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDsgfVxuXG5sZWdlbmQgeyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQgeyBtYXJnaW46IDEuMTI1cmVtIDA7IHBhZGRpbmc6IDEuMjVyZW07IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cblxuLmZpZWxkc2V0IGxlZ2VuZCB7IG1hcmdpbjogMDsgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7IGhlaWdodDogMi40Mzc1cmVtOyBtYXJnaW46IDAgMCAxcmVtOyBwYWRkaW5nOiAwLjVyZW07IGFwcGVhcmFuY2U6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IGJvcmRlci1yYWRpdXM6IDA7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDFyZW07IGZvbnQtd2VpZ2h0OiAyMDA7IGxpbmUtaGVpZ2h0OiAxLjU7IGNvbG9yOiAjMGEwYTBhOyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjlcIj48L3BvbHlnb24+PC9zdmc+Jyk7IGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7IHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkgeyBzZWxlY3QgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cblxuc2VsZWN0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhOyB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG5zZWxlY3Q6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuc2VsZWN0W211bHRpcGxlXSB7IGhlaWdodDogYXV0bzsgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG5zZWxlY3Q6bm90KFttdWx0aXBsZV0pIHsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHsgYm9yZGVyLWNvbG9yOiAjY2M0YjM3OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFlZGViOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHsgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3IgeyBkaXNwbGF5OiBub25lOyBtYXJnaW4tdG9wOiAtMC41cmVtOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBmb250LXNpemU6IDAuNzVyZW07IGZvbnQtd2VpZ2h0OiA0NTA7IGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yLmlzLXZpc2libGUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5kaXYsIGRsLCBkdCwgZGQsIHVsLCBvbCwgbGksIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHByZSwgZm9ybSwgcCwgYmxvY2txdW90ZSwgdGgsIHRkIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9XG5cbnAgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyBmb250LXNpemU6IGluaGVyaXQ7IGxpbmUtaGVpZ2h0OiAxLjY7IHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sIGkgeyBmb250LXN0eWxlOiBpdGFsaWM7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZywgYiB7IGZvbnQtd2VpZ2h0OiA0NTA7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQsIGg1LCAuaDUsIGg2LCAuaDYgeyBmb250LWZhbWlseTogXCJSb2JvdG8gRmxleFwiLCBzYW5zLXNlcmlmOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiAyMDA7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmgxIHNtYWxsLCAuaDEgc21hbGwsIGgyIHNtYWxsLCAuaDIgc21hbGwsIGgzIHNtYWxsLCAuaDMgc21hbGwsIGg0IHNtYWxsLCAuaDQgc21hbGwsIGg1IHNtYWxsLCAuaDUgc21hbGwsIGg2IHNtYWxsLCAuaDYgc21hbGwgeyBsaW5lLWhlaWdodDogMDsgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogMnJlbTsgbGluZS1oZWlnaHQ6IDEuNDsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyLCAuaDIgeyBmb250LXNpemU6IDEuNzVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMywgLmgzIHsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNCwgLmg0IHsgZm9udC1zaXplOiAxLjI1cmVtOyBsaW5lLWhlaWdodDogMS40OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGxpbmUtaGVpZ2h0OiAxLjQ7IG1hcmdpbi10b3A6IDA7IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS40OyBtYXJnaW4tdG9wOiAwOyBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuYSB7IGxpbmUtaGVpZ2h0OiBpbmhlcml0OyBjb2xvcjogIzJhNzdlYjsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYTpob3ZlciwgYTpmb2N1cyB7IGNvbG9yOiAjMTQ2M2RhOyB9XG5cbmEgaW1nIHsgYm9yZGVyOiAwOyB9XG5cbmhyIHsgY2xlYXI6IGJvdGg7IG1heC13aWR0aDogMTAwJTsgaGVpZ2h0OiAwOyBtYXJnaW46IDEuMjVyZW0gYXV0bzsgYm9yZGVyLXRvcDogMDsgYm9yZGVyLXJpZ2h0OiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTsgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsIG9sLCBkbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkgeyBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHsgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wgeyBtYXJnaW4tbGVmdDogMS4yNXJlbTsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuZGwgZHQgeyBtYXJnaW4tYm90dG9tOiAwLjNyZW07IGZvbnQtd2VpZ2h0OiA0NTA7IH1cblxuYmxvY2txdW90ZSB7IG1hcmdpbjogMCAwIDFyZW07IHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0geyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IGN1cnNvcjogaGVscDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7IG1hcmdpbjogMDsgfVxuXG5rYmQgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDsgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdWJoZWFkZXIgeyBtYXJnaW4tdG9wOiAwLjJyZW07IG1hcmdpbi1ib3R0b206IDAuNXJlbTsgZm9udC13ZWlnaHQ6IDIwMDsgbGluZS1oZWlnaHQ6IDEuNDsgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQgeyBmb250LXNpemU6IDEyNSU7IGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQgeyBmb250LXNpemU6IDIuNXJlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxucCArIC5zdGF0IHsgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQgeyBtYXJnaW4tbGVmdDogMDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG5jaXRlLCAuY2l0ZS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrOyBjb2xvcjogIzhhOGE4YTsgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuY2l0ZTpiZWZvcmUsIC5jaXRlLWJsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmNvZGUsIC5jb2RlLWlubGluZSB7IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyBmb250LXdlaWdodDogMjAwOyBjb2xvcjogIzBhMGEwYTsgZGlzcGxheTogaW5saW5lOyBtYXgtd2lkdGg6IDEwMCU7IHdvcmQtd3JhcDogYnJlYWstd29yZDsgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG4uY29kZS1ibG9jayB7IGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyBmb250LXdlaWdodDogMjAwOyBjb2xvcjogIzBhMGEwYTsgZGlzcGxheTogYmxvY2s7IG92ZXJmbG93OiBhdXRvOyB3aGl0ZS1zcGFjZTogcHJlOyBwYWRkaW5nOiAxcmVtOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLnRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS10ZXh0LWxlZnQgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGl1bS10ZXh0LWp1c3RpZnkgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAueGxhcmdlLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC54eGxhcmdlLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2UtdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHh4bGFyZ2UtdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eHhsYXJnZS10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQgeyAqIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTsgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLCBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSwgYmxvY2txdW90ZSB7IGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0ciwgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuICBwLCBoMiwgaDMgeyBvcnBoYW5zOiAzOyB3aWRvd3M6IDM7IH1cbiAgaDIsIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmdyaWQtY29udGFpbmVyIHsgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTsgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtY29udGFpbmVyIHsgcGFkZGluZy1yaWdodDogMC43ODEyNXJlbTsgcGFkZGluZy1sZWZ0OiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtY29udGFpbmVyIHsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLWNvbnRhaW5lciB7IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyLmZsdWlkIHsgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTsgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyBtYXgtd2lkdGg6IDEwMCU7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtY29udGFpbmVyLmZsdWlkIHsgcGFkZGluZy1yaWdodDogMC43ODEyNXJlbTsgcGFkZGluZy1sZWZ0OiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtY29udGFpbmVyLmZsdWlkIHsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyLmZ1bGwgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZ3JpZC14IHsgZGlzcGxheTogZmxleDsgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuXG4uY2VsbCB7IGZsZXg6IDAgMCBhdXRvOyBtaW4taGVpZ2h0OiAwOyBtaW4td2lkdGg6IDA7IHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLmF1dG8geyBmbGV4OiAxIDEgMDsgfVxuXG4uY2VsbC5zaHJpbmsgeyBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8geyB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7IHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLXggPiAueHh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4eGxhcmdlLWZ1bGwsIC5ncmlkLXggPiAueHh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTMsIC5ncmlkLXggPiAueHh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTYsIC5ncmlkLXggPiAueHh4bGFyZ2UtNywgLmdyaWQteCA+IC54eHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTksIC5ncmlkLXggPiAueHh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHh4bGFyZ2UtMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXggPiAubWVkaXVtLWF1dG8geyBmbGV4OiAxIDEgMDsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHsgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHsgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHsgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC14ID4gLmxhcmdlLWF1dG8geyBmbGV4OiAxIDEgMDsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQteCA+IC54bGFyZ2UtYXV0byB7IGZsZXg6IDEgMSAwOyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueGxhcmdlLTEsIC5ncmlkLXggPiAueGxhcmdlLTIsIC5ncmlkLXggPiAueGxhcmdlLTMsIC5ncmlkLXggPiAueGxhcmdlLTQsIC5ncmlkLXggPiAueGxhcmdlLTUsIC5ncmlkLXggPiAueGxhcmdlLTYsIC5ncmlkLXggPiAueGxhcmdlLTcsIC5ncmlkLXggPiAueGxhcmdlLTgsIC5ncmlkLXggPiAueGxhcmdlLTksIC5ncmlkLXggPiAueGxhcmdlLTEwLCAuZ3JpZC14ID4gLnhsYXJnZS0xMSwgLmdyaWQteCA+IC54bGFyZ2UtMTIgeyBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8geyBmbGV4OiAxIDEgMDsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLXggPiAueHh4bGFyZ2UtYXV0byB7IGZsZXg6IDEgMSAwOyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4eGxhcmdlLTIsIC5ncmlkLXggPiAueHh4bGFyZ2UtMywgLmdyaWQteCA+IC54eHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTUsIC5ncmlkLXggPiAueHh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4eGxhcmdlLTgsIC5ncmlkLXggPiAueHh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eHhsYXJnZS0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2Utc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eHhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4eGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7IHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHsgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyBtYXJnaW4tcmlnaHQ6IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi14IHsgbWFyZ2luLWxlZnQ6IC0wLjc4MTI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0wLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtbWFyZ2luLXggeyBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTsgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtbWFyZ2luLXggeyBtYXJnaW4tbGVmdDogLTMuMTI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0zLjEyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTsgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IG1hcmdpbi1yaWdodDogMC40Njg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNTYyNXJlbSk7IG1hcmdpbi1sZWZ0OiAwLjc4MTI1cmVtOyBtYXJnaW4tcmlnaHQ6IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyBtYXJnaW4tbGVmdDogMy4xMjVyZW07IG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHsgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcgeyB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHsgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMgeyB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYgeyB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkgeyB3aWR0aDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIgeyB3aWR0aDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHsgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIgeyB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMgeyB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUgeyB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYgeyB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcgeyB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTggeyB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkgeyB3aWR0aDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHsgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7IHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIgeyB3aWR0aDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8geyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHsgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcgeyB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHsgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTIgeyB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHsgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTUgeyB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHsgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTggeyB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHsgd2lkdGg6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMSB7IHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLW1hcmdpbi14ID4gLmF1dG8geyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHsgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcgeyB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHsgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7IHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIgeyB3aWR0aDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUgeyB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTggeyB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7IHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMgeyB3aWR0aDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYgeyB3aWR0aDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkgeyB3aWR0aDogY2FsYyg3NSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIgeyB3aWR0aDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLWF1dG8geyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHsgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMgeyB3aWR0aDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHsgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYgeyB3aWR0aDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHsgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkgeyB3aWR0aDogY2FsYyg3NSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEgeyB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIgeyB3aWR0aDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1zaHJpbmsgeyB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEgeyB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMyB7IHdpZHRoOiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNiB7IHdpZHRoOiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNyB7IHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOSB7IHdpZHRoOiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTAgeyB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMiB7IHdpZHRoOiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1hdXRvIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utc2hyaW5rIHsgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMSB7IHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMiB7IHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTMgeyB3aWR0aDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS00IHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtNSB7IHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTYgeyB3aWR0aDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS03IHsgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtOCB7IHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTkgeyB3aWR0aDogY2FsYyg3NSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS0xMCB7IHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLTExIHsgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2UtMTIgeyB3aWR0aDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHsgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXggeyBtYXJnaW4tcmlnaHQ6IC0wLjc4MTI1cmVtOyBtYXJnaW4tbGVmdDogLTAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHsgbWFyZ2luLXJpZ2h0OiAtMS41NjI1cmVtOyBtYXJnaW4tbGVmdDogLTEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXggeyBtYXJnaW4tcmlnaHQ6IC0zLjEyNXJlbTsgbWFyZ2luLWxlZnQ6IC0zLjEyNXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHsgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHsgbWFyZ2luLXJpZ2h0OiAtMC43ODEyNXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXggeyBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07IG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXggeyBtYXJnaW4tcmlnaHQ6IC0zLjEyNXJlbTsgbWFyZ2luLWxlZnQ6IC0zLjEyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHsgcGFkZGluZy1yaWdodDogMC40Njg3NXJlbTsgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHsgcGFkZGluZy1yaWdodDogMC43ODEyNXJlbTsgcGFkZGluZy1sZWZ0OiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07IHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwgeyB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IDI1JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHsgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwgeyB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwgeyB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwgeyB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS11cC0xID4gLmNlbGwgeyB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS11cC0zID4gLmNlbGwgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnh4eGxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4eGxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiAyNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gMS41NjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0zID4gLmNlbGwgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwgeyB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC00ID4gLmNlbGwgeyB3aWR0aDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwgeyB3aWR0aDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0yID4gLmNlbGwgeyB3aWR0aDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwgeyB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwgeyB3aWR0aDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHh4bGFyZ2UtdXAtMSA+IC5jZWxsIHsgd2lkdGg6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4eGxhcmdlLXVwLTIgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4eGxhcmdlLXVwLTMgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4eGxhcmdlLXVwLTQgPiAuY2VsbCB7IHdpZHRoOiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMgeyB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYgeyB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkgeyB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIgeyB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7IHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7IHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7IHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHsgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHsgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHsgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMgeyB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYgeyB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHsgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHsgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHsgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7IHBhZGRpbmctcmlnaHQ6IDA7IHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEgeyB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7IHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7IHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAgeyB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAueHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHsgd2lkdGg6IDI1JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHsgd2lkdGg6IDUwJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHsgd2lkdGg6IDc1JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHsgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQgeyB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcgeyB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHsgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHsgd2lkdGg6IDI1JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHsgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHsgd2lkdGg6IDUwJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHsgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHsgd2lkdGg6IDc1JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEgeyB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHsgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMgeyB3aWR0aDogMjUlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7IHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYgeyB3aWR0aDogNTAlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7IHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkgeyB3aWR0aDogNzUlOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHsgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIgeyB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMSB7IHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTIgeyB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtMyB7IHdpZHRoOiAyNSU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS00IHsgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTUgeyB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtNiB7IHdpZHRoOiA1MCU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS03IHsgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4eGxhcmdlLTggeyB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHh4bGFyZ2UtOSB7IHdpZHRoOiA3NSU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMCB7IHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMSB7IHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eHhsYXJnZS0xMiB7IHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4eGxhcmdlLXBhZGRpbmctY29sbGFwc2UgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC54eHhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwgeyBwYWRkaW5nLXJpZ2h0OiAwOyBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtIC8gMik7IH1cblxuLnNtYWxsLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0gLyAyKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubWVkaXVtLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjU2MjVyZW0gLyAyKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjU2MjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjU2MjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjU2MjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTggeyBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41NjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNTYyNXJlbSAvIDIpOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNTYyNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogY2FsYygwJSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTEwIHsgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDMuMTI1cmVtIC8gMik7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC54eGxhcmdlLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAgeyBtYXJnaW4tbGVmdDogY2FsYygwJSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC00IHsgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMy4xMjVyZW0gLyAyKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDMuMTI1cmVtIC8gMik7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAzLjEyNXJlbSAvIDIpOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7IG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAzLjEyNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnh4eGxhcmdlLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyA2LjI1cmVtIC8gMik7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC0xIHsgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyA2LjI1cmVtIC8gMik7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC0yIHsgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMiB7IG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDYuMjVyZW0gLyAyKTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTMgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgNi4yNXJlbSAvIDIpOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utb2Zmc2V0LTQgeyBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyA2LjI1cmVtIC8gMik7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtNSB7IG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDYuMjVyZW0gLyAyKTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgNi4yNXJlbSAvIDIpOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtNyB7IG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHh4bGFyZ2Utb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyA2LjI1cmVtIC8gMik7IH1cbiAgLnh4eGxhcmdlLW9mZnNldC04IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtOCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDYuMjVyZW0gLyAyKTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTkgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC05IHsgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgNi4yNXJlbSAvIDIpOyB9XG4gIC54eHhsYXJnZS1vZmZzZXQtMTAgeyBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4eGxhcmdlLW9mZnNldC0xMCB7IG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDYuMjVyZW0gLyAyKTsgfVxuICAueHh4bGFyZ2Utb2Zmc2V0LTExIHsgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eHhsYXJnZS1vZmZzZXQtMTEgeyBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyA2LjI1cmVtIC8gMik7IH0gfVxuXG4uZ3JpZC15IHsgZGlzcGxheTogZmxleDsgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG5cbi5ncmlkLXkgPiAuY2VsbCB7IGhlaWdodDogYXV0bzsgbWF4LWhlaWdodDogbm9uZTsgfVxuXG4uZ3JpZC15ID4gLmF1dG8geyBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQteSA+IC5zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHsgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIgeyBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQteSA+IC54eHhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueHh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTIsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMywgLmdyaWQteSA+IC54eHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTUsIC5ncmlkLXkgPiAueHh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTgsIC5ncmlkLXkgPiAueHh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eHhsYXJnZS0xMiB7IGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHsgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTIgeyBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTMgeyBoZWlnaHQ6IDI1JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTUgeyBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTYgeyBoZWlnaHQ6IDUwJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTggeyBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTkgeyBoZWlnaHQ6IDc1JTsgfVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQteSA+IC5zbWFsbC0xMSB7IGhlaWdodDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXkgPiAuc21hbGwtMTIgeyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7IGZsZXg6IDEgMSAwOyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHsgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEgeyBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0zIHsgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNCB7IGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS02IHsgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tNyB7IGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS05IHsgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTAgeyBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEyIHsgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHsgZmxleDogMSAxIDA7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMSB7IGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS0yIHsgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS0zIHsgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHsgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS01IHsgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS02IHsgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS03IHsgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS04IHsgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS05IHsgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMCB7IGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMTEgeyBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTEyIHsgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7IGZsZXg6IDEgMSAwOyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHsgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEgeyBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTIgeyBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0zIHsgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNCB7IGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTUgeyBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS02IHsgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtNyB7IGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTggeyBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS05IHsgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC54bGFyZ2UtMTAgeyBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7IGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAueGxhcmdlLTEyIHsgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuZ3JpZC15ID4gLnh4bGFyZ2UtYXV0byB7IGZsZXg6IDEgMSAwOyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7IGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTEgeyBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS0yIHsgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTMgeyBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNCB7IGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS01IHsgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTYgeyBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtNyB7IGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAueHhsYXJnZS04IHsgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC54eGxhcmdlLTkgeyBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAgeyBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEgeyBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIgeyBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuZ3JpZC15ID4gLnh4eGxhcmdlLWF1dG8geyBmbGV4OiAxIDEgMDsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTEsIC5ncmlkLXkgPiAueHh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTQsIC5ncmlkLXkgPiAueHh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTcsIC5ncmlkLXkgPiAueHh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4eGxhcmdlLTEyIHsgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS0xIHsgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTIgeyBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTMgeyBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTQgeyBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTUgeyBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTYgeyBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTcgeyBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTggeyBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTkgeyBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnh4eGxhcmdlLTEwIHsgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC54eHhsYXJnZS0xMSB7IGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAueHh4bGFyZ2UtMTIgeyBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHsgbWFyZ2luLXRvcDogLTAuNDY4NzVyZW07IG1hcmdpbi1ib3R0b206IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkgeyBtYXJnaW4tdG9wOiAtMC43ODEyNXJlbTsgbWFyZ2luLWJvdHRvbTogLTAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHsgbWFyZ2luLXRvcDogLTEuNTYyNXJlbTsgbWFyZ2luLWJvdHRvbTogLTEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkgeyBtYXJnaW4tdG9wOiAtMy4xMjVyZW07IG1hcmdpbi1ib3R0b206IC0zLjEyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHsgcGFkZGluZy10b3A6IDAuNDY4NzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHsgcGFkZGluZy10b3A6IDAuNzgxMjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwgeyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNDY4NzVyZW07IG1hcmdpbi1ib3R0b206IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTAuNzgxMjVyZW07IG1hcmdpbi1ib3R0b206IC0wLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtbWFyZ2luLXkgeyBtYXJnaW4tdG9wOiAtMS41NjI1cmVtOyBtYXJnaW4tYm90dG9tOiAtMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtbWFyZ2luLXkgeyBtYXJnaW4tdG9wOiAtMy4xMjVyZW07IG1hcmdpbi1ib3R0b206IC0zLjEyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLmNlbGwgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IG1hcmdpbi10b3A6IDAuNDY4NzVyZW07IG1hcmdpbi1ib3R0b206IDAuNDY4NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7IGhlaWdodDogY2FsYygxMDAlIC0gMS41NjI1cmVtKTsgbWFyZ2luLXRvcDogMC43ODEyNXJlbTsgbWFyZ2luLWJvdHRvbTogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmNlbGwgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgbWFyZ2luLXRvcDogMS41NjI1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgbWFyZ2luLXRvcDogMy4xMjVyZW07IG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7IGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOTM3NXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS41NjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXgtd3JhcDogbm93cmFwOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHsgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sgeyBvdmVyZmxvdy14OiBhdXRvOyBtYXgtd2lkdGg6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7IG92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCU7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbWF4LWhlaWdodDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHsgbWF4LWhlaWdodDogMTAwJTsgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm1lZGl1bS1ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUgeyB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sgeyBvdmVyZmxvdy14OiBhdXRvOyBtYXgtd2lkdGg6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXggeyBtYXgtaGVpZ2h0OiAxMDAlOyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7IG92ZXJmbG93LXk6IGF1dG87IG1heC1oZWlnaHQ6IDEwMCU7IG1pbi1oZWlnaHQ6IDEwMCU7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtZ3JpZC1mcmFtZSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUgeyB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7IG92ZXJmbG93LXg6IGF1dG87IG1heC13aWR0aDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXggeyBtYXgtaGVpZ2h0OiAxMDAlOyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHsgb3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC54bGFyZ2UtZ3JpZC1mcmFtZSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHsgb3ZlcmZsb3cteDogYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHsgbWF4LWhlaWdodDogMTAwJTsgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkgeyBvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAueHhsYXJnZS1ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHsgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jayB7IG92ZXJmbG93LXg6IGF1dG87IG1heC13aWR0aDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHsgbWF4LWhlaWdodDogMTAwJTsgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay15IHsgb3ZlcmZsb3cteTogYXV0bzsgbWF4LWhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eHhsYXJnZS1ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHh4bGFyZ2UtZ3JpZC1mcmFtZSB7IHdpZHRoOiAxMDAlOyB9XG4gIC54eHhsYXJnZS1jZWxsLWJsb2NrIHsgb3ZlcmZsb3cteDogYXV0bzsgbWF4LXdpZHRoOiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54eHhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnh4eGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7IG1heC1oZWlnaHQ6IDEwMCU7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54eHhsYXJnZS1jZWxsLWJsb2NrLXkgeyBvdmVyZmxvdy15OiBhdXRvOyBtYXgtaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuLmdyaWQteS5ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGhlaWdodDogMTAwdmg7IHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXgtd3JhcDogbm93cmFwOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgaGVpZ2h0OiAxMDB2aDsgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IGZsZXgtd3JhcDogbm93cmFwOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgaGVpZ2h0OiAxMDB2aDsgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IHJlbGF0aXZlOyBmbGV4LXdyYXA6IG5vd3JhcDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IGhlaWdodDogMTAwdmg7IHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBoZWlnaHQ6IDEwMHZoOyB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLXkueHh4bGFyZ2UtZ3JpZC1mcmFtZSB7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgZmxleC13cmFwOiBub3dyYXA7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyBoZWlnaHQ6IDEwMHZoOyB3aWR0aDogYXV0bzsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7IGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHsgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHsgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmNlbGwgLmdyaWQteS54eGxhcmdlLWdyaWQtZnJhbWUgeyBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuY2VsbCAuZ3JpZC15Lnh4eGxhcmdlLWdyaWQtZnJhbWUgeyBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7IG1hcmdpbi10b3A6IC0wLjQ2ODc1cmVtOyBtYXJnaW4tYm90dG9tOiAtMC40Njg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuZ3JpZC1tYXJnaW4teSB7IG1hcmdpbi10b3A6IC0wLjc4MTI1cmVtOyBtYXJnaW4tYm90dG9tOiAtMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTEuNTYyNXJlbTsgbWFyZ2luLWJvdHRvbTogLTEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5ncmlkLW1hcmdpbi15IHsgbWFyZ2luLXRvcDogLTMuMTI1cmVtOyBtYXJnaW4tYm90dG9tOiAtMy4xMjVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyBtYXJnaW4tdG9wOiAwLjQ2ODc1cmVtOyBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmNlbGwgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNTYyNXJlbSk7IG1hcmdpbi10b3A6IDAuNzgxMjVyZW07IG1hcmdpbi1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7IGhlaWdodDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IG1hcmdpbi10b3A6IDMuMTI1cmVtOyBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8geyBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDAuOTM3NXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC45Mzc1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjkzNzVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAwLjkzNzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuNTYyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAxLjU2MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuNTYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS41NjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMS41NjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5ncmlkLW1hcmdpbi15ID4gLmF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7IGhlaWdodDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMyB7IGhlaWdodDogY2FsYygyNSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNiB7IGhlaWdodDogY2FsYyg1MCUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDMuMTI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMy4xMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOSB7IGhlaWdodDogY2FsYyg3NSUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzLjEyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gMy4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsgeyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7IGhlaWdodDogY2FsYygyNSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7IGhlaWdodDogY2FsYyg1MCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7IGhlaWdodDogY2FsYyg3NSUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7IGhlaWdodDogY2FsYygxMDAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8geyBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7IGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHsgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHsgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHsgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHsgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHsgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7IGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEgeyBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMgeyBoZWlnaHQ6IGNhbGMoMjUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYgeyBoZWlnaHQ6IGNhbGMoNTAlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkgeyBoZWlnaHQ6IGNhbGMoNzUlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIgeyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEgeyBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTIgeyBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7IGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTUgeyBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7IGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTggeyBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAgeyBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMSB7IGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS1hdXRvIHsgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLXNocmluayB7IGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0xIHsgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtMiB7IGhlaWdodDogY2FsYygxNi42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS0zIHsgaGVpZ2h0OiBjYWxjKDI1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTQgeyBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtNSB7IGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS02IHsgaGVpZ2h0OiBjYWxjKDUwJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTcgeyBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gNi4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAueHh4bGFyZ2UtOCB7IGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSA2LjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC54eHhsYXJnZS05IHsgaGVpZ2h0OiBjYWxjKDc1JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTEwIHsgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTExIHsgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDYuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnh4eGxhcmdlLTEyIHsgaGVpZ2h0OiBjYWxjKDEwMCUgLSA2LjI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkgeyBoZWlnaHQ6IGNhbGMoMTAwdmggKyAwLjkzNzVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkgeyBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7IGhlaWdodDogY2FsYygxMDB2aCArIDEuNTYyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7IGhlaWdodDogY2FsYygxMDB2aCArIDYuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUgeyBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjU2MjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogY2FsYygxMDB2aCArIDEuNTYyNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogY2FsYygxMDB2aCArIDMuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmdyaWQtbWFyZ2luLXkueHhsYXJnZS1ncmlkLWZyYW1lIHsgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMy4xMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmdyaWQtbWFyZ2luLXkueHh4bGFyZ2UtZ3JpZC1mcmFtZSB7IGhlaWdodDogY2FsYygxMDB2aCArIDYuMjVyZW0pOyB9IH1cblxuLmJ1dHRvbiB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbWFyZ2luOiAwIDA7IHBhZGRpbmc6IDAuODVlbSAxZW07IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7IGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDEuNjI1cmVtOyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IGxpbmUtaGVpZ2h0OiAxOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7IG91dGxpbmU6IDA7IH1cblxuLmJ1dHRvbi50aW55IHsgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5idXR0b24ubGl0dGxlIHsgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG4uYnV0dG9uLnNtYWxsIHsgZm9udC1zaXplOiAxLjVyZW07IH1cblxuLmJ1dHRvbi5sYXJnZSB7IGZvbnQtc2l6ZTogMS44NzVyZW07IH1cblxuLmJ1dHRvbi54bGFyZ2UgeyBmb250LXNpemU6IDJyZW07IH1cblxuLmJ1dHRvbi5leHBhbmRlZCB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnV0dG9uLnNvbGlkLCAuYnV0dG9uLnNvbGlkLmRpc2FibGVkLCAuYnV0dG9uLnNvbGlkW2Rpc2FibGVkXSwgLmJ1dHRvbi5zb2xpZC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5zb2xpZFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc29saWQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc29saWRbZGlzYWJsZWRdOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzJhNzdlYjsgY29sb3I6ICMyYTc3ZWI7IH1cblxuLmJ1dHRvbi5zb2xpZDpob3ZlciwgLmJ1dHRvbi5zb2xpZDpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICMxNDYyZDc7IGNvbG9yOiAjMmE3N2ViOyB9XG5cbi5idXR0b24uc29saWQucHJpbWFyeSwgLmJ1dHRvbi5zb2xpZC5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNvbGlkLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLnNvbGlkLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc29saWQucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc29saWQucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zb2xpZC5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICMyYTc3ZWI7IGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5idXR0b24uc29saWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5zb2xpZC5wcmltYXJ5OmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogIzEzNWNjYjsgY29sb3I6ICNmZmZmZmY7IH1cblxuLmJ1dHRvbi5zb2xpZC5zZWNvbmRhcnksIC5idXR0b24uc29saWQuc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnNvbGlkLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24uc29saWQuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNvbGlkLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc29saWQuc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNvbGlkLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYnV0dG9uLnNvbGlkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zb2xpZC5zZWNvbmRhcnk6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlOyBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYnV0dG9uLnNvbGlkLnN1Y2Nlc3MsIC5idXR0b24uc29saWQuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5zb2xpZC5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi5zb2xpZC5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLnNvbGlkLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNvbGlkLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc29saWQuc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLnNvbGlkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc29saWQuc3VjY2Vzczpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7IGNvbG9yOiAjMmE3N2ViOyB9XG5cbi5idXR0b24uc29saWQud2FybmluZywgLmJ1dHRvbi5zb2xpZC53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLnNvbGlkLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLnNvbGlkLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc29saWQud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc29saWQud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zb2xpZC53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IGNvbG9yOiAjMmE3N2ViOyB9XG5cbi5idXR0b24uc29saWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5zb2xpZC53YXJuaW5nOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDsgY29sb3I6ICMyYTc3ZWI7IH1cblxuLmJ1dHRvbi5zb2xpZC5hbGVydCwgLmJ1dHRvbi5zb2xpZC5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5zb2xpZC5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uc29saWQuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc29saWQuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNvbGlkLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnNvbGlkLmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7IGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5idXR0b24uc29saWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uc29saWQuYWxlcnQ6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhOyBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMgeyBib3JkZXI6IDBweCBzb2xpZCAjMmE3N2ViOyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMgeyBib3JkZXItY29sb3I6ICMyYTc3ZWI7IGNvbG9yOiAjMmE3N2ViOyB9XG5cbi5idXR0b24uaG9sbG93LnByaW1hcnksIC5idXR0b24uaG9sbG93LnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeVtkaXNhYmxlZF06Zm9jdXMgeyBib3JkZXI6IDBweCBzb2xpZCAjMmE3N2ViOyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjMmE3N2ViOyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnksIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMgeyBib3JkZXI6IDBweCBzb2xpZCAjNzY3Njc2OyBjb2xvcjogIzc2NzY3NjsgfVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7IGJvcmRlci1jb2xvcjogIzc2NzY3NjsgY29sb3I6ICM3Njc2NzY7IH1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcywgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzcy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7IGJvcmRlcjogMHB4IHNvbGlkICMzYWRiNzY7IGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMgeyBib3JkZXItY29sb3I6ICMzYWRiNzY7IGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmcsIC5idXR0b24uaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cud2FybmluZ1tkaXNhYmxlZF06Zm9jdXMgeyBib3JkZXI6IDBweCBzb2xpZCAjZmZhZTAwOyBjb2xvcjogI2ZmYWUwMDsgfVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiAjZmZhZTAwOyBjb2xvcjogI2ZmYWUwMDsgfVxuXG4uYnV0dG9uLmhvbGxvdy5hbGVydCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyB7IGJvcmRlcjogMHB4IHNvbGlkICNjYzRiMzc7IGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7IGJvcmRlci1jb2xvcjogI2NjNGIzNzsgY29sb3I6ICNjYzRiMzc7IH1cblxuLmJ1dHRvbiwgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5idXR0b24sIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMgeyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHsgY29sb3I6ICMyYTc3ZWI7IH1cblxuLmJ1dHRvbi5wcmltYXJ5LCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzIHsgY29sb3I6ICMyYTc3ZWI7IH1cblxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMgeyBjb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpmb2N1cyB7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7IGNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7IGNvbG9yOiAjM2FkYjc2OyB9XG5cbi5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHsgY29sb3I6ICMzYWRiNzY7IH1cblxuLmJ1dHRvbi53YXJuaW5nLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sIC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzIHsgY29sb3I6ICNmZmFlMDA7IH1cblxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMgeyBjb2xvcjogI2ZmYWUwMDsgfVxuXG4uYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHsgY29sb3I6ICNjYzRiMzc7IH1cblxuLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7IGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHsgb3BhY2l0eTogMC4yNTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDAuNGVtOyBjb250ZW50OiAnJzsgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgYm9yZGVyLWNvbG9yOiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMC40ZW07IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjMmE3N2ViOyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogIzJhNzdlYjsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIgeyBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyIHsgYm9yZGVyLXRvcC1jb2xvcjogIzNhZGI3NjsgfVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICNmZmFlMDA7IH1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuYWxlcnQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlciB7IGJvcmRlci10b3AtY29sb3I6ICNjYzRiMzc7IH1cblxuLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7IHRvcDogLTAuMWVtOyBmbG9hdDogbm9uZTsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5jbG9zZS1idXR0b24geyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwOyBjb2xvcjogIzhhOGE4YTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHsgb3V0bGluZTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHsgY29sb3I6ICMwYTBhMGE7IH1cblxuLmNsb3NlLWJ1dHRvbi5zbWFsbCB7IHJpZ2h0OiAwLjY2cmVtOyB0b3A6IDAuMzNlbTsgZm9udC1zaXplOiAxLjVlbTsgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0geyByaWdodDogMXJlbTsgdG9wOiAwLjVyZW07IGZvbnQtc2l6ZTogMmVtOyBsaW5lLWhlaWdodDogMTsgfVxuXG4ubGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtOyBib3JkZXItcmFkaXVzOiAwOyBmb250LXNpemU6IDAuOHJlbTsgbGluZS1oZWlnaHQ6IDE7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGN1cnNvcjogZGVmYXVsdDsgYmFja2dyb3VuZDogIzJhNzdlYjsgY29sb3I6ICNmZmZmZmY7IH1cblxuLmxhYmVsLnByaW1hcnkgeyBiYWNrZ3JvdW5kOiAjMmE3N2ViOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4ubGFiZWwuc2Vjb25kYXJ5IHsgYmFja2dyb3VuZDogIzc2NzY3NjsgY29sb3I6ICNmZmZmZmY7IH1cblxuLmxhYmVsLnN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAjM2FkYjc2OyBjb2xvcjogIzBhMGEwYTsgfVxuXG4ubGFiZWwud2FybmluZyB7IGJhY2tncm91bmQ6ICNmZmFlMDA7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5sYWJlbC5hbGVydCB7IGJhY2tncm91bmQ6ICNjYzRiMzc7IGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5zd2l0Y2ggeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDFyZW07IG91dGxpbmU6IDA7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogI2ZmZmZmZjsgdXNlci1zZWxlY3Q6IG5vbmU7IGhlaWdodDogMnJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHsgcG9zaXRpb246IGFic29sdXRlOyBtYXJnaW4tYm90dG9tOiAwOyBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDRyZW07IGhlaWdodDogMnJlbTsgYm9yZGVyLXJhZGl1czogMDsgYmFja2dyb3VuZDogI2NhY2FjYTsgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0OyBmb250LXdlaWdodDogaW5oZXJpdDsgY29sb3I6IGluaGVyaXQ7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHsgbWFyZ2luOiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwLjE1cmVtOyBsZWZ0OiAwLjE1cmVtOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEuN3JlbTsgaGVpZ2h0OiAxLjdyZW07IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IGJvcmRlci1yYWRpdXM6IDA7IGJhY2tncm91bmQ6ICNmZmZmZmY7IHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDsgY29udGVudDogJyc7IH1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHsgYmFja2dyb3VuZDogIzJhNzdlYjsgfVxuXG5pbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHsgbGVmdDogMi4xNXJlbTsgfVxuXG5pbnB1dDpkaXNhYmxlZCB+IC5zd2l0Y2gtcGFkZGxlIHsgY3Vyc29yOiBub3QtYWxsb3dlZDsgb3BhY2l0eTogMC41OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHsgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7IGxlZnQ6IDglOyBkaXNwbGF5OiBub25lOyB9XG5cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7IHJpZ2h0OiAxNSU7IH1cblxuaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHsgaGVpZ2h0OiAxLjVyZW07IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHsgd2lkdGg6IDNyZW07IGhlaWdodDogMS41cmVtOyBmb250LXNpemU6IDAuNjI1cmVtOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIgeyB0b3A6IDAuMTVyZW07IGxlZnQ6IDAuMTVyZW07IHdpZHRoOiAxLjJyZW07IGhlaWdodDogMS4ycmVtOyB9XG5cbi5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHsgbGVmdDogMS42NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHsgaGVpZ2h0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUgeyB3aWR0aDogMy41cmVtOyBoZWlnaHQ6IDEuNzVyZW07IGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7IHRvcDogMC4xNXJlbTsgbGVmdDogMC4xNXJlbTsgd2lkdGg6IDEuNDVyZW07IGhlaWdodDogMS40NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIgeyBsZWZ0OiAxLjlyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7IGhlaWdodDogMi41cmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUgeyB3aWR0aDogNXJlbTsgaGVpZ2h0OiAyLjVyZW07IGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7IHRvcDogMC4xNXJlbTsgbGVmdDogMC4xNXJlbTsgd2lkdGg6IDIuMnJlbTsgaGVpZ2h0OiAyLjJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHsgbGVmdDogMi42NXJlbTsgfVxuXG50YWJsZSB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IHdpZHRoOiAxMDAlOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnRoZWFkLCB0Ym9keSwgdGZvb3QgeyBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbmNhcHRpb24geyBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IGZvbnQtd2VpZ2h0OiA0NTA7IH1cblxudGhlYWQgeyBiYWNrZ3JvdW5kOiAjZjlmOWY5OyBjb2xvcjogIzAwMTk0MzsgfVxuXG50Zm9vdCB7IGJhY2tncm91bmQ6ICNmMmYyZjI7IGNvbG9yOiAjMDAxOTQzOyB9XG5cbnRoZWFkIHRyLCB0Zm9vdCB0ciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbnRoZWFkIHRoLCB0aGVhZCB0ZCwgdGZvb3QgdGgsIHRmb290IHRkIHsgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyBmb250LXdlaWdodDogNDUwOyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRib2R5IHRoLCB0Ym9keSB0ZCB7IHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG50Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgeyBib3JkZXItYm90dG9tOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG5cbnRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgdGFibGUuc3RhY2sgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHsgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0ciwgdGFibGUuc3RhY2sgdGgsIHRhYmxlLnN0YWNrIHRkIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQgeyBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7IG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmRyb3Bkb3duLXBhbmUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEwOyBkaXNwbGF5OiBub25lOyB3aWR0aDogMzAwcHg7IHBhZGRpbmc6IDFyZW07IHZpc2liaWxpdHk6IGhpZGRlbjsgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgYm9yZGVyLXJhZGl1czogMDsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24tcGFuZS5pcy1vcGVuIHsgZGlzcGxheTogYmxvY2s7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7IHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7IHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7IHdpZHRoOiA0MDBweDsgfVxuXG4uaGFzLXRpcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBib3JkZXItYm90dG9tOiBub25lOyBmb250LXdlaWdodDogNDUwOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRvb2x0aXAgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTsgei1pbmRleDogMTIwMDsgbWF4LXdpZHRoOiAyMHZ3OyBwYWRkaW5nOiA1cHg7IGJvcmRlci1yYWRpdXM6IDA7IGJhY2tncm91bmQtY29sb3I6ICMwMTExMmE7IGZvbnQtc2l6ZTogODAlOyBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udG9vbHRpcDo6YmVmb3JlIHsgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMC43NXJlbTsgY29udGVudDogJyc7IGJvcmRlci10b3Atd2lkdGg6IDA7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAxMTEyYTsgYm90dG9tOiAxMDAlOyB9XG5cbi50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi50b29sdGlwLnRvcDo6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMC43NXJlbTsgY29udGVudDogJyc7IGJvcmRlci1ib3R0b20td2lkdGg6IDA7IGJvcmRlci1jb2xvcjogIzAxMTEyYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgdG9wOiAxMDAlOyBib3R0b206IGF1dG87IH1cblxuLnRvb2x0aXAudG9wLmFsaWduLWNlbnRlcjo6YmVmb3JlIHsgbGVmdDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnRvb2x0aXAubGVmdDo6YmVmb3JlIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAwOyBoZWlnaHQ6IDA7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci13aWR0aDogMC43NXJlbTsgY29udGVudDogJyc7IGJvcmRlci1yaWdodC13aWR0aDogMDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDExMTJhOyBsZWZ0OiAxMDAlOyB9XG5cbi50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUgeyBib3R0b206IGF1dG87IHRvcDogNTAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBib3JkZXItc3R5bGU6IHNvbGlkOyBib3JkZXItd2lkdGg6IDAuNzVyZW07IGNvbnRlbnQ6ICcnOyBib3JkZXItbGVmdC13aWR0aDogMDsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMDExMTJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyByaWdodDogMTAwJTsgbGVmdDogYXV0bzsgfVxuXG4udG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7IGJvdHRvbTogYXV0bzsgdG9wOiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7IGJvdHRvbTogYXV0bzsgdG9wOiAxMCU7IH1cblxuLnRvb2x0aXAuYWxpZ24tYm90dG9tOjpiZWZvcmUgeyBib3R0b206IDEwJTsgdG9wOiBhdXRvOyB9XG5cbi50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7IGxlZnQ6IDEwJTsgcmlnaHQ6IGF1dG87IH1cblxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7IGxlZnQ6IGF1dG87IHJpZ2h0OiAxMCU7IH1cblxuLmFjY29yZGlvbiB7IG1hcmdpbi1sZWZ0OiAwOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi5hY2NvcmRpb25bZGlzYWJsZWRdIC5hY2NvcmRpb24tdGl0bGUgeyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7IGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDAgMDsgYm9yZGVyOiBub25lOyBib3JkZXItYm90dG9tOiAwOyBmb250LXNpemU6IDIuMjVyZW07IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogIzAwMTk0MzsgfVxuXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMCAwOyBib3JkZXI6IG5vbmU7IGJvcmRlci1ib3R0b206IDA7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogIzAwMTk0MzsgfVxuXG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4udGFicyB7IG1hcmdpbjogMDsgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgYmFja2dyb3VuZDogI2ZmZmZmZjsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbi50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7IGRpc3BsYXk6IHRhYmxlOyBjb250ZW50OiAnICc7IGZsZXgtYmFzaXM6IDA7IG9yZGVyOiAxOyB9XG5cbi50YWJzOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkgeyBkaXNwbGF5OiBibG9jazsgZmxvYXQ6IG5vbmU7IHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7IHBhZGRpbmc6IDA7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7IGJhY2tncm91bmQ6ICMyYTc3ZWI7IH1cblxuLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAjMWQ2ZmVhOyB9XG5cbi50YWJzLXRpdGxlIHsgZmxvYXQ6IGxlZnQ7IH1cblxuLnRhYnMtdGl0bGUgPiBhIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtOyBmb250LXNpemU6IDAuNzVyZW07IGxpbmUtaGVpZ2h0OiAxOyBjb2xvcjogIzJhNzdlYjsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHsgb3V0bGluZTogMDsgfVxuXG4udGFicy10aXRsZSA+IGE6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjZmZmZmZmOyBjb2xvcjogIzE0NjNkYTsgfVxuXG4udGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10geyBiYWNrZ3JvdW5kOiAjZTZlNmU2OyBjb2xvcjogIzJhNzdlYjsgfVxuXG4udGFicy1jb250ZW50IHsgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgYm9yZGVyLXRvcDogMDsgYmFja2dyb3VuZDogI2ZmZmZmZjsgY29sb3I6ICMwMDE5NDM7IHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7IGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7IGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMXJlbTsgfVxuXG4udGFicy1wYW5lbC5pcy1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWVudSB7IHBhZGRpbmc6IDA7IG1hcmdpbjogMDsgbGlzdC1zdHlsZTogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHsgb3V0bGluZTogMDsgfVxuXG4ubWVudSBhLCAubWVudSAuYnV0dG9uIHsgbGluZS1oZWlnaHQ6IDE7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEwcHggMDsgfVxuXG4ubWVudSBpbnB1dCwgLm1lbnUgc2VsZWN0LCAubWVudSBhLCAubWVudSBidXR0b24geyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tZW51IGlucHV0IHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5tZW51LCAubWVudS5ob3Jpem9udGFsIHsgZmxleC13cmFwOiB3cmFwOyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5tZW51LnZlcnRpY2FsIHsgZmxleC13cmFwOiBub3dyYXA7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBpbWcsIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaSwgLm1lbnUudmVydGljYWwuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgaW1nLCAubWVudS52ZXJ0aWNhbC5pY29uLWJvdHRvbSBsaSBhIGksIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgc3ZnIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubWVudS5leHBhbmRlZCBsaSB7IGZsZXg6IDEgMSAwcHg7IH1cblxuLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpbWcsIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaSwgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaW1nLCAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGksIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubWVudS5zaW1wbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5tZW51LnNpbXBsZSBsaSArIGxpIHsgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm1lbnUuc2ltcGxlIGEgeyBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHsgZmxleC13cmFwOiB3cmFwOyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7IGZsZXgtd3JhcDogbm93cmFwOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51Lm1lZGl1bS1leHBhbmRlZCBsaSB7IGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubWVudS5sYXJnZS1ob3Jpem9udGFsIHsgZmxleC13cmFwOiB3cmFwOyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZW51LmxhcmdlLXZlcnRpY2FsIHsgZmxleC13cmFwOiBub3dyYXA7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkgeyBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7IGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7IGZsZXgtd3JhcDogd3JhcDsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS54bGFyZ2UtdmVydGljYWwgeyBmbGV4LXdyYXA6IG5vd3JhcDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS54bGFyZ2UtZXhwYW5kZWQgbGkgeyBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51LnhsYXJnZS1zaW1wbGUgbGkgeyBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAubWVudS54eGxhcmdlLWhvcml6b250YWwgeyBmbGV4LXdyYXA6IHdyYXA7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCB7IGZsZXgtd3JhcDogbm93cmFwOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZW51Lnh4bGFyZ2UtZXhwYW5kZWQgbGkgeyBmbGV4OiAxIDEgMHB4OyB9XG4gIC5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpIHsgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5tZW51Lnh4eGxhcmdlLWhvcml6b250YWwgeyBmbGV4LXdyYXA6IHdyYXA7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUueHh4bGFyZ2UtdmVydGljYWwgeyBmbGV4LXdyYXA6IG5vd3JhcDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVudS54eHhsYXJnZS1leHBhbmRlZCBsaSB7IGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUueHh4bGFyZ2Utc2ltcGxlIGxpIHsgZmxleDogMSAxIDBweDsgfSB9XG5cbi5tZW51Lm5lc3RlZCB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm1lbnUuaWNvbnMgYSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLm1lbnUuaWNvbi10b3AgYSwgLm1lbnUuaWNvbi1yaWdodCBhLCAubWVudS5pY29uLWJvdHRvbSBhLCAubWVudS5pY29uLWxlZnQgYSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSB7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuXG4ubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsIC5tZW51Lmljb24tbGVmdCBsaSBhIGksIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGltZywgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGksIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBzdmcgeyBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLm1lbnUuaWNvbi1yaWdodCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHsgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG5cbi5tZW51Lmljb24tcmlnaHQgbGkgYSBpbWcsIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLCAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIGltZywgLm1lbnUubmVzdGVkLmljb24tcmlnaHQgbGkgYSBpLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHN2ZyB7IG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG5cbi5tZW51Lmljb24tdG9wIGxpIGEsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHsgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG5cbi5tZW51Lmljb24tdG9wIGxpIGEgaW1nLCAubWVudS5pY29uLXRvcCBsaSBhIGksIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpbWcsIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIGksIC5tZW51Lm5lc3RlZC5pY29uLXRvcCBsaSBhIHN2ZyB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IG1hcmdpbi1ib3R0b206IDAuMjVyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSB7IGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuXG4ubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZywgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLCAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaW1nLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBpLCAubWVudS5uZXN0ZWQuaWNvbi1ib3R0b20gbGkgYSBzdmcgeyBhbGlnbi1zZWxmOiBzdHJldGNoOyBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lbnUgLmlzLWFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiAjMmE3N2ViOyBjb2xvcjogIzBhMGEwYTsgfVxuXG4ubWVudSAuYWN0aXZlID4gYSB7IGJhY2tncm91bmQ6ICMyYTc3ZWI7IGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5tZW51LmFsaWduLWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQgbGkgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIC5zdWJtZW51IGxpIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpbWcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tdG9wIGxpIGEgaSwgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaW1nLCAubWVudS5hbGlnbi1yaWdodC5pY29uLWJvdHRvbSBsaSBhIGksIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgc3ZnIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7IG1hcmdpbi1yaWdodDogMDsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5tZW51IC5tZW51LXRleHQgeyBwYWRkaW5nOiAxMHB4IDA7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogMTsgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDE2cHg7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubWVudS1pY29uOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiAjZmZmZmZmOyBib3gtc2hhZG93OiAwIDdweCAwICNmZmZmZmYsIDAgMTRweCAwICNmZmZmZmY7IGNvbnRlbnQ6ICcnOyB9XG5cbi5tZW51LWljb246aG92ZXI6OmFmdGVyIHsgYmFja2dyb3VuZDogI2NhY2FjYTsgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB3aWR0aDogMjBweDsgaGVpZ2h0OiAxNnB4OyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMnB4OyBiYWNrZ3JvdW5kOiAjMGEwYTBhOyBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7IGNvbnRlbnQ6ICcnOyB9XG5cbi5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kOiAjOGE4YThhOyBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmFjY29yZGlvbi1tZW51IGxpIHsgd2lkdGg6IDEwMCU7IH1cblxuLmFjY29yZGlvbi1tZW51IGEgeyBwYWRkaW5nOiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7IHBhZGRpbmc6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgeyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHsgbWFyZ2luLXJpZ2h0OiAwOyBtYXJnaW4tbGVmdDogMDsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHsgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogMDsgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDA7IGhlaWdodDogMDsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVyLXdpZHRoOiA2cHg7IGNvbnRlbnQ6ICcnOyBib3JkZXItYm90dG9tLXdpZHRoOiAwOyBib3JkZXItY29sb3I6ICMyYTc3ZWIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IHRvcDogMDsgYm90dG9tOiAwOyBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIgeyB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgd2lkdGg6IDFweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDFweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50OyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4geyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgei1pbmRleDogMTE7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHRyYW5zaXRpb246IG9wYWNpdHkgMHMgbm9uZSwgdmlzaWJpbGl0eSAwcyBub25lOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7IG9wYWNpdHk6IDE7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMgeyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgbm9uZTsgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjMDAxOTQzOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7IG91dGxpbmU6IDA7IH1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHsgei1pbmRleDogMTI7IH1cblxuLm9mZi1jYW52YXMuaXMtY2xvc2VkIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7IHotaW5kZXg6IDEzOyB9XG5cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgbm9uZTsgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjMDAxOTQzOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7IG91dGxpbmU6IDA7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHsgei1pbmRleDogMTI7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHsgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7IHotaW5kZXg6IDEzOyB9XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQgeyB0b3A6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3cteTogYXV0bzsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB3aWR0aDogMTAwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1sZWZ0Lmhhcy10cmFuc2l0aW9uLXB1c2ggeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4ucG9zaXRpb24tcmlnaHQgeyB0b3A6IDA7IHJpZ2h0OiAwOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93LXk6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgd2lkdGg6IDEwMCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQ7IH1cblxuLnBvc2l0aW9uLXRvcCB7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IG92ZXJmbG93LXg6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgaGVpZ2h0OiAxMDAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4ucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQ7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7IGJvdHRvbTogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IG92ZXJmbG93LXg6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgaGVpZ2h0OiAxMDAlOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2ggeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHsgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHsgdHJhbnNmb3JtOiBub25lOyBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLCAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2ggeyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2ggeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7IG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7IG1hcmdpbi1yaWdodDogMTAwJTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0geyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3AgeyBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMTAwJTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7IG1hcmdpbi1ib3R0b206IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7IG1hcmdpbi1yaWdodDogMTAwJTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHsgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLXRvcDogMTAwJTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMTAwJTsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQgeyBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7IG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQgeyBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQgeyBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB6LWluZGV4OiAxMjsgdHJhbnNpdGlvbjogbm9uZTsgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3AgeyBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7IG1hcmdpbi10b3A6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLWJvdHRvbTogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2UgeyB0cmFuc2Zvcm06IG5vbmU7IHotaW5kZXg6IDEyOyB0cmFuc2l0aW9uOiBub25lOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14eHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQgeyBtYXJnaW4tbGVmdDogMTAwJTsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eHhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDEwMCU7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHsgbWFyZ2luLXJpZ2h0OiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eHhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3AgeyBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQgeyBtYXJnaW4tdG9wOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB7IHRyYW5zZm9ybTogbm9uZTsgei1pbmRleDogMTI7IHRyYW5zaXRpb246IG5vbmU7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4eGxhcmdlIHsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAxMDAlOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQgeyBtYXJnaW4tYm90dG9tOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0geyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IHBvc2l0aW9uOiBzdGF0aWM7IGJhY2tncm91bmQ6IG5vbmU7IHdpZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZTsgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20geyBib3gtc2hhZG93OiBub25lOyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgaGVpZ2h0OiBhdXRvOyBwb3NpdGlvbjogc3RhdGljOyBiYWNrZ3JvdW5kOiBub25lOyB3aWR0aDogYXV0bzsgb3ZlcmZsb3c6IHZpc2libGU7IHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20geyBib3gtc2hhZG93OiBub25lOyB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIHsgdmlzaWJpbGl0eTogdmlzaWJsZTsgaGVpZ2h0OiBhdXRvOyBwb3NpdGlvbjogc3RhdGljOyBiYWNrZ3JvdW5kOiBub25lOyB3aWR0aDogYXV0bzsgb3ZlcmZsb3c6IHZpc2libGU7IHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHsgYm94LXNoYWRvdzogbm9uZTsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IHBvc2l0aW9uOiBzdGF0aWM7IGJhY2tncm91bmQ6IG5vbmU7IHdpZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZTsgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHsgYm94LXNoYWRvdzogbm9uZTsgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IHBvc2l0aW9uOiBzdGF0aWM7IGJhY2tncm91bmQ6IG5vbmU7IHdpZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZTsgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7IGJveC1zaGFkb3c6IG5vbmU7IHRyYW5zZm9ybTogbm9uZTsgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4eGxhcmdlIC5jbG9zZS1idXR0b24geyBkaXNwbGF5OiBub25lOyB9IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMCU7IG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwgeyBvdmVyZmxvdy15OiBzY3JvbGw7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkgeyBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxuLnJldmVhbC1vdmVybGF5IHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHotaW5kZXg6IDEwMDU7IGRpc3BsYXk6IG5vbmU7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7IG92ZXJmbG93LXk6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ucmV2ZWFsIHsgei1pbmRleDogMTAwNjsgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBkaXNwbGF5OiBub25lOyBwYWRkaW5nOiAxcmVtOyBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhOyBib3JkZXItcmFkaXVzOiAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogMTAwcHg7IG1hcmdpbi1yaWdodDogYXV0bzsgbWFyZ2luLWxlZnQ6IGF1dG87IG92ZXJmbG93LXk6IGF1dG87IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7IG91dGxpbmU6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnJldmVhbCB7IG1pbi1oZWlnaHQ6IDA7IH0gfVxuXG4ucmV2ZWFsIC5jb2x1bW4geyBtaW4td2lkdGg6IDA7IH1cblxuLnJldmVhbCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucmV2ZWFsIHsgd2lkdGg6IDYwMHB4OyBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4ucmV2ZWFsLmNvbGxhcHNlIHsgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucmV2ZWFsLnRpbnkgeyB3aWR0aDogMzAlOyBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucmV2ZWFsLnNtYWxsIHsgd2lkdGg6IDUwJTsgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnJldmVhbC5sYXJnZSB7IHdpZHRoOiA5MCU7IG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi5yZXZlYWwuZnVsbCB7IHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogbm9uZTsgaGVpZ2h0OiAxMDAlOyBtaW4taGVpZ2h0OiAxMDAlOyBtYXJnaW4tbGVmdDogMDsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5yZXZlYWwgeyB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBtYXgtd2lkdGg6IG5vbmU7IGhlaWdodDogMTAwJTsgbWluLWhlaWdodDogMTAwJTsgbWFyZ2luLWxlZnQ6IDA7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5yZXZlYWwud2l0aG91dC1vdmVybGF5IHsgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgd2lkdGg6IDEwMCU7IH1cblxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3AgeyB0b3A6IDA7IH1cblxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20geyBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcmlnaHQ6IGF1dG87IGxlZnQ6IGF1dG87IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20geyBib3R0b206IDA7IH1cblxuLnRpdGxlLWJhciB7IHBhZGRpbmc6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogI2ZmZmZmZjsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi50aXRsZS1iYXIgLm1lbnUtaWNvbiB7IG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0LCAudGl0bGUtYmFyLXJpZ2h0IHsgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsaWduLWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3AgeyBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHsgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7IGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHsgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIgeyBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7IG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHsgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUgeyBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7IG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7IG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7IG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxhcmdlLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7IG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7IG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAueGxhcmdlLW9yZGVyLTEgeyBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIgeyBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMgeyBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQgeyBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUgeyBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYgeyBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnh4bGFyZ2Utb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIgeyBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHsgb3JkZXI6IDM7IH1cbiAgLnh4bGFyZ2Utb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUgeyBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHsgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAueHh4bGFyZ2Utb3JkZXItMSB7IG9yZGVyOiAxOyB9XG4gIC54eHhsYXJnZS1vcmRlci0yIHsgb3JkZXI6IDI7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTMgeyBvcmRlcjogMzsgfVxuICAueHh4bGFyZ2Utb3JkZXItNCB7IG9yZGVyOiA0OyB9XG4gIC54eHhsYXJnZS1vcmRlci01IHsgb3JkZXI6IDU7IH1cbiAgLnh4eGxhcmdlLW9yZGVyLTYgeyBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7IGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsgeyBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tZWRpdW0tZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHsgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGFyZ2UtZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHsgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC54bGFyZ2UtZmxleC1jb250YWluZXIgeyBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHsgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHsgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1jb2x1bW4geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC54eGxhcmdlLWZsZXgtY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8geyBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7IGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC54eHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4eGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7IGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54eHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cgeyBmbGV4OiAxIDAgYXV0bzsgfVxuICAueHh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsgeyBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHh4bGFyZ2UtZmxleC1kaXItcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLnh4eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4eGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuLmhpZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzaWJsZSB7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmhpZGUtZm9yLXNtYWxsLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnNob3ctZm9yLXNtYWxsLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuaGlkZS1mb3ItbWVkaXVtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuc2hvdy1mb3ItbWVkaXVtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5oaWRlLWZvci1tZWRpdW0tb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmhpZGUtZm9yLWxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuc2hvdy1mb3ItbGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHsgLmhpZGUtZm9yLWxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5zaG93LWZvci1sYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmhpZGUtZm9yLXhsYXJnZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHsgLnNob3ctZm9yLXhsYXJnZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkgeyAuaGlkZS1mb3IteGxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5zaG93LWZvci14bGFyZ2Utb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmhpZGUtZm9yLXh4bGFyZ2UgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7IC5zaG93LWZvci14eGxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtYXgtd2lkdGg6IDExOS45OTg3NWVtKSB7IC5oaWRlLWZvci14eGxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmhpZGUtZm9yLXh4eGxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHsgLnNob3ctZm9yLXh4eGxhcmdlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmhpZGUtZm9yLXh4eGxhcmdlLW9ubHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkgeyAuc2hvdy1mb3IteHh4bGFyZ2Utb25seSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zciwgLnNob3ctb24tZm9jdXMgeyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgd2lkdGg6IDFweCAhaW1wb3J0YW50OyBoZWlnaHQ6IDFweCAhaW1wb3J0YW50OyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDsgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50OyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMgeyBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IGhlaWdodDogYXV0byAhaW1wb3J0YW50OyBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7IHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLCAuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7IC5zaG93LWZvci1sYW5kc2NhcGUsIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC5zaG93LWZvci1sYW5kc2NhcGUsIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgeyAuaGlkZS1mb3ItbGFuZHNjYXBlLCAuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7IC5oaWRlLWZvci1sYW5kc2NhcGUsIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItZGFyay1tb2RlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4uaGlkZS1mb3ItZGFyay1tb2RlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7IC5zaG93LWZvci1kYXJrLW1vZGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1kYXJrLW1vZGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItaWUgeyBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7IC5zaG93LWZvci1pZSB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLWllIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXN0aWNreSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtc3R1Y2sgLmhpZGUtZm9yLXN0aWNreSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnRleHQtd2hpdGUgeyBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGV4dC13aGl0ZSAubGlzdGluZyBsaSB7IGJvcmRlci10b3AtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRleHQtbG9nbyB7IGNvbG9yOiAjMDAxOTQzOyB9XG5cbi50ZXh0LWFjY2VudCB7IGNvbG9yOiAjMTI3MWZmOyB9XG5cbi5iZy13aGl0ZSB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmJnLWxvZ28geyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxOTQzOyB9XG5cbi5iZy1uYXZ5IHsgYmFja2dyb3VuZC1jb2xvcjogIzAxMTEyYTsgfVxuXG4uYmctYWNjZW50IHsgYmFja2dyb3VuZC1jb2xvcjogIzEyNzFmZjsgfVxuXG4uYmctYWNjZW50IC5idXR0b24geyBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50OyBib3JkZXItY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4uYmctYWNjZW50IC5idXR0b24gLmljb24gcGF0aCB7IHN0cm9rZTogI2ZmZmZmZiAhaW1wb3J0YW50OyB9XG5cbi5iZy1uYXZ5YmxhY2sgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwNjBmOyB9XG5cbi5maWxsLWxvZ28geyBmaWxsOiAjMDAxOTQzOyB9XG5cbi5maWxsLXdoaXRlIHBhdGggeyBmaWxsOiAjZmZmZmZmOyB9XG5cbi8qXG5taW46IDc2OHB4XG5tYXg6IDI4ODBweFxucHJlZGVmaW5lZCB2YWx1ZXNAIDE3ODBweCBcbiovXG5ib2R5IHsgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IFwic2xudFwiIDAsIFwid2R0aFwiIDEyNSwgXCJHUkFEXCIgMCwgXCJYT1BRXCIgOTYsIFwiWFRSQVwiIDQ2OCwgXCJZT1BRXCIgNzksIFwiWVRBU1wiIDcyMCwgXCJZVERFXCIgLTIwMywgXCJZVEZJXCIgNzM4LCBcIllUTENcIiA1MzAsIFwiWVRVQ1wiIDc0NTsgfVxuXG4vKiBIXy9IMSA5NSAqL1xuaDEsIC5oMSB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bzsgZm9udC13ZWlnaHQ6IDQyMDsgbGluZS1oZWlnaHQ6IDEuMWVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zbWFsbC1zY2FsZWRvd24gaDEsIC5zbWFsbC1zY2FsZWRvd24gLmgxIHsgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IGgxLmJpZ2J1dHRvbi1hbmksIC5oMS5iaWdidXR0b24tYW5pIHsgZm9udC1zaXplOiA2LjV2dzsgfSB9XG5cbi8qIEhfL0gxIDExMCAqL1xuaDEuZ2lhbnQsIC5oMS5naWFudCB7IGxpbmUtaGVpZ2h0OiAxLjFlbTsgcGFkZGluZy1ib3R0b206IDAuMDVlbTsgZm9udC13ZWlnaHQ6IDQ4MDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBoMS5naWFudCwgLmgxLmdpYW50IHsgZm9udC1zaXplOiBjbGFtcCgzLjVyZW0sIDIuMjI3M3JlbSArIDIuNjUxNXZ3LCA3LjVyZW0pOyB9IH1cblxuLyogSF8vSDIgNzUgKi9cbmgyLCAuaDIgeyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87IGxpbmUtaGVpZ2h0OiAxLjFlbTsgZm9udC13ZWlnaHQ6IDQwNTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuc21hbGwtc2NhbGVkb3duIGgyLCAuc21hbGwtc2NhbGVkb3duIC5oMiB7IGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG5oMywgLmgzIHsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogMC4wMWVtOyBsaW5lLWhlaWdodDogMS4yZW07IGZvbnQtc2l6ZTogMTEwJTsgfVxuXG5oMy51cHBlcmNhc2UsIC5oMy51cHBlcmNhc2UgeyBsZXR0ZXItc3BhY2luZzogMC4wM2VtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zbWFsbC1zY2FsZWRvd24gaDMsIC5zbWFsbC1zY2FsZWRvd24gLmgzIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbmg0LCAuaDQgeyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87IGZvbnQtd2VpZ2h0OiA1MDA7IGxldHRlci1zcGFjaW5nOiAwLjAyZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgaDEsIC5oMSB7IGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHsgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMsIC5oMyB7IGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0LCAuaDQgeyBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2LCAuaDYgeyBmb250LXNpemU6IDFyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBoMSwgLmgxIHsgZm9udC1zaXplOiBjbGFtcCgzcmVtLCAxLjkwOTFyZW0gKyAydncsIDUuMnJlbSk7IH1cbiAgaDIsIC5oMiB7IGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCAxLjY4MThyZW0gKyAxLjcwNDV2dywgNC43NXJlbSk7IH1cbiAgaDMsIC5oMyB7IGZvbnQtc2l6ZTogY2xhbXAoMS45Mzc1cmVtLCAxLjQ2MDJyZW0gKyAwLjk5NDN2dywgMy4yNXJlbSk7IH1cbiAgaDQsIC5oNCB7IGZvbnQtc2l6ZTogY2xhbXAoMS41NjI1cmVtLCAxLjIyMTZyZW0gKyAwLjcxMDJ2dywgMi41cmVtKTsgfSB9XG5cbmgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQgeyBtYXJnaW4tdG9wOiAtMC4xMmVtOyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCB7IG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IGgxLCAuaDEsIGgyLCAuaDIsIGgzLCAuaDMsIGg0LCAuaDQgeyBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbmgxOm5vdCguZ2lhbnQpLCAuaDE6bm90KC5naWFudCksIGgyOm5vdCguZ2lhbnQpLCAuaDI6bm90KC5naWFudCksIGgzOm5vdCguZ2lhbnQpLCAuaDM6bm90KC5naWFudCksIGg0Om5vdCguZ2lhbnQpLCAuaDQ6bm90KC5naWFudCkgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmgxIHN1cCwgLmgxIHN1cCwgaDIgc3VwLCAuaDIgc3VwLCBoMyBzdXAsIC5oMyBzdXAsIGg0IHN1cCwgLmg0IHN1cCB7IHRvcDogLTAuOGVtOyBmb250LXNpemU6IDUwJTsgfVxuXG5wIHsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXdlaWdodDogMzMwOyBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuNzcyN3JlbSArIDAuNDczNXZ3LCAxLjYyNXJlbSk7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG5cbnAgKyAuYnV0dG9uIHsgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IHAgKyAuYnV0dG9uIHsgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgcCArIC5idXR0b24geyBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IHAgKyAuYnV0dG9uIHsgbWFyZ2luLXRvcDogNi4yNXJlbTsgfSB9XG5cbnAudW5pbmRlbnQsIHAudW5pbmRlbnQgKyBwIH4gcCwgLnVuaW5kZW50ID4gcCB7IHRleHQtaW5kZW50OiAwOyB9XG5cbnAgPiBhIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnBsYXN0LW1iMCBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG5cbi5zbWFsbGVyIHsgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zbWFsbGVyIHsgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5zbWFsbGVyIHsgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLm92ZXJsaW5lIHsgZm9udC1zaXplOiAwLjc1cmVtOyBmb250LXdlaWdodDogMzUwOyBsZXR0ZXItc3BhY2luZzogMC4wMmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB0ZXh0LWluZGVudDogMDsgb3BhY2l0eTogMC44OyBmb250LWZhbWlseTogXCJSb2JvdG8gRmxleFwiLCBzYW5zLXNlcmlmOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5vdmVybGluZSB7IGZvbnQtc2l6ZTogMC44NzVyZW07IGZvbnQtd2VpZ2h0OiA0NTA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAub3ZlcmxpbmUgeyBmb250LXNpemU6IDFyZW07IGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHsgLm92ZXJsaW5lIHsgcGFkZGluZy1ib3R0b206IDI1cHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5vdmVybGluZSB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuXG5zdHJvbmcsIC5zdHJvbmcgeyBmb250LXdlaWdodDogNTAwOyB9XG5cbi5zdHJvbmdlc3QgeyBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zcGFjZSB7IGZvbnQtZmFtaWx5OiBcIlNwYWNlIEdyb3Rlc2tcIiwgc2Fucy1zZXJpZjsgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bzsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi50ZXh0LWJ1dHRvbiB7IGZvbnQtc2l6ZTogMXJlbTsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuMjsgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAudGV4dC1idXR0b24geyBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnRleHQtYnV0dG9uIHsgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnRleHQtYnV0dG9uIHsgZm9udC1zaXplOiAxLjVyZW07IGxpbmUtaGVpZ2h0OiAycmVtOyBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfSB9XG5cbi51cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbnNlY3Rpb24sIC5yZWxhdGl2ZSwgZm9vdGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbnNlY3Rpb24sIGZvb3RlciB7IHotaW5kZXg6IDY7IG92ZXJmbG93LXg6IGhpZGRlbjsgb3ZlcmZsb3cteTogY2xpcDsgfVxuXG4uYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgfVxuXG4ucmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm0tMCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5tdC0wIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4ubXQtYXV0byB7IG1hcmdpbi10b3A6IGF1dG87IH1cblxuLm10LWdyaWQgeyBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm10LWdyaWQgeyBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubXQtZ3JpZCB7IG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5tdC1ncmlkIHsgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuXG4ubWItMCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1iLWF1dG8geyBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG5cbi5tYi1ncmlkIHsgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5tYi1ncmlkIHsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLm1iLWdyaWQgeyBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAubWItZ3JpZCB7IG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLm1iLWwtMCB7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAubWIteGwtMCB7IG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ubWwtYXV0byB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5tci1hdXRvIHsgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5wLTAgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnB5LWdyaWQgeyBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5weS1ncmlkIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5weS1ncmlkIHsgcGFkZGluZy10b3A6IDIuNXJlbTsgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5weS1ncmlkIHsgcGFkZGluZy10b3A6IDMuMTI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ucHktZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHktZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5weS1ncmlkLS1zcGFjZWQgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5weS0yNTAgeyBwYWRkaW5nLXRvcDogMy43NXJlbTsgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnB5LTI1MCB7IHBhZGRpbmctdG9wOiA2LjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5weS0yNTAgeyBwYWRkaW5nLXRvcDogMTByZW07IHBhZGRpbmctYm90dG9tOiAxMHJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5weS0yNTAgeyBwYWRkaW5nLXRvcDogMTIuNXJlbTsgcGFkZGluZy1ib3R0b206IDEyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucHktbC0wIHsgcGFkZGluZy10b3A6IDA7IHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLnB4LWdyaWQgeyBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5weC1ncmlkIHsgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5weC1ncmlkIHsgcGFkZGluZy1sZWZ0OiAyLjVyZW07IHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5weC1ncmlkIHsgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTsgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuXG4ucHgtZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHgtZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5weC1ncmlkLS1zcGFjZWQgeyBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbi5wdC0wIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4ucHQtZ3JpZCB7IHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnB0LWdyaWQgeyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnB0LWdyaWQgeyBwYWRkaW5nLXRvcDogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnB0LWdyaWQgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH0gfVxuXG4ucHQtZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHQtZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5wdC1ncmlkLS1zcGFjZWQgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH0gfVxuXG4ucHQtZ3JpZC0tZmlyc3QgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnB0LWdyaWQtLWZpcnN0IHsgcGFkZGluZy10b3A6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnB0LWdyaWQtLWZpcnN0IHsgcGFkZGluZy10b3A6IDYuMjVyZW07IH0gfVxuXG4ucHQtMTAwIHsgcGFkZGluZy10b3A6IDEuODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5wdC0xMDAgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucHQtMTAwIHsgcGFkZGluZy10b3A6IDVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAucHQtMTAwIHsgcGFkZGluZy10b3A6IDYuMjVyZW07IH0gfVxuXG4ucHQtMTUwIHsgcGFkZGluZy10b3A6IDIuODEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHQtMTUwIHsgcGFkZGluZy10b3A6IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5wdC0xNTAgeyBwYWRkaW5nLXRvcDogNy41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnB0LTE1MCB7IHBhZGRpbmctdG9wOiA5LjM3NXJlbTsgfSB9XG5cbi5wdC0yMDAgeyBwYWRkaW5nLXRvcDogMy43NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHQtMjAwIHsgcGFkZGluZy10b3A6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucHQtMjAwIHsgcGFkZGluZy10b3A6IDEwcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnB0LTIwMCB7IHBhZGRpbmctdG9wOiAxMi41cmVtOyB9IH1cblxuLnB0LTI1MCB7IHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5wdC0yNTAgeyBwYWRkaW5nLXRvcDogNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5wdC0yNTAgeyBwYWRkaW5nLXRvcDogMTByZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAucHQtMjUwIHsgcGFkZGluZy10b3A6IDEyLjVyZW07IH0gfVxuXG4ucGItMCB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBiLWdyaWQgeyBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5wYi1ncmlkIHsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5wYi1ncmlkIHsgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5wYi1ncmlkIHsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLnBiLWdyaWQtLXNwYWNlZCB7IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnBiLWdyaWQtLXNwYWNlZCB7IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucGItZ3JpZC0tc3BhY2VkIHsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLnBiLTEwMCB7IHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucGItMTAwIHsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnBiLTEwMCB7IHBhZGRpbmctYm90dG9tOiA1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnBiLTEwMCB7IHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuLnBiLTE1MCB7IHBhZGRpbmctYm90dG9tOiAyLjgxMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnBiLTE1MCB7IHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucGItMTUwIHsgcGFkZGluZy1ib3R0b206IDcuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5wYi0xNTAgeyBwYWRkaW5nLWJvdHRvbTogOS4zNzVyZW07IH0gfVxuXG4ucGItMjAwIHsgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnBiLTIwMCB7IHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnBiLTIwMCB7IHBhZGRpbmctYm90dG9tOiAxMHJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5wYi0yMDAgeyBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTsgfSB9XG5cbi5wYi0yNTAgeyBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucGItMjUwIHsgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAucGItMjUwIHsgcGFkZGluZy1ib3R0b206IDEwcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnBiLTI1MCB7IHBhZGRpbmctYm90dG9tOiAxMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnBiLWwtMCB7IHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnBiLXhsLTAgeyBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLnBiLXh4bC0wIHsgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4ucHItZ3JpZCB7IHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAucHItZ3JpZCB7IHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5wci1ncmlkIHsgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAucHItZ3JpZCB7IHBhZGRpbmctcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG4ub3ZlcmxpbmUgeyBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5vdmVybGluZSB7IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAub3ZlcmxpbmUgeyBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLm92ZXJsaW5lIHsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLm5vLWJvcmRlciwgLm5vLWJvcmRlciAuZ3JpZC14IHsgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1hYnMtYmVudG8geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAueGxhcmdlLWFicy1iZW50byB7IG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1hYnMtYmVudG8geyBtYXJnaW4tbGVmdDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnhsYXJnZS1hYnMtYmVudG8geyBtYXJnaW4tbGVmdDogNi4yNXJlbTsgfSB9XG5cbi53LWZ1bGwgeyB3aWR0aDogMTAwJTsgfVxuXG4udy01MCB7IHdpZHRoOiA1MCU7IH1cblxuLnctNjYgeyB3aWR0aDogNjYlOyB9XG5cbi5oLWZ1bGwgeyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnhsYXJnZS1tdzIwIHsgbWF4LXdpZHRoOiA0MHZ3OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnhsYXJnZS1tdzIwIHsgbWF4LXdpZHRoOiAyMHZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQzLjc1ZW0pIHsgLnh4eHhsYXJnZS11cC0zID4gLmNlbGwgeyB3aWR0aDogMzMuMzMzMyU7IH0gfVxuXG51bC5ncmlkLXggeyBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgaGVpZ2h0OiAxMDAlOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMTk0MzsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDE5NDM7IHBhZGRpbmctbGVmdDogMS44NzVyZW07IHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctbGVmdDogMy4xMjVyZW07IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy1sZWZ0OiA1cmVtOyBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy1sZWZ0OiA2LjI1cmVtOyBwYWRkaW5nLXJpZ2h0OiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDAxOTQzOyBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMTk0MzsgcGFkZGluZy10b3A6IDEuNDA2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjQwNjI1cmVtOyBwYWRkaW5nLWxlZnQ6IDEuNDA2MjVyZW07IHBhZGRpbmctcmlnaHQ6IDEuNDA2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy10b3A6IDIuMzQzNzVyZW07IHBhZGRpbmctYm90dG9tOiAyLjM0Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctdG9wOiAzLjc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBwYWRkaW5nLXRvcDogNC42ODc1cmVtOyBwYWRkaW5nLWJvdHRvbTogNC42ODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctbGVmdDogMi4zNDM3NXJlbTsgcGFkZGluZy1yaWdodDogMi4zNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07IHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy1sZWZ0OiA0LjY4NzVyZW07IHBhZGRpbmctcmlnaHQ6IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IHBhZGRpbmctbGVmdDogMS40MDYyNXJlbTsgcGFkZGluZy1yaWdodDogMS40MDYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy10b3A6IDMuMTI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2ljb25HcmlkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgcGFkZGluZy1sZWZ0OiAyLjM0Mzc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAyLjM0Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNpY29uR3JpZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IHBhZGRpbmctbGVmdDogMy43NXJlbTsgcGFkZGluZy1yaWdodDogMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBwYWRkaW5nLWxlZnQ6IDQuNjg3NXJlbTsgcGFkZGluZy1yaWdodDogNC42ODc1cmVtOyB9IH1cblxuI2ljb25HcmlkIC5jZWxsOmZpcnN0LWNoaWxkIC5hbGlnbi1jZW50ZXItbWlkZGxlLCAjaWNvbkdyaWQgLmNlbGw6bGFzdC1jaGlsZCAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMTk0MzsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMTk0MzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaWNvbkdyaWQgLmNlbGw6Zmlyc3QtY2hpbGQgLmFsaWduLWNlbnRlci1taWRkbGUsICNpY29uR3JpZCAuY2VsbDpsYXN0LWNoaWxkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgYm9yZGVyLXdpZHRoOiAycHg7IH0gfVxuXG4udGV4dC13aGl0ZSAjaWNvbkdyaWQgLmFsaWduLWNlbnRlci1taWRkbGUgeyBib3JkZXItY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4udGV4dC13aGl0ZSAjaWNvbkdyaWQgc3ZnIHsgZmlsbDogI2ZmZmZmZjsgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHsgLnNob3ctZm9yLXh4bGFyZ2UgeyBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuaGlkZS1mb3IteHhsYXJnZSB7IGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYnV0dG9uIHsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogNjAwOyBsaW5lLWhlaWdodDogMS4yOyBsZXR0ZXItc3BhY2luZzogMC4wMWVtOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkOyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmJ1dHRvbiB7IGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnV0dG9uIHsgZm9udC1zaXplOiAxLjI1cmVtOyBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgLmJ1dHRvbiB7IGZvbnQtc2l6ZTogMS4zNzVyZW07IGxpbmUtaGVpZ2h0OiAycmVtOyBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfSB9XG5cbi5idXR0b24uc21hbGwsIC5idXR0b24ubGl0dGxlIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYnV0dG9uLnNtYWxsIHsgZm9udC1zaXplOiAxcmVtOyBsaW5lLWhlaWdodDogMS4yOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5idXR0b24uc21hbGwgeyBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7IC5idXR0b24uc21hbGwgeyBmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IDJyZW07IH0gfVxuXG4uYnV0dG9uLmxpdHRsZSB7IGZvbnQtc2l6ZTogMC45Mzc1cmVtOyBsaW5lLWhlaWdodDogMS4yOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5idXR0b24ubGl0dGxlIHsgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuLmJ1dHRvbi5jb25zZW50IHsgcG9zaXRpb246IGFic29sdXRlOyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7IHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IH1cblxuLmJ1dHRvbi5jb25zZW50IC5pY29uIHsgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5idXR0b24uY29uc2VudCAuaWNvbiB7IG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5idXR0b24uY29uc2VudCAuaWNvbiB7IG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5idXR0b24uY29uc2VudCAuaWNvbiB7IG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cblxuLmJ1dHRvbi5jb25zZW50IC5pY29uIHN2ZyBjaXJjbGUgeyB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOyB9XG5cbi5idXR0b24uY29uc2VudDpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfVxuXG4uYnV0dG9uLmNvbnNlbnQ6aG92ZXIgLmljb24gc3ZnIGNpcmNsZSB7IGZpbGw6ICMxMjcxZmY7IH1cblxuLmJ1dHRvbi5jb25zZW50IC5weC1ncmlkIHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogMTRweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnV0dG9uLmNvbnNlbnQgLnB4LWdyaWQgeyBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5hLmRvd25sb2FkIHsgYm9yZGVyOiBub25lOyBtYXJnaW46IDA7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZmxvdzogcm93IG5vd3JhcDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGNvbG9yOiAjMDAxOTQzOyB9XG5cbmEuZG93bmxvYWQgaW1nIHsgcGFkZGluZzogMTBweDsgYm9yZGVyOiAxcHggc29saWQgI2EwYjZkNTsgfVxuXG5hLmRvd25sb2FkIC5pY29uIHsgZm9udC1zaXplOiAxcmVtOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtd2VpZ2h0OiA1MDA7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGxpbmUtaGVpZ2h0OiAxLjU7IGRpc3BsYXk6IGJsb2NrOyBzdHJva2U6ICMxMjcxZmY7IGNvbG9yOiAjMTI3MWZmOyB3aWR0aDogNDVweDsgaGVpZ2h0OiA2NXB4OyBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyBtYXJnaW4tdG9wOiAtNXB4OyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBhLmRvd25sb2FkIC5pY29uIHsgbWFyZ2luLWJvdHRvbTogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgYS5kb3dubG9hZCAuaWNvbiB7IG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgYS5kb3dubG9hZCAuaWNvbiB7IG1hcmdpbi1yaWdodDogNi4yNXJlbTsgfSB9XG5cbmEuZG93bmxvYWQgc3ZnIHsgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuYS5kb3dubG9hZCAuc21hbGxlciB7IGZvbnQtc2l6ZTogMTRweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyBhLmRvd25sb2FkIHsgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGEuZG93bmxvYWQgeyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgYS5kb3dubG9hZCB7IG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyBhLmRvd25sb2FkIHsgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBhLmRvd25sb2FkIC5pY29uIHsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLXJpZ2h0OiAwOyBoZWlnaHQ6IDY1cHg7IG9yZGVyOiAyOyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBhLmRvd25sb2FkIC5kZXNjcmlwdGlvbiB7IG9yZGVyOiAxOyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgYS5kb3dubG9hZCAuZGVzY3JpcHRpb24geyBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgYS5kb3dubG9hZCAuZGVzY3JpcHRpb24geyBwYWRkaW5nLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyBhLmRvd25sb2FkIC5kZXNjcmlwdGlvbiB7IHBhZGRpbmctcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBhLmRvd25sb2FkIC5zbWFsbGVyIHsgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMjVlbSkgeyBhLmRvd25sb2FkIC5pY29uIHsgb3JkZXI6IDE7IG1hcmdpbi1sZWZ0OiAwOyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjI1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjI1ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMjVlbSkgYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IGEuZG93bmxvYWQgLmljb24geyBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSB7IGEuZG93bmxvYWQgLmRlc2NyaXB0aW9uIHsgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSB7IGEuZG93bmxvYWQuaGFzLWltYWdlIHsgZmxleC1mbG93OiBjb2x1bW47IH1cbiAgYS5kb3dubG9hZC5oYXMtaW1hZ2UgLmljb24geyBtYXJnaW4tcmlnaHQ6IDA7IG1hcmdpbi1ib3R0b206IDAuNzAzMTNyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyBhLmRvd25sb2FkLmhhcy1pbWFnZSAuaWNvbiB7IG1hcmdpbi1ib3R0b206IDEuMTcxODhyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1Ni4yNWVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBhLmRvd25sb2FkLmhhcy1pbWFnZSAuaWNvbiB7IG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTYuMjVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgYS5kb3dubG9hZC5oYXMtaW1hZ2UgLmljb24geyBtYXJnaW4tYm90dG9tOiAyLjM0Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgYS5kb3dubG9hZC5oYXMtaW1hZ2UgLmljb24geyBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGEuZG93bmxvYWQuaGFzLWltYWdlIC5pY29uIHsgbWFyZ2luLWJvdHRvbTogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBhLmRvd25sb2FkLmhhcy1pbWFnZSAuaWNvbiB7IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgYS5kb3dubG9hZC5oYXMtaW1hZ2UgLmljb24geyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG4uaWNvbiBzdmcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBkaXNwbGF5OiBibG9jazsgfVxuXG4uYnV0dG9uLnRleHQtYWNjZW50LCAuYnV0dG9uLmFjdGl2ZSB7IGNvbG9yOiAjMTI3MWZmOyBib3JkZXItY29sb3I6ICMxMjcxZmY7IH1cblxuLmJ1dHRvbi50ZXh0LWFjY2VudCBzdmcsIC5idXR0b24uYWN0aXZlIHN2ZyB7IHN0cm9rZTogIzEyNzFmZjsgfVxuXG4uYnV0dG9uIC5pY29uLCAuc2Nyb2xsaGludCAuaWNvbiwgLm9wZW52aWRlbyAuaWNvbiB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMzBweDsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4tbGVmdDogMTBweDsgbWFyZ2luLXRvcDogLTE1cHg7IG1hcmdpbi1ib3R0b206IC0xMHB4OyB9XG5cbi5idXR0b24gLmljb24gc3ZnLCAuc2Nyb2xsaGludCAuaWNvbiBzdmcsIC5vcGVudmlkZW8gLmljb24gc3ZnIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYnV0dG9uIC5pY29uLCAuc2Nyb2xsaGludCAuaWNvbiwgLm9wZW52aWRlbyAuaWNvbiB7IHdpZHRoOiA0NXB4OyBoZWlnaHQ6IDQ1cHg7IG1hcmdpbi1sZWZ0OiAxNXB4OyB9IH1cblxuLm92ZXJsYXktcGxheSB7IHdpZHRoOiA2dnc7IGFzcGVjdC1yYXRpbzogMS8xOyB9XG5cbi5vdmVybGF5LXBsYXkgLmljb24geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA2dnc7IH1cblxuLm92ZXJsYXktcGxheSBzdmcgPiAqIHsgc3Ryb2tlOiAjMTI3MWZmOyBzdHJva2Utd2lkdGg6IDJweDsgfVxuXG4ub3ZlcmxheS1wbGF5OmhvdmVyIHN2ZyBwYXRoIHsgZmlsbDogIzEyNzFmZjsgfVxuXG4uYmlnYnV0dG9uLWFuaSB7IC0tYmItZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICByZ2IoMjU1LCAyNTUsIDI1NSkgLTE1JSxcbiAgICByZ2IoMTgsIDExMywgMjU1KSAtMTQlLFxuICAgIHJnYigxOCwgMTEzLCAyNTUpIC0xMCUsXG4gICAgcmdiKDI1NSwgMjU1LCAyNTUpIC01JSxcbiAgICByZ2IoMCwgMjUsIDY3KSAwXG4gICk7IC0tc3Ryb2tlOiAwZW07IGRpc3BsYXk6IGlubGluZS1ibG9jazsgY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXdlaWdodDogNTAwOyBiYWNrZ3JvdW5kOiB2YXIoLS1iYi1ncmFkaWVudCk7IGJhY2tncm91bmQtc2l6ZTogMTAwJSAxNTAlOyBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7IC13ZWJraXQtdGV4dC1zdHJva2U6IHZhcigtLXN0cm9rZSkgdHJhbnNwYXJlbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmJpZ2J1dHRvbi1hbmkgc3Bhbi5oMSB7IGZvbnQtc2l6ZTogNi41dnc7IH0gfVxuXG4uYnV0dG9uIC5pY29uLmR1cGxpY2F0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uYnVyZ2VyOmhvdmVyLCAuYnVyZ2VyOmZvY3VzIHsgY29sb3I6ICNmZmZmZmY7IH1cblxuQGtleWZyYW1lcyBwbGF5MTAgeyAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7IH1cbiAgMTAwJSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJldjEwIHsgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMHB4OyB9XG4gIDEwMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4OyB9IH1cblxuQGtleWZyYW1lcyBwbGF5MTAyNCB7IDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IDBweDsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc2OHB4IDBweDsgfSB9XG5cbkBrZXlmcmFtZXMgcmV2MTAyNCB7IDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc2OHB4IDBweDsgfVxuICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IDBweDsgfSB9XG5cbi5idXJnZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMyUpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5idXJnZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNSUsIDMlKTsgfSB9XG5cbi5idXJnZXIgLmljb24geyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2J1cmdlci1pY29uLnN2Zyk7IGFuaW1hdGlvbi1kdXJhdGlvbjogMTUwbXM7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDkpOyBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhcjsgbWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMDsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5idXJnZXIgLmljb24geyB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgtNDVkZWcpOyB9IH1cblxuLmJ1cmdlciAuaWNvbi5zdGVwMSB7IGFuaW1hdGlvbi1uYW1lOiBwbGF5MTA7IHRyYW5zZm9ybTogc2NhbGUoMC43KSByb3RhdGUoMGRlZyk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmJ1cmdlciAuaWNvbi5zdGVwMSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpOyB9IH1cblxuLmJ1cmdlciAuaWNvbi5yZXYtc3RlcDEgeyBhbmltYXRpb24tbmFtZTogcmV2MTA7IH1cblxuLmJ1cmdlciAuaWNvbi5zdGVwMiB7IGFuaW1hdGlvbi1uYW1lOiByZXYxMDI0OyBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDE1KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgbGluZWFyOyB9XG5cbi5idXJnZXIgLmljb24ucmV2LXN0ZXAyIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpIHJvdGF0ZSgtMTgwZGVnKTsgYW5pbWF0aW9uLW5hbWU6IHBsYXkxMDI0OyBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDE1KTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgbGluZWFyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5idXJnZXIgLmljb24ucmV2LXN0ZXAyIHsgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoLTE4MGRlZyk7IH0gfVxuXG4uYnVyZ2VyIC5idG5sYWJlbCB7IHBhZGRpbmctdG9wOiAycHg7IH1cblxuLnNjcm9sbGhpbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgbGVmdDogNTAlOyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpOyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zY3JvbGxoaW50IHsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuc2Nyb2xsaGludCB7IG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuc2Nyb2xsaGludCB7IG1hcmdpbi1yaWdodDogNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5zY3JvbGxoaW50IHsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnNjcm9sbGhpbnQgeyBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5zY3JvbGxoaW50IC5pY29uIHsgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7IC5zY3JvbGxoaW50IHsgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcGVudmlkZW8geyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsgcmlnaHQ6IDA7IHotaW5kZXg6IDEwOyBjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOiAyNTBweDsgaGVpZ2h0OiA1MHB4OyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBhbGlnbi1pdGVtczogY2VudGVyOyBjb2xvcjogIzEyNzFmZjsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgbWFyZ2luLWJvdHRvbTogMC43ODEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAub3BlbnZpZGVvIHsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAub3BlbnZpZGVvIHsgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7IC5vcGVudmlkZW8geyBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAub3BlbnZpZGVvIHsgbWFyZ2luLWJvdHRvbTogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5vcGVudmlkZW8geyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAub3BlbnZpZGVvIHsgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5vcGVudmlkZW8gLnRleHQgeyBvcGFjaXR5OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLm9wZW52aWRlbyB7IG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAub3BlbnZpZGVvIHsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5vcGVudmlkZW8geyBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi5vcGVudmlkZW8gLmljb24geyBtYXJnaW46IDAgMCAwIDVweDsgfVxuXG4ub3BlbnZpZGVvIC5pY29uIHN2ZyBwYXRoLCAub3BlbnZpZGVvIC5pY29uIHN2ZyBjaXJjbGUgeyBzdHJva2U6ICMxMjcxZmY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgLm9wZW52aWRlbyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbWFyZ2luOiAwOyB3aWR0aDogYXV0bzsgaGVpZ2h0OiAzMHB4OyBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cblxuLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24geyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgdG9wOiAwOyByaWdodDogMDsgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY2xvc2UtYnV0dG9uLm1lZGl1bSwgLmNsb3NlLWJ1dHRvbiB7IG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuY2xvc2UtYnV0dG9uLm1lZGl1bSwgLmNsb3NlLWJ1dHRvbiB7IG1hcmdpbi10b3A6IDMuMTI1cmVtOyBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24geyBtYXJnaW4tdG9wOiA2LjI1cmVtOyBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG4uY2xvc2UtYnV0dG9uLm1lZGl1bSAuaWNvbiwgLmNsb3NlLWJ1dHRvbiAuaWNvbiB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7IH1cblxuLmNsb3NlLWJ1dHRvbi5tZWRpdW06aG92ZXIgLmljb24sIC5jbG9zZS1idXR0b246aG92ZXIgLmljb24geyB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cblxuLmNsb3NlLWJ1dHRvbi5tZWRpdW06aG92ZXIgLmljb24gc3ZnIHBhdGgsIC5jbG9zZS1idXR0b246aG92ZXIgLmljb24gc3ZnIHBhdGggeyBzdHJva2U6ICMxMjcxZmY7IH1cblxuI21lbnVMb2dvIHsgd2lkdGg6IDI1dnc7IG1heC13aWR0aDogMzAwcHg7IG1pbi13aWR0aDogMTUwcHg7IGhlaWdodDogYXV0bzsgcGFkZGluZy10b3A6IDAuMzUlOyBmaWxsOiAjZmZmZmZmOyB9XG5cbiN0aXRsZWJhcldyYXBwZXIuc3RpY2t5LWNvbnRhaW5lciB7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDEwMDsgfVxuXG4udGl0bGUtYmFyIHsgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgcGFkZGluZy10b3A6IDAuNjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC50aXRsZS1iYXIgeyBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctbGVmdDogMy4xMjVyZW07IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctbGVmdDogNi4yNXJlbTsgcGFkZGluZy1yaWdodDogNi4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC50aXRsZS1iYXIgeyBwYWRkaW5nLXRvcDogMS4wOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC50aXRsZS1iYXIgeyBwYWRkaW5nLXRvcDogMS43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC50aXRsZS1iYXIgeyBwYWRkaW5nLXRvcDogMi4xODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAudGl0bGUtYmFyIHsgcGFkZGluZy10b3A6IDAuMzc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC50aXRsZS1iYXIgeyBwYWRkaW5nLXRvcDogMXJlbTsgcGFkZGluZy1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnRpdGxlLWJhciB7IHBhZGRpbmctdG9wOiAxLjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi50aXRsZS1iYXItYmcgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCA2LCAxNSwgMC45KSAxMy4zMyUsIHJnYmEoMCwgMTMsIDM0LCAwLjI1KSAxMDAlKTsgei1pbmRleDogLTE7IH1cblxuI2hvbWUgLnRpdGxlLWJhci1iZyB7IG9wYWNpdHk6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQgeyB3aWR0aDogNTgwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyBzZWN0aW9uOmZpcnN0LWNoaWxkIC5hZGQtdG9wYmFyc3BhY2UgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyBzZWN0aW9uOmZpcnN0LWNoaWxkIC5hZGQtdG9wYmFyc3BhY2UgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwcHgpOyB9IH1cblxuLmFkZC10b3BiYXJwYWRkaW5nIHsgcGFkZGluZy10b3A6IDgwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmFkZC10b3BiYXJwYWRkaW5nIHsgcGFkZGluZy10b3A6IDEyMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmFkZC10b3BiYXJwYWRkaW5nIHsgcGFkZGluZy10b3A6IDIwMHB4OyB9IH1cblxuZm9vdGVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuZm9vdGVyIC5tZW51Lmhvcml6b250YWwgeyBtYXJnaW4tbGVmdDogLTAuNDY4NzVyZW07IG1hcmdpbi1yaWdodDogLTAuNDY4NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgZm9vdGVyIC5tZW51Lmhvcml6b250YWwgeyBtYXJnaW4tbGVmdDogLTAuNzgxMjVyZW07IG1hcmdpbi1yaWdodDogLTAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyBmb290ZXIgLm1lbnUuaG9yaXpvbnRhbCB7IG1hcmdpbi1sZWZ0OiAtMS41NjI1cmVtOyBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyBmb290ZXIgLm1lbnUuaG9yaXpvbnRhbCB7IG1hcmdpbi1sZWZ0OiAtMy4xMjVyZW07IG1hcmdpbi1yaWdodDogLTMuMTI1cmVtOyB9IH1cblxuZm9vdGVyIC5tZW51Lmhvcml6b250YWwgbGkgeyBtYXJnaW4tbGVmdDogMC40Njg3NXJlbTsgbWFyZ2luLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IGZvb3RlciAubWVudS5ob3Jpem9udGFsIGxpIHsgbWFyZ2luLWxlZnQ6IDAuNzgxMjVyZW07IG1hcmdpbi1yaWdodDogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IGZvb3RlciAubWVudS5ob3Jpem9udGFsIGxpIHsgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyBmb290ZXIgLm1lbnUuaG9yaXpvbnRhbCBsaSB7IG1hcmdpbi1sZWZ0OiAzLjEyNXJlbTsgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbmZvb3RlciAubWVudS52ZXJ0aWNhbCAuYnV0dG9uLnNtYWxsIHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuZm9vdGVyIC5oYXMtZm9vdGVySWNvbiB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGNsaXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgZm9vdGVyIC5tZW51LnZlcnRpY2FsLmNvbXBhY3QgeyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgZm9vdGVyIC5tZW51LnZlcnRpY2FsLmNvbXBhY3QgeyBtYXJnaW4tdG9wOiAwLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyBmb290ZXIgLmFkZHJlc3MgeyBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHsgZm9vdGVyIC5hZGRyZXNzID4gcDpudGgtY2hpbGQoMikgeyBtYXJnaW4tdG9wOiAwLjVyZW07IH0gfVxuXG4jZ21iaEljb24geyBtYXgtd2lkdGg6IDYwcHg7IH1cblxuI2dtYmhJY29uIHBhdGggeyBmaWxsOiAjZmZmZmZmOyB0cmFuc2l0aW9uOiBmaWxsIDAuMjVzIGxpbmVhcjsgfVxuXG4jZm9vdGVySWNvbiwgI25hdkljb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAwOyBib3R0b206IDI1JTsgd2lkdGg6IDg1JTsgaGVpZ2h0OiBhdXRvOyBmaWxsOiByZ2JhKDAsIDI1LCA2NywgMC4wNSk7IH1cblxuI2Zvb3Rlckljb24geyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4jbmF2SWNvbiB7IGJvdHRvbTogMCU7IHdpZHRoOiA2NSU7IGZpbGw6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7IHotaW5kZXg6IDE7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tZW51LnZlcnRpY2FsLmNvbXBhY3QgYS5idXR0b24geyBwYWRkaW5nOiAwLjI1cmVtIDA7IGxpbmUtaGVpZ2h0OiAxLjE7IH1cblxuLm9mZi1jYW52YXMgeyBvdmVyZmxvdy14OiBoaWRkZW47IH1cblxuI21haW5OYXYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXgtaGVpZ2h0OiAxMDB2aDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4jbWFpbk5hdiB1bCB7IHdpZHRoOiAxMDAlOyB9XG5cbiNtYWluTmF2IGxpLnBiLWdyaWQgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdhOTBhZjsgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNtYWluTmF2IGxpLnBiLWdyaWQgeyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjbWFpbk5hdiBsaS5wYi1ncmlkIHsgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI21haW5OYXYgbGkucGItZ3JpZCB7IG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuI21haW5OYXYgLnRvbmUtZG93biBhLmJ1dHRvbjpub3QoOmhvdmVyKSB7IGNvbG9yOiAjYTBiNmQ1OyB9XG5cbiNtYWluTmF2IC50b25lLWRvd24gYS5idXR0b246bm90KDpob3ZlcikgI2dtYmhJY29uIHBhdGggeyBmaWxsOiAjYTBiNmQ1OyB9XG5cbiNtYWluTmF2IC5vdmVybGluZSB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuI21haW5OYXYgYS5idXR0b24sICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbiB7IGJvcmRlci13aWR0aDogMDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IHBhZGRpbmctdG9wOiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4jbWFpbk5hdiBhLmJ1dHRvbi5oZWFkcXVhdGVyLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b24uaGVhZHF1YXRlciB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI21haW5OYXYgYS5idXR0b24uaGVhZHF1YXRlciBzcGFuOmxhc3QtY2hpbGQsICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbi5oZWFkcXVhdGVyIHNwYW46bGFzdC1jaGlsZCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE1JSk7IH1cblxuI21haW5OYXYgYS5idXR0b246aG92ZXIsICNtYWluTmF2IGEuYnV0dG9uOmZvY3VzOmhvdmVyLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b246aG92ZXIsICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbjpmb2N1czpob3ZlciB7IGNvbG9yOiAjMTI3MWZmOyB9XG5cbiNtYWluTmF2IGEuYnV0dG9uOmhvdmVyICNnbWJoSWNvbiBwYXRoLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b246aG92ZXIgI2dtYmhJY29uIHBhdGggeyBmaWxsOiAjMTI3MWZmOyB9XG5cbiNtYWluTmF2IGEuYnV0dG9uOmZvY3VzLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b246Zm9jdXMgeyBjb2xvcjogI2ZmZmZmZjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAjbWFpbk5hdiBhLmJ1dHRvbiwgI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEuYnV0dG9uIHsgcGFkZGluZy10b3A6IDhweDsgcGFkZGluZy1ib3R0b206IDhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgI21haW5OYXYgYS5idXR0b24sICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbiB7IHBhZGRpbmctdG9wOiAwLjIzNDM4cmVtOyBwYWRkaW5nLWJvdHRvbTogMC4yMzQzOHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNtYWluTmF2IGEuYnV0dG9uLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b24geyBwYWRkaW5nLXRvcDogMC4zOTA2M3JlbTsgcGFkZGluZy1ib3R0b206IDAuMzkwNjNyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjbWFpbk5hdiBhLmJ1dHRvbiwgI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEuYnV0dG9uIHsgcGFkZGluZy10b3A6IDAuNjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjbWFpbk5hdiBhLmJ1dHRvbiwgI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEuYnV0dG9uIHsgcGFkZGluZy10b3A6IDAuNzgxMjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuI21haW5OYXYgYS5idXR0b24gc3BhbjpmaXJzdC1jaGlsZCwgI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEuYnV0dG9uIHNwYW46Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuI21haW5OYXYgYS5idXR0b24gc3BhbjpsYXN0LWNoaWxkLCAjbWFpbk5hdiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b24gc3BhbjpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAjbWFpbk5hdiBhLmJ1dHRvbiA+IHNwYW46bm90KC5vdmVybGluZSksICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbiA+IHNwYW46bm90KC5vdmVybGluZSkgeyBmb250LXNpemU6IDYwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAjbWFpbk5hdiBhLmJ1dHRvbiA+IHNwYW46bm90KC5vdmVybGluZSksICNtYWluTmF2IC5pcy1hY2NvcmRpb24tc3VibWVudSBhLmJ1dHRvbiA+IHNwYW46bm90KC5vdmVybGluZSkgeyBmb250LXNpemU6IDgwJTsgfSB9XG5cbiNtYWluTmF2IC5idXR0b24gLmljb24geyB3aWR0aDogMjBweDsgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAjbWFpbk5hdiAuYnV0dG9uIC5pY29uIHsgbWFyZ2luLXRvcDogLTVweDsgfSB9XG5cbiNtYWluTmF2IC5idXR0b246aG92ZXIgLmljb24gc3ZnIHBhdGggeyBzdHJva2U6ICMxMjcxZmY7IH1cblxuI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAuYnV0dG9uIHsgY29sb3I6ICMxMjcxZmY7IH1cblxuI21haW5OYXYgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAuYnV0dG9uIC5pY29uIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4jbWFpbk5hdiB1bC5uZXN0ZWQgeyB3aWR0aDogMTAwJTsgbWFyZ2luOiA1cHggMDsgfVxuXG4jbWFpbk5hdiB1bC5uZXN0ZWQgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDAuNDY4NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI21haW5OYXYgdWwubmVzdGVkIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI21haW5OYXYgdWwubmVzdGVkIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI21haW5OYXYgdWwubmVzdGVkIGxpOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG4jbWFpbk5hdiB1bC5uZXN0ZWQgYS5idXR0b246bm90KDpob3ZlcikgeyBjb2xvcjogI2EwYjZkNTsgfVxuXG4jc2lkZU5hdiB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI3NpZGVOYXYgYS5idXR0b24geyBwYWRkaW5nLXRvcDogMC40Njg3NXJlbTsgcGFkZGluZy1ib3R0b206IDAuNDY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI3NpZGVOYXYgYS5idXR0b24geyBwYWRkaW5nLXRvcDogMC43ODEyNXJlbTsgcGFkZGluZy1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI3NpZGVOYXYgYS5idXR0b24geyBwYWRkaW5nLXRvcDogMS4yNXJlbTsgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI3NpZGVOYXYgYS5idXR0b24geyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuI3NpZGVOYXYgdWwgeyB3aWR0aDogMTAwJTsgfVxuXG4uYXNwZWN0LXJhdGlvLTItMSB7IGFzcGVjdC1yYXRpbzogMTUvNzsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7IC5zbWFsbC1hc3BlY3QtcmF0aW8tNC0zIHsgYXNwZWN0LXJhdGlvOiA0LzMgIWltcG9ydGFudDsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cblxuLmFzcGVjdC1yYXRpby0xNi05IHsgYXNwZWN0LXJhdGlvOiAxNi85OyBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmFzcGVjdC1yYXRpby1hNCB7IGFzcGVjdC1yYXRpbzogMS8xLjQxNDsgb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5vcGFjaXR5LTEgeyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLm9iamVjdC10b3AgeyBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7IH1cblxuLm1heC1oLXNjcmVlbiB7IG1heC1oZWlnaHQ6IDEwMHZoOyBvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLm1heC1oLXNjcmVlbi0tODAgeyBtYXgtaGVpZ2h0OiA4MHZoOyBvYmplY3QtZml0OiBjb250YWluOyBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4ubWF4LXctc2NyZWVuLS04MCB7IG1heC13aWR0aDogODB2dzsgb2JqZWN0LWZpdDogY29udGFpbjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNoZXJvRnJhbWUgeyBvdmVyZmxvdzogaGlkZGVuOyB6LWluZGV4OiA0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNoZXJvRnJhbWUgeyBjb2xvcjogI2ZmZmZmZjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNoZXJvRnJhbWUgLmJnLXZpZGVvIHZpZGVvIHsgb3BhY2l0eTogMC42OyBoZWlnaHQ6IGF1dG87IGFzcGVjdC1yYXRpbzogNC83OyB9IH1cblxuLmhlcm8tY29udGVudCB7IC0tYmctb3BhY2l0eTogMC44OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5oZXJvLWNvbnRlbnQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGNvbG9yOiAjZmZmZmZmOyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5oZXJvLWNvbnRlbnQ6YmVmb3JlIHsgY29udGVudDogXCIgXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgb3BhY2l0eTogdmFyKC0tYmctb3BhY2l0eSk7IHotaW5kZXg6IDE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuaGVyby1jb250ZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IGFsaWduLWl0ZW1zOiBlbmQ7IHotaW5kZXg6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsgLmhlcm8tY29udGVudCB7IGhlaWdodDogMTAwdmg7IH0gfVxuXG4uaGVyby1jb250ZW50ID4gLmNlbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDI7IH1cblxuLmJnLXZpZGVvIHZpZGVvLCAuYmctdmlkZW8gaW1nIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgb3BhY2l0eTogMC41OyBvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuLmxhcmdlLWZ1bGxzY3JlZW4geyB3aWR0aDogMTAwJTsgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5sYXJnZS1mdWxsc2NyZWVuIHsgaGVpZ2h0OiAxMDB2aDsgYXNwZWN0LXJhdGlvOiB1bnNldDsgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbi5sYXJnZS1mdWxsc2NyZWVuIC5iZy12aWRlbyB7IGhlaWdodDogMTAwJTsgfVxuXG4uc2NyZWVuIHsgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjsgfVxuXG4uYmctaW1nIHsgYmFja2dyb3VuZDogIzAwMDYwZjsgfVxuXG4uYmctaW1nIGltZyB7IG9wYWNpdHk6IDAuNzU7IH1cblxuLmxpa2Utb3ZlcmxheSB7IG9wYWNpdHk6IDAuNzU7IH1cblxuLnZpZC1vdmVybGF5IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHotaW5kZXg6IDE7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNiwgMTUsIDAuNSk7IH1cblxuI2ltYWdlVmlkZW9SZXZlYWwgeyBwYWRkaW5nOiAwOyBiYWNrZ3JvdW5kOiBibGFjazsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuI2ltYWdlVmlkZW9SZXZlYWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuXG4jaW1hZ2VWaWRlb1JldmVhbCBpZnJhbWUgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL1dlaXNzYmFjaF9NZXRhbGxiYXVfU2Nod2Vpc3Nlbl8wMS53ZWJwKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5xci1jb2RlIHsgYXNwZWN0LXJhdGlvOiAxLzE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOCUpOyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLnFyLWNvZGUgeyBtYXgtd2lkdGg6IDEzMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLnNtLXNxdWFyZSBpbWcgeyBhc3BlY3QtcmF0aW86IDEvMTsgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAubWRkb3duLXBhc3MgaW1nLCAubWRkb3duLXBhc3MgdmlkZW8geyBhc3BlY3QtcmF0aW86IDQvMzsgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuXG4ubGlzdGluZyB7IG1hcmdpbjogMDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdGluZyBsaSB7IGJvcmRlci10b3Atd2lkdGg6IDFweDsgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmxpc3RpbmcgbGkgeyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLmxpc3RpbmcgbGkgeyBwYWRkaW5nLXRvcDogMi41cmVtOyBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmxpc3RpbmcgbGkgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5saXN0aW5nIGxpIHsgcGFkZGluZy10b3A6IDAuNzgxMjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5saXN0aW5nIGxpIHsgcGFkZGluZy10b3A6IDAuNzgxMjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5saXN0aW5nIGxpIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5saXN0aW5nIGxpIHVsIHsgbWFyZ2luLXRvcDogMC40Njg3NXJlbTsgbWFyZ2luLWJvdHRvbTogMC40Njg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAubGlzdGluZyBsaSB1bCB7IG1hcmdpbi10b3A6IDAuNzgxMjVyZW07IG1hcmdpbi1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAubGlzdGluZyBsaSB1bCB7IG1hcmdpbi10b3A6IDEuMjVyZW07IG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAubGlzdGluZyBsaSB1bCB7IG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuLmxpc3RpbmcgbGkgdWwgbGkgeyBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5jZWxsIC5saXN0aW5nIGxpIC5jZWxsOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5jZWxsIC5saXN0aW5nIGxpIC5jZWxsOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5saXN0aW5nIHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmxpc3RpbmcudW5ncmlkIHsgcGFkZGluZzogMDsgfVxuXG4ubGlzdGluZyBhIHsgY29sb3I6ICMwMDE5NDM7IH1cblxuLnRleHQtd2hpdGUgLmxpc3RpbmcgYSB7IGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5ncmlkLWxpc3QgbGkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgYm9yZGVyLXRvcC13aWR0aDogMXB4OyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgcGFkZGluZy10b3A6IDAuNzgxMjVyZW07IHBhZGRpbmctYm90dG9tOiAwLjc4MTI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5ncmlkLWxpc3QgbGkgeyBwYWRkaW5nLXRvcDogMC43ODEyNXJlbTsgcGFkZGluZy1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZ3JpZC1saXN0IGxpIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5ncmlkLWxpc3QgLm92ZXJsaW5lIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuXFwzMSAwLWFuY2hvcnMtaDQgaDIgeyB3aWR0aDogODAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLlxcMzEgMC1hbmNob3JzLWg0IGgyIHsgd2lkdGg6IDY2JTsgfSB9XG5cbi5cXDMxIDAtYW5jaG9ycy1oNCBoMyB7IG1hcmdpbjogMDsgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uXFwzMSAwLWFuY2hvcnMtaDQgbGkgLm92ZXJsaW5lIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7IH1cblxuLmxpc3RpbmcgbGkgc3Bhbi5oMSB7IG1hcmdpbi1ib3R0b206IC0wLjFlbTsgfVxuXG4uXFwzMSAwLTU2LWgzIGxpLCAuZnVsbC00Ni1oMyBsaSB7IHBhZGRpbmctdG9wOiAxLjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLlxcMzEgMC01Ni1oMyBsaSwgLmZ1bGwtNDYtaDMgbGkgeyBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLlxcMzEgMC01Ni1oMyBsaSwgLmZ1bGwtNDYtaDMgbGkgeyBwYWRkaW5nLXRvcDogMy4xMjVyZW07IHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDAtNTYtaDMgbGksIC5mdWxsLTQ2LWgzIGxpIHsgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuXFwzMSAwLTU2LWgzIGxpLCAuZnVsbC00Ni1oMyBsaSB7IHBhZGRpbmctdG9wOiAxLjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLlxcMzEgMC01Ni1oMyBsaSwgLmZ1bGwtNDYtaDMgbGkgeyBwYWRkaW5nLXRvcDogMi41cmVtOyBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5cXDMxIDAtNTYtaDMgbGksIC5mdWxsLTQ2LWgzIGxpIHsgcGFkZGluZy10b3A6IDMuMTI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgeyAuXFwzMSAwLTU2LWgzIGgzLCAuZnVsbC00Ni1oMyBoMyB7IG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLlxcMzEgMC01Ni1oMyBoMywgLmZ1bGwtNDYtaDMgaDMgeyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDAtNTYtaDMgaDMsIC5mdWxsLTQ2LWgzIGgzIHsgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuXFwzMSAwLTU2LWgzIGgzLCAuZnVsbC00Ni1oMyBoMyB7IG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuXFwzMSAwLTU2LWgzIGgzLCAuZnVsbC00Ni1oMyBoMyB7IG1hcmdpbi1ib3R0b206IDAuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLlxcMzEgMC01Ni1oMyBoMywgLmZ1bGwtNDYtaDMgaDMgeyBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDAtNTYtaDMgaDMsIC5mdWxsLTQ2LWgzIGgzIHsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuXFwzMSAwLTU2LWgzIGgzLCAuZnVsbC00Ni1oMyBoMyB7IG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLlxcMzEgMi1saW5rZWQtaDEgbGkgeyBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5cXDMxIDItbGlua2VkLWgxIGxpIHsgcGFkZGluZy10b3A6IDEuNTYyNXJlbTsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDItbGlua2VkLWgxIGxpIHsgcGFkZGluZy10b3A6IDIuNXJlbTsgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5cXDMxIDItbGlua2VkLWgxIGxpIHsgcGFkZGluZy10b3A6IDMuMTI1cmVtOyBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4uY29udGFjdC1jYXJkIC5pY29uIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxNXB4OyBoZWlnaHQ6IDIwcHg7IG1hcmdpbi1yaWdodDogNXB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOCUpOyBmbGV4LXNocmluazogMDsgfVxuXG4uY29udGFjdC1jYXJkIC5pY29uIHN2ZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmNvbnRhY3QtY2FyZCAuaWNvbiB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDI1cHg7IG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG5cbi5jb250YWN0LWNhcmQgc3Ryb25nIHsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cblxuLmNvbnRhY3QtY2FyZCBwOm5vdCg6bGFzdC1jaGlsZCkgeyBtYXJnaW4tYm90dG9tOiAwLjI1ZW07IHRleHQtaW5kZW50OiAwOyB9XG5cbi5jb250YWN0LWNhcmQgcDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGFjdC1jYXJkIHAub3ZlcmxpbmUgeyBwYWRkaW5nLWJvdHRvbTogMC40Njg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuY29udGFjdC1jYXJkIHAub3ZlcmxpbmUgeyBwYWRkaW5nLWJvdHRvbTogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5jb250YWN0LWNhcmQgcC5vdmVybGluZSB7IHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLmNvbnRhY3QtY2FyZCBwLm92ZXJsaW5lIHsgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5jb250YWN0LWNhcmQgcC5ncmlkLXggeyBmbGV4LWZsb3c6IHJvdzsgfVxuXG4uY29udGFjdC1jYXJkIGEubGlhbSB7IHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IH1cblxuLmJyYW5jaGFjY29yZGlvbiBhLmFjY29yZGlvbi10aXRsZS5ncmlkLXggeyBkaXNwbGF5OiBmbGV4OyB0cmFuc2Zvcm06IG5vbmU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIGEuYWNjb3JkaW9uLXRpdGxlLmdyaWQteCB7IHBhZGRpbmctdG9wOiAxLjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIGEuYWNjb3JkaW9uLXRpdGxlLmdyaWQteCB7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIGEuYWNjb3JkaW9uLXRpdGxlLmdyaWQteCB7IHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLmJyYW5jaGFjY29yZGlvbiBhLmdyaWQteCwgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQuZ3JpZC14IHsgbWFyZ2luLXJpZ2h0OiAtMC40Njg3NXJlbTsgbWFyZ2luLWxlZnQ6IC0wLjQ2ODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5icmFuY2hhY2NvcmRpb24gYS5ncmlkLXgsIC5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50LmdyaWQteCB7IG1hcmdpbi1yaWdodDogLTAuNzgxMjVyZW07IG1hcmdpbi1sZWZ0OiAtMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5icmFuY2hhY2NvcmRpb24gYS5ncmlkLXgsIC5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50LmdyaWQteCB7IG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTsgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIGEuZ3JpZC14LCAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudC5ncmlkLXggeyBtYXJnaW4tcmlnaHQ6IC0zLjEyNXJlbTsgbWFyZ2luLWxlZnQ6IC0zLjEyNXJlbTsgfSB9XG5cbi5icmFuY2hhY2NvcmRpb24gbGkuYWNjb3JkaW9uLWl0ZW0geyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyBib3JkZXItY29sb3I6ICMwMDE5NDM7IH1cblxuLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gLmNlbGw6Zmlyc3QtY2hpbGQgeyBoZWlnaHQ6IGZpdC1jb250ZW50OyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gLmNlbGw6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuY2VsbDpmaXJzdC1jaGlsZCB7IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gLmNlbGw6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiA2LjI1cmVtOyB9IH1cblxuLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gKiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSA+IC5oMSB7IG1hcmdpbi10b3A6IC0wLjAyZW07IH1cblxuLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gLmljb24geyBtYXJnaW4tcmlnaHQ6IDAuNDY4NzVyZW07IHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDA7IHRvcDogLTJweDsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuaWNvbiB7IG1hcmdpbi1yaWdodDogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSA+IC5pY29uIHsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuaWNvbiB7IG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuaWNvbiB7IHBhZGRpbmctdG9wOiAxLjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuaWNvbiB7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuYnJhbmNoYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgPiAuaWNvbiB7IHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlID4gLmljb24geyB3aWR0aDogNDVweDsgaGVpZ2h0OiA0NXB4OyB0b3A6IDBweDsgfSB9XG5cbi5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IGEuY2VsbCB7IG1hcmdpbi1yaWdodDogMC40Njg3NXJlbTsgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgYS5jZWxsIHsgbWFyZ2luLXJpZ2h0OiAwLjc4MTI1cmVtOyBtYXJnaW4tbGVmdDogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5icmFuY2hhY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50IGEuY2VsbCB7IG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgYS5jZWxsIHsgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgbWFyZ2luLWxlZnQ6IDMuMTI1cmVtOyB9IH1cblxuLmJyYW5jaGFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQgLmdyaWQtbGlzdCBsaSB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5icmFuY2hhY2NvcmRpb24gc3ZnLnN2Z2xvZ28geyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0ODBweDsgaGVpZ2h0OiB1bnNldDsgZmlsbDogIzAwMTk0MzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAuZnVsbC1vbmJvdHRvbS1ib3R0b20gLm9mZnNldC01MCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7IC5mdWxsLW9uYm90dG9tLWJvdHRvbSAub2Zmc2V0LTUwIHsgbWFyZ2luLWJvdHRvbTogLTEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuZnVsbC1vbmJvdHRvbS1ib3R0b20gLm9mZnNldC01MCB7IG1hcmdpbi1ib3R0b206IC0zLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAuZnVsbC1vbmJvdHRvbS1ib3R0b20gLm9mZnNldC01MCB7IG1hcmdpbi1ib3R0b206IC02LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgLmZ1bGwtb25ib3R0b20tYm90dG9tIGltZyB7IGFzcGVjdC1yYXRpbzogNCAvIDM7IG9iamVjdC1maXQ6IGNvdmVyOyB9IH1cblxuLlxcMzEgMi1vbmJvdHRvbS1ib3R0b20gPiAuZ3JpZC14OmZpcnN0LWNoaWxkLCAuXFwzMSAyLW9uYm90dG9tLWJvdHRvbSAuaW1nLW9mZnNldCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7IC5cXDMxIDAtb25ib3R0b20tYm90dG9tOmZpcnN0LWNoaWxkIC5ncmlkLXg6Zmlyc3QtY2hpbGQsIC5cXDMxIDAtb25ib3R0b20tYm90dG9tOmZpcnN0LWNoaWxkIC5ncmlkLXg6Zmlyc3QtY2hpbGQgLmNlbGw6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgeyAuXFwzMSAwLW9uYm90dG9tLWJvdHRvbTpmaXJzdC1jaGlsZCA+IC5ncmlkLXg6Zmlyc3QtY2hpbGQgPiAuY2VsbDpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDAuNDY4NzVyZW07IG1hcmdpbi1yaWdodDogMC40Njg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAuXFwzMSAwLW9uYm90dG9tLWJvdHRvbTpmaXJzdC1jaGlsZCA+IC5ncmlkLXg6Zmlyc3QtY2hpbGQgPiAuY2VsbDpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDAuNzgxMjVyZW07IG1hcmdpbi1yaWdodDogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAuXFwzMSAwLW9uYm90dG9tLWJvdHRvbTpmaXJzdC1jaGlsZCA+IC5ncmlkLXg6Zmlyc3QtY2hpbGQgPiAuY2VsbDpsYXN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTsgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b206Zmlyc3QtY2hpbGQgPiAuZ3JpZC14OmZpcnN0LWNoaWxkID4gLmNlbGw6bGFzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAzLjEyNXJlbTsgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDAtb25ib3R0b20tYm90dG9tIC50b3AtbGF5ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgei1pbmRleDogMTsgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciB7IG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW07IG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IC5cXDMxIDAtb25ib3R0b20tYm90dG9tIC50b3AtbGF5ZXIgeyBtYXJnaW4tbGVmdDogMy4xMjVyZW07IG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciB7IG1hcmdpbi1sZWZ0OiA2LjI1cmVtOyBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciB7IHBhZGRpbmctdG9wOiAxLjU2MjVyZW07IHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciB7IHBhZGRpbmctdG9wOiAyLjVyZW07IHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciB7IHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgLlxcMzEgMC1vbmJvdHRvbS1ib3R0b20gLnRvcC1sYXllciAuY2VsbDpsYXN0LWNoaWxkIHsgbWFyZ2luLXRvcDogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IC5cXDMxIDAtb25ib3R0b20tYm90dG9tIGgzIHsgbWFyZ2luOiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwJSk7IHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgeyAuXFwzMSAwLW9uYm90dG9tLWJvdHRvbSBoMyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH0gfVxuXG4uZnVsbC1vbmJvdHRvbS1ib3R0b206bm90KDpmaXJzdC1jaGlsZCkgLmJnLXZpZGVvIGltZywgLmZ1bGwtb25ib3R0b20tYm90dG9tOm5vdCg6Zmlyc3QtY2hpbGQpIC5iZy12aWRlbyB2aWRlbyB7IG1heC1oZWlnaHQ6IDEyMDBweDsgfVxuXG4jY29udGFjdCBzZWN0aW9uIHAub3ZlcmxpbmU6YmVmb3JlLCAjZG93bmxvYWRzIHNlY3Rpb24gcC5vdmVybGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDExMTJhOyBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29udGFjdCBzZWN0aW9uIHAub3ZlcmxpbmU6YmVmb3JlLCAjZG93bmxvYWRzIHNlY3Rpb24gcC5vdmVybGluZTpiZWZvcmUgeyBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb250YWN0IHNlY3Rpb24gcC5vdmVybGluZTpiZWZvcmUsICNkb3dubG9hZHMgc2VjdGlvbiBwLm92ZXJsaW5lOmJlZm9yZSB7IG1hcmdpbi1sZWZ0OiAzLjEyNXJlbTsgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7ICNjb250YWN0IHNlY3Rpb24gcC5vdmVybGluZTpiZWZvcmUsICNkb3dubG9hZHMgc2VjdGlvbiBwLm92ZXJsaW5lOmJlZm9yZSB7IG1hcmdpbi1sZWZ0OiA2LjI1cmVtOyBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG4jbmV3cyBhLmFjY29yZGlvbi10aXRsZS5ncmlkLXgsICNqb2JzIGEuYWNjb3JkaW9uLXRpdGxlLmdyaWQteCB7IGRpc3BsYXk6IGZsZXg7IH1cblxuI25ld3MgLmFjY29yZGlvbi10aXRsZSA+ICosICNqb2JzIC5hY2NvcmRpb24tdGl0bGUgPiAqIHsgZGlzcGxheTogYmxvY2s7IH1cblxuI25ld3MgbGkuYWNjb3JkaW9uLWl0ZW0sICNqb2JzIGxpLmFjY29yZGlvbi1pdGVtIHsgYm9yZGVyLXRvcC13aWR0aDogMXB4OyBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgYm9yZGVyLWNvbG9yOiAjMDAxOTQzOyB9XG5cbi5pbnRybyBzdmcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyBtYXgtd2lkdGg6IDU1MHB4OyB9XG5cbiNoaXN0b3J5IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNoaXN0b3J5IHNlY3Rpb24uYmctYmx1ZWdyYXkgLnRleHRjb250ZW50IHsgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTZlZjsgfVxuXG4jaGlzdG9yeSAuc2VjdGlvbi1saW5lIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAxMDsgbGVmdDogMDsgdG9wOiAwOyB3aWR0aDogMnB4OyBoZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICMxMjcxZmY7IG1hcmdpbi1sZWZ0OiAxLjQwNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNoaXN0b3J5IC5zZWN0aW9uLWxpbmUgeyBtYXJnaW4tbGVmdDogMi4zNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNoaXN0b3J5IC5zZWN0aW9uLWxpbmUgeyBtYXJnaW4tbGVmdDogNC42ODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgI2hpc3RvcnkgLnNlY3Rpb24tbGluZSB7IG1hcmdpbi1sZWZ0OiA5LjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNoaXN0b3J5IC5zZWN0aW9uLWxpbmUgeyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtMXB4OyB9IH1cblxuI2hpc3RvcnkgI2hpc3RvcnlTZWN0aW9ucyBzZWN0aW9uLnRpbWVsaW5lZWxlbWVudDpmaXJzdC1vZi10eXBlIC5zZWN0aW9uLWxpbmUgeyBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2hpc3RvcnkgI2hpc3RvcnlTZWN0aW9ucyBzZWN0aW9uLnRpbWVsaW5lZWxlbWVudDpmaXJzdC1vZi10eXBlIC5zZWN0aW9uLWxpbmUgeyBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaGlzdG9yeSAjaGlzdG9yeVNlY3Rpb25zIHNlY3Rpb24udGltZWxpbmVlbGVtZW50OmZpcnN0LW9mLXR5cGUgLnNlY3Rpb24tbGluZSB7IG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cblxuI2hpc3RvcnkgI2hpc3RvcnlTZWN0aW9ucyBzZWN0aW9uLnRleHRpbWFnZSAuc2VjdGlvbi1saW5lIHsgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjaGlzdG9yeSAjaGlzdG9yeVNlY3Rpb25zIHNlY3Rpb24udGV4dGltYWdlIC5zZWN0aW9uLWxpbmUgeyBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2hpc3RvcnkgI2hpc3RvcnlTZWN0aW9ucyBzZWN0aW9uLnRleHRpbWFnZSAuc2VjdGlvbi1saW5lIHsgbWFyZ2luLWxlZnQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHsgI2hpc3RvcnkgI2hpc3RvcnlTZWN0aW9ucyBzZWN0aW9uLnRleHRpbWFnZSAuc2VjdGlvbi1saW5lIHsgbWFyZ2luLWxlZnQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaGlzdG9yeSAjaGlzdG9yeVNlY3Rpb25zIHNlY3Rpb24udGV4dGltYWdlIC5zZWN0aW9uLWxpbmUgeyBsZWZ0OiA1MCU7IG1hcmdpbi1sZWZ0OiAtMXB4OyB9IH1cblxuI2hpc3Rvcnkgc2VjdGlvbiAudGltZXN0YW1wIHsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmctYm90dG9tOiAwOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGZvbnQtZmFtaWx5OiBcIlJvYm90byBNb25vXCIsIG1vbm9zcGFjZTsgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bzsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zdHlsZTogbm9ybWFsOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDExOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNoaXN0b3J5IHNlY3Rpb24gLnRpbWVzdGFtcCB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogMnB4IDVweDsgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50OyB9IH1cblxuI2hpc3Rvcnkgc2VjdGlvbiAudGltZXN0YW1wIC5ibHVlYmFyIHsgY29udGVudDogXCJcIjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI3MWZmOyB6LWluZGV4OiAtMTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaGlzdG9yeSBzZWN0aW9uIC50aW1lc3RhbXAgLmJsdWViYXIgeyBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9IH1cblxuI2hpc3Rvcnkgc2VjdGlvbiAudGltZXN0YW1wIC5saW5lIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNoaXN0b3J5IHNlY3Rpb24gLmdyaWQteCB7IGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2hpc3Rvcnkgc2VjdGlvbiA+IC5jZWxsOmZpcnN0LWNoaWxkOm5vdCguc3RpY2t5KSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbiNoaXN0b3J5IHNlY3Rpb24udGV4dGltYWdlIC5ibHVlYmFyIHsgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cblxuI2hpc3Rvcnkgc2VjdGlvbi50ZXh0aW1hZ2UgLmNlbGwubWVkaXVtLTIgLnRpbWVzdGFtcCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4jaGlzdG9yeSAudGV4dGNvbnRlbnQgLmNlbGw6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2hpc3RvcnkgLnRleHRjb250ZW50IC5jZWxsOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2hpc3RvcnkgLnRleHRjb250ZW50IC5jZWxsOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAjaGlzdG9yeSAudGV4dGNvbnRlbnQgLmNlbGw6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiA2LjI1cmVtOyB9IH1cblxuI2hpc3RvcnkgLnRleHRjb250ZW50IHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuI2hpc3RvcnkgLmhhcy10aXAgeyBwYWRkaW5nLXJpZ2h0OiAxLjQwNjI1cmVtOyBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjaGlzdG9yeSAuaGFzLXRpcCB7IHBhZGRpbmctcmlnaHQ6IDIuMzQzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjaGlzdG9yeSAuaGFzLXRpcCB7IHBhZGRpbmctcmlnaHQ6IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7ICNoaXN0b3J5IC5oYXMtdGlwIHsgcGFkZGluZy1yaWdodDogOS4zNzVyZW07IH0gfVxuXG4jaGlzdG9yeSAuaGFzLXRpcCAuaWNvbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwLjU1ZW07IHJpZ2h0OiAwOyB9XG5cbiNoaXN0b3J5IC5zdGlja3kgLm92ZXJsaW5lIHsgZm9udC1zaXplOiAxM3B4OyB9XG5cbiNoaXN0b3J5IC5pbmxpbmVpbWFnZSB7IG1hcmdpbi10b3A6IDAuNDY4NzVyZW07IG1hcmdpbi1ib3R0b206IDAuNDY4NzVyZW07IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDYwMHB4OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNoaXN0b3J5IC5pbmxpbmVpbWFnZSB7IG1hcmdpbi10b3A6IDAuNzgxMjVyZW07IG1hcmdpbi1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaGlzdG9yeSAuaW5saW5laW1hZ2UgeyBtYXJnaW4tdG9wOiAxLjI1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2hpc3RvcnkgLmlubGluZWltYWdlIHsgbWFyZ2luLXRvcDogMS41NjI1cmVtOyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjaGlzdG9yeSAuaW5saW5laW1hZ2UgeyB3aWR0aDogMjV2dzsgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7ICNoaXN0b3J5IC5pbmxpbmVpbWFnZSBpbWcgeyBvYmplY3QtZml0OiBjb250YWluOyBvYmplY3QtcG9zaXRpb246IGxlZnQ7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IG1heC1oZWlnaHQ6IDUwMHB4OyB9IH1cblxuI2hpc3RvcnkgLmJnLWJsdWVncmF5IC5pbmxpbmVpbWFnZSBpbWcgeyBib3JkZXI6IDVweCBzb2xpZCAjMDAwNjBmOyB9XG5cbiNoaXN0b3J5IC5zd2l0Y2ggLnN3aXRjaC1wYWRkbGUgeyBiYWNrZ3JvdW5kOiAjODlhNWZhOyB9XG5cbiNoaXN0b3J5IC5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHsgYmFja2dyb3VuZDogIzAxMTEyYTsgfVxuXG4jaGlzdG9yeSAuc3dpdGNoIGxhYmVsLCAjaGlzdG9yeSAuc3dpdGNoIGxhYmVsOmFmdGVyIHsgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50OyB9XG5cbiNjb21wYW55R3JpZCB7IG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCB7IG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIHsgbWFyZ2luLXRvcDogNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCB7IG1hcmdpbi10b3A6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgeyBtYXJnaW4tdG9wOiAxLjQwNjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCB7IG1hcmdpbi10b3A6IDIuMzQzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIHsgbWFyZ2luLXRvcDogMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgeyBtYXJnaW4tdG9wOiA0LjY4NzVyZW07IH0gfVxuXG4jY29tcGFueUdyaWQgLmNlbGwgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5jZWxsIHsgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTsgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBwYWRkaW5nLWxlZnQ6IDYuMjVyZW07IHBhZGRpbmctcmlnaHQ6IDYuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtOyBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IHBhZGRpbmctbGVmdDogMC43ODEyNXJlbTsgcGFkZGluZy1yaWdodDogMC43ODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IHBhZGRpbmctbGVmdDogMy4xMjVyZW07IHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IG1hcmdpbi1ib3R0b206IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIC5jZWxsIHsgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IHBhZGRpbmctbGVmdDogMC43MDMxM3JlbTsgcGFkZGluZy1yaWdodDogMC43MDMxM3JlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IHBhZGRpbmctbGVmdDogMS4xNzE4OHJlbTsgcGFkZGluZy1yaWdodDogMS4xNzE4OHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuY2VsbCB7IHBhZGRpbmctbGVmdDogMi4zNDM3NXJlbTsgcGFkZGluZy1yaWdodDogMi4zNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgeyBwYWRkaW5nLWxlZnQ6IDQuNjg3NXJlbTsgcGFkZGluZy1yaWdodDogNC42ODc1cmVtOyB9IH1cblxuI2NvbXBhbnlHcmlkIC5jZWxsIGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxuXG4jY29tcGFueUdyaWQgLmNlbGwgYTpob3ZlciB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IG9wYWNpdHk6IDAuODsgfVxuXG4jY29tcGFueUdyaWQgLmNlbGwgc3ZnIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgbWF4LXdpZHRoOiAzNTBweDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjY29tcGFueUdyaWQgLmNlbGwgc3ZnIHsgbWF4LXdpZHRoOiA0MDBweDsgfSB9XG5cbiNjb21wYW55R3JpZCAuZ21iaCB7IG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29tcGFueUdyaWQgLmdtYmggeyBtYXJnaW4tYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjY29tcGFueUdyaWQgLmdtYmggeyBtYXJnaW4tYm90dG9tOiA3LjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmdtYmggeyBtYXJnaW4tYm90dG9tOiA5LjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuZ21iaCB7IG1hcmdpbi1ib3R0b206IDEuNDA2MjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2NvbXBhbnlHcmlkIC5nbWJoIHsgbWFyZ2luLWJvdHRvbTogMi4zNDM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkgeyAjY29tcGFueUdyaWQgLmdtYmggeyBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuZ21iaCB7IG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuZ21iaCB7IG1hcmdpbi1yaWdodDogMjUlOyBtYXJnaW4tYm90dG9tOiAxLjQwNjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7ICNjb21wYW55R3JpZCAuZ21iaCB7IG1hcmdpbi1ib3R0b206IDIuMzQzNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIC5nbWJoIHsgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmdtYmggeyBtYXJnaW4tYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG4jY29tcGFueUdyaWQgLmdtYmggc3ZnIHsgbWFyZ2luLWJvdHRvbTogMyU7IG1heC13aWR0aDogNTAwcHg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5nbWJoIHN2ZyB7IG1heC13aWR0aDogNjAwcHg7IHdpZHRoOiAyNXZ3OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IG1hcmdpbi10b3A6IDAuNDY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IG1hcmdpbi10b3A6IDAuNzgxMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHsgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IG1hcmdpbi10b3A6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHsgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IG1hcmdpbi10b3A6IDAuNzAzMTNyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29tcGFueUdyaWQgLnNwb3J0IHsgbWFyZ2luLXRvcDogMS4xNzE4OHJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNjb21wYW55R3JpZCAuc3BvcnQgeyBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuc3BvcnQgeyBtYXJnaW4tdG9wOiAyLjM0Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzEuMjVlbSkgeyAjY29tcGFueUdyaWQgLm1ldGFsLCAjY29tcGFueUdyaWQgLmJyaWRnZSwgI2NvbXBhbnlHcmlkIC5zZXdlciwgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLm1ldGFsLCAjY29tcGFueUdyaWQgLmJyaWRnZSwgI2NvbXBhbnlHcmlkIC5zZXdlciwgI2NvbXBhbnlHcmlkIC5zcG9ydCB7IHdpZHRoOiAzMy4zMzMzJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7ICNjb21wYW55R3JpZCAuZ21iaDphZnRlciwgI2NvbXBhbnlHcmlkIC5tZXRhbDphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMDsgdG9wOiBhdXRvOyBib3R0b206IDA7IGxlZnQ6IDUwJTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMDAxOTQzOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTsgcGFkZGluZy1ib3R0b206IDEuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29tcGFueUdyaWQgLmdtYmg6YWZ0ZXIsICNjb21wYW55R3JpZCAubWV0YWw6YWZ0ZXIgeyBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNjb21wYW55R3JpZCAuZ21iaDphZnRlciwgI2NvbXBhbnlHcmlkIC5tZXRhbDphZnRlciB7IHBhZGRpbmctYm90dG9tOiAzLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5nbWJoOmFmdGVyLCAjY29tcGFueUdyaWQgLm1ldGFsOmFmdGVyIHsgcGFkZGluZy1ib3R0b206IDQuMzc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHsgI2NvbXBhbnlHcmlkIC5tZXRhbDphZnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDkwJSk7IHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyAjY29tcGFueUdyaWQgLm1ldGFsOmFmdGVyIHsgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNjb21wYW55R3JpZCAubWV0YWw6YWZ0ZXIgeyBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLm1ldGFsOmFmdGVyIHsgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmJyaWRnZTphZnRlciwgI2NvbXBhbnlHcmlkIC5zZXdlcjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMDsgdG9wOiA0NSU7IHJpZ2h0OiAwOyBsZWZ0OiBhdXRvOyB3aWR0aDogMTAlOyBib3JkZXItdG9wOiAxcHggc29saWQgIzAwMTk0MzsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cbiAgI2NvbXBhbnlHcmlkIC5zZXdlcjphZnRlciB7IGxlZnQ6IDA7IHJpZ2h0OiBhdXRvOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7ICNjb21wYW55R3JpZCAuYnJpZGdlOmFmdGVyLCAjY29tcGFueUdyaWQgLnNld2VyOmFmdGVyIHsgd2lkdGg6IDEzJTsgfVxuICAjY29tcGFueUdyaWQgLmdtYmg6YWZ0ZXIsICNjb21wYW55R3JpZCAubWV0YWw6YWZ0ZXIgeyBwYWRkaW5nLWJvdHRvbTogMS4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHsgI2NvbXBhbnlHcmlkIC5nbWJoOmFmdGVyLCAjY29tcGFueUdyaWQgLm1ldGFsOmFmdGVyIHsgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7ICNjb21wYW55R3JpZCAuZ21iaDphZnRlciwgI2NvbXBhbnlHcmlkIC5tZXRhbDphZnRlciB7IHBhZGRpbmctYm90dG9tOiAzLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1pbi13aWR0aDogNzVlbSkgeyAjY29tcGFueUdyaWQgLmdtYmg6YWZ0ZXIsICNjb21wYW55R3JpZCAubWV0YWw6YWZ0ZXIgeyBwYWRkaW5nLWJvdHRvbTogNC4zNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkgeyAjY29tcGFueUdyaWQgLmJyaWRnZTphZnRlciwgI2NvbXBhbnlHcmlkIC5zZXdlcjphZnRlciB7IHdpZHRoOiAyMiU7IH0gfVxuXG4vKiAjY29tcGFueUdyaWQgeyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IGJvcmRlcjogbm9uZTsgfSAuYWxpZ24tY2VudGVyLW1pZGRsZSB7IGhlaWdodDogMTAwJTsgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCBsZWZ0IHJpZ2h0LCBmYWxzZSwgMSApOyAmOmhvdmVyIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfSBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7IEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgdG9wIGJvdHRvbSwgZmFsc2UsIDAuNSApOyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIGxlZnQgcmlnaHQsIGZhbHNlLCAwLjUgKTsgfSBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkgeyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCBib3R0b20sIGZhbHNlLCAwLjUgKTsgfSB9IHN2ZyB7IGZpbGw6ICRsb2dvLWJsdWU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IGF1dG87IG1hcmdpbjogNSUgMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTsgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyBtYXJnaW46IDA7IH0gfSAuY2VsbDpudGgtY2hpbGQoMikgc3ZnIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNSUpIHNjYWxlKDEuMyk7IH0gLnRleHQtd2hpdGUgJiB7IC5hbGlnbi1jZW50ZXItbWlkZGxlIHsgYm9yZGVyLWNvbG9yOiAkd2hpdGU7IH0gc3ZnIHsgZmlsbDogJHdoaXRlOyB9IH0gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikgeyAuY2VsbDpudGgtY2hpbGQoMikgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH0gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgeyAmIC5jZWxsIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9ICYgLmNlbGw6bnRoLWNoaWxkKDIpIHsgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCAvLyAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIC8vICAgbWFyZ2luLCAvLyAgIGJvdHRvbSwgLy8gICBmYWxzZSwgLy8gICAxIC8vICk7ICY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBoZWlnaHQ6IDA7IGxlZnQ6IDUwJTsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbG9nby1ibHVlOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbG9nby1ibHVlOyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIGJvdHRvbSwgZmFsc2UsIDAuNiApOyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIG1hcmdpbiwgdG9wLCB0cnVlLCAwLjMgKTsgfSB9ICYgLmNlbGw6bnRoLWNoaWxkKDQpIHsgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMDsgcmlnaHQ6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpOyB0b3A6IDUwJTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsb2dvLWJsdWU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbG9nby1ibHVlOyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIGxlZnQsIGZhbHNlLCAwLjUgKTsgfSB9ICYgLmNlbGw6bnRoLWNoaWxkKDUpIHsgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IGRpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGU7IGhlaWdodDogMDsgbGVmdDogNTAlOyBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsb2dvLWJsdWU7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsb2dvLWJsdWU7IEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgYm90dG9tLCBmYWxzZSwgMC42ICk7IEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCB0b3AsIHRydWUsIDAuMyApOyB9IH0gJiAuY2VsbDpudGgtY2hpbGQoNikgeyAmOmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAwOyBsZWZ0OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IHRvcDogNTAlOyBib3JkZXItdG9wOiAxcHggc29saWQgJGxvZ28tYmx1ZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsb2dvLWJsdWU7IEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgbGVmdCwgZmFsc2UsIDAuNSApOyB9IH0gJiAuY2VsbDpudGgtY2hpbGQoOCkgeyAvLyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCB0b3AsIGZhbHNlLCAxKTsgfSAmIC5jZWxsOm50aC1jaGlsZCgzbiArIDEpIGRpdiB7IC8vIG1hcmdpbi1yaWdodDogLTJweDsgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCAvLyAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIC8vICAgbWFyZ2luLCAvLyAgIGxlZnQgcmlnaHQsIC8vICAgZmFsc2UsIC8vICAgMC41IC8vICk7IH0gJiAuY2VsbDpudGgtY2hpbGQoM24gKyAzKSBkaXYgeyBtYXJnaW4tbGVmdDogLTJweDsgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCAvLyAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIC8vICAgbWFyZ2luLCAvLyAgIGxlZnQgcmlnaHQsIC8vICAgZmFsc2UsIC8vICAgMC41IC8vICk7IH0gJiAuY2VsbDpudGgtY2hpbGQoMikgZGl2IHsgbWFyZ2luLXRvcDogMnB4OyB9ICYgLmNlbGw6bnRoLWNoaWxkKDgpIGRpdiB7IG1hcmdpbi10b3A6IC0ycHg7IC8vIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAvLyAgIG1hcmdpbiwgLy8gICBsZWZ0IHJpZ2h0LCAvLyAgIGZhbHNlLCAvLyAgIDAuNSAvLyApOyB9ICYgLmNlbGw6bnRoLWNoaWxkKDUpIGRpdiB7IC8vIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyggLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCAvLyAgIG1hcmdpbiwgLy8gICBsZWZ0IHJpZ2h0LCAvLyAgIGZhbHNlLCAvLyAgIDAuNSAvLyApOyB9IH0gfSAqL1xuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHsgOnJvb3QgeyAtLXgtc3BhY2luZzogMTVweDsgLS15LXNwYWNpbmc6IDE1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgeyA6cm9vdCB7IC0teC1zcGFjaW5nOiAyNXB4OyAtLXktc3BhY2luZzogMjVweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7IDpyb290IHsgLS14LXNwYWNpbmc6IDsgLS15LXNwYWNpbmc6IDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7IDpyb290IHsgLS14LXNwYWNpbmc6IDUwcHg7IC0teS1zcGFjaW5nOiA1MHB4OyB9IH1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgXCJ1dGlsL3V0aWxcIjtcbi8vIEBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVdvcmsrU2FuczppdGFsLHdnaHRAMCwxMDAuLjkwMDsxLDEwMC4uOTAwJmRpc3BsYXk9c3dhcCcpO1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bytNb25vJmZhbWlseT1Sb2JvdG8rRmxleDpvcHN6LHdnaHRAOC4uMTQ0LDEwMC4uMTAwMCZkaXNwbGF5PXN3YXBcIik7XG4vLyBAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6aXRhbCxvcHN6LHdnaHRAMCwxNC4uMzIsMTAwLi45MDA7MSwxNC4uMzIsMTAwLi45MDAmZGlzcGxheT1zd2FwXCIpO1xuLy8gQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUdvbG9zK1RleHQ6d2dodEA0MDAuLjkwMCZmYW1pbHk9U3BhY2UrR3JvdGVzazp3Z2h0QDMwMC4uNzAwJmRpc3BsYXk9c3dhcFwiKTtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxMDAlO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyYTc3ZWIsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuLy8gJHdoaXRlOiAjRUNGMEZGO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGxvZ28tYmx1ZTtcbi8vICRib2R5LWZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbi8vICRib2R5LWZvbnQtZmFtaWx5OiBcIkludGVyXCIsIHNhbnMtc2VyaWY7XG4vLyAkYm9keS1mb250LWZhbWlseTogXCJHb2xvcyBUZXh0XCIsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250LWZhbWlseTogXCJSb2JvdG8gRmxleFwiLCBzYW5zLXNlcmlmO1xuJGJvZHktc2FmZS1wYWRkaW5nOiBmYWxzZTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiAyMDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA0NTA7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAxMHB4IDA7XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgeHh4bGFyZ2U6IDE5MjBweCxcbik7XG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogMyxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogeGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSB4eHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiBcImNvbHVtbnNcIjtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgXCJoMVwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAzMixcbiAgICApLFxuICAgIFwiaDJcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMjgsXG4gICAgKSxcbiAgICBcImgzXCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDI0LFxuICAgICksXG4gICAgXCJoNFwiOiAoXG4gICAgICBcImZvbnQtc2l6ZVwiOiAyMCxcbiAgICApLFxuICAgIFwiaDVcIjogKFxuICAgICAgXCJmb250LXNpemVcIjogMTgsXG4gICAgKSxcbiAgICBcImg2XCI6IChcbiAgICAgIFwiZm9udC1zaXplXCI6IDE2LFxuICAgICksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogXCJcXDIwMTQgXFwwMDIwXCI7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiBmYWxzZTtcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiBcIlxcMDAyQlwiO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiBcIlxcMjAxM1wiO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAwIDA7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiBub25lO1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMDtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6IDA7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAwO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06IFwiL1wiO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiBcIlxcXFxcIjtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsO1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMDtcbiRidXR0b24tZmlsbDogY2xlYXI7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICR3aGl0ZTtcbiRidXR0b24tcmFkaXVzOiAwO1xuJGJ1dHRvbi1ib3JkZXI6IDA7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDBweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMXJlbSxcbiAgbGl0dGxlOiAxLjM3NXJlbSxcbiAgc21hbGw6IDEuNXJlbSxcbiAgZGVmYXVsdDogMS42MjVyZW0sXG4gIGxhcmdlOiAxLjg3NXJlbSxcbiAgeGxhcmdlOiAycmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC0wJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiBcIi5idXR0b25cIjtcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nICogMC41O1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMTAwJSxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAxMDAlLFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxvZ28tYmx1ZTtcbiRvZmZjYW52YXMtc2hhZG93OiBub25lO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiB0cmFuc3BhcmVudDtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwcztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IG5vbmU7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRtYWluY29udGVudC1jbGFzczogXCJvZmYtY2FudmFzLWNvbnRlbnRcIjtcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogXCJcXDAwQUJcIjtcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6IFwiXFwwMEJCXCI7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChkb3duLCB1cCwgcmlnaHQsIGxlZnQpO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1jZWxsKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKGRpc2MsIGNpcmNsZSwgc3F1YXJlKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAodmlzaWJsZSwgaGlkZGVuLCBzY3JvbGwpO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCk7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSxcbiAgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKHdpZHRoLCBoZWlnaHQpO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCUsXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAob3ZlcmxpbmUsIHVuZGVybGluZSwgbGluZS10aHJvdWdoKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChsb3dlcmNhc2UsIHVwcGVyY2FzZSwgY2FwaXRhbGl6ZSk7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IDA7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMTVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjU7XG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oXG4gICR0YWJsZS1iYWNrZ3JvdW5kLFxuICAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGVcbik7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKFxuICAkdGFibGUtYmFja2dyb3VuZCxcbiAgJHRhYmxlLWNvbG9yLXNjYWxlICogMC41XG4pO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMDtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBwb2ludGVyO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBub25lO1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogNXB4O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMHZ3O1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDE1cHgsXG4gIG1lZGl1bTogMjVweCxcbiAgLy9ANjQwXG4gIHhsYXJnZTogNTBweCxcbiAgLy9AMTIwMFxuICB4eHhsYXJnZTogMTAwcHgsXG4gIC8vQDE5MjBcbik7XG4vLyAucHktZ3JpZFxuJGdyaWQtdmVydGljYWwtZ3V0dGVyczogKFxuICBzbWFsbDogMTVweCxcbiAgbWVkaXVtOiAyNXB4LFxuICBsYXJnZTogNDBweCxcbiAgeGxhcmdlOiA1MHB4LFxuKTtcblxuJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyNXB4LFxuICBtZWRpdW06IDI1cHgsXG4gIGxhcmdlOiA1MHB4LFxuKTtcblxuJGdyaWQtY29udGFpbmVyLWd1dHRlcnM6IChcbiAgc21hbGw6IDE1cHgsXG4gIG1lZGl1bTogMjVweCxcbiAgeGxhcmdlOiA1MHB4LFxuKTtcblxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4vLyAkZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtY29udGFpbmVyLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA0O1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIiRsb2dvLWJsdWU6ICMwMDE5NDM7XG4kYWNjZW50LWJsdWU6ICMxMjcxZmY7IC8vIDEyNzFmZlxuJGxpZ2h0LWJsdWU6ICMxZDQxNzU7XG4kbmF2eTogIzAxMTEyYTtcbiRibGFjay1uYXZ5OiAjMDAwNjBmO1xuJGJsYWNrLW5hdnktNTA6IHJnYmEoJGJsYWNrLW5hdnksIDAuNSk7XG5cbi8vZmZmM2RiXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgKiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJHVuaXQtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gZGl2aWRlKCRudW0sICRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiBkaXZpZGUoJGJhc2UsIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQGlmICR1bml0LXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoc3RyaXAtdW5pdCgkdmFsdWUpLCBzdHJpcC11bml0KCRiYXNlKSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gZGl2aWRlKCR2YWx1ZSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkLWZyb20taGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGQtZnJvbS1oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNvZGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNvZGUtaW5saW5lOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbmxpbmUgQ2l0YXRpb25zXG4gIEBpZiAoJGVuYWJsZS1jaXRlLWJsb2NrID09IHRydWUpIHtcbiAgICBjaXRlIHtcbiAgICAgIC8vIEV4dGVuZGluZyBhIGNsYXNzIGlzIG5vdCByZWNvbW1lbmRlZC5cbiAgICAgIC8vIFRPRE86IEJyZWFrIHRoZSB0eXBvZ3JhcGh5LWJhc2UvdHlwb2dyYXBoeS1oZWxwZXJzIHNlcGFyYXRpb25cbiAgICAgIEBleHRlbmQgJWNpdGUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgKCRlbmFibGUtY29kZS1pbmxpbmUgPT0gdHJ1ZSkge1xuICAgIGNvZGUge1xuICAgICAgQGV4dGVuZCAlY29kZS1pbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAlY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAZXh0ZW5kICVjaXRlLWJsb2NrO1xuICB9XG5cbiAgJWNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAZXh0ZW5kICVjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIHByaW50LWNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gIC8vICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCI7XG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgICRtZ2M6IDByZW07XG4gICAgICB9XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3skbWd9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgLy8gTWFrZSBzdXJlIHRoYXQgMCBpcyB0cmFuc2xhdGVkIGluIDByZW0gZm9yIGNhbGMoKVxuICAgICRtZ2M6IHJlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKTtcbiAgICBAaWYgJG1nYyA9PSAwIHtcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMjogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgZGl2aWRlKCRleHBvbmVudCwgJGRlbm9taW5hdG9yKSksIGRpdmlkZSgkcHJlYzIsICRkZW5vbWluYXRvciksICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiBkaXZpZGUoMSwgJG4pICogKCgkbiAtIDEpICogJHggKyBkaXZpZGUoJG51bSwgcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiBkaXZpZGUoJGgsICR3KSAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yICdDYW5ub3QgZGl2aWRlIGJ5IDAnO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAwLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgICdweCc6IDFweCxcbiAgICAncmVtJzogMXJlbSxcbiAgICAnZW0nOiAxZW0sXG4gICAgJyUnOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICB9XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4vLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgZm9yIGEgZGlzYWJsZWQgc3dpdGNoLlxuLy8vIEB0eXBlIEN1cnNvclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICAvLyBpbmRpY2F0ZSBhIGRpc2FibGVkIHN3aXRjaFxuICBpbnB1dDpkaXNhYmxlZCB+ICYge1xuICAgIGN1cnNvcjogJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgb3BhY2l0eTogJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkO1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAqIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3QgW2ZhbHNlXSAtIE5lZWRlZCBpZiB5b3Ugb25seSB3YW50IHRvIGFwcGx5IHRoaXMgdG8gYSBzcGVjaWZpYyB0YWJsZS5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kcHJpbWFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiRzdWNjZXNzLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6IGRpdmlkZSgkcmdiLCAyNTUpO1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsIGRpdmlkZSgkcmdiLCAxMi45MiksIHBvdyhkaXZpZGUoJHJnYiArIDAuMDU1LCAxLjA1NSksIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86IGRpdmlkZSgkbHVtaW5hbmNlMSwgJGx1bWluYW5jZTIpO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IGRpdmlkZSgxLCAkcmF0aW8pO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgKiAwLjE7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuICdDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fSc7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgcGx1cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tcGx1cy1jb250ZW50OiAnXFwwMDJCJyAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBtaW51cyBpY29uIHdoZW4gYCRhY2NvcmRpb24tcGx1c21pbnVzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJ1xcMjAxMycgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLXBsdXMtY29udGVudDtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tbWludXMtY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgYWN0aXZlYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IGNlbnRlcmVkLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgLm1lbnUtY2VudGVyZWQgPiAubWVudWAgd2l0aCBgLm1lbnUuYWxpZ24tY2VudGVyYC5cbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiB0b3AvYm90dG9tIGljb25zIHdpdGhpbiBhIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYWxpZ25tZW50IFtjZW50ZXJdIC0gQWxpZ25tZW50IG9mIHRoZSBpY29uXG5AbWl4aW4gbWVudS1pY29uLWFsaWdubWVudCgkYWxpZ25tZW50OiBjZW50ZXIpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5pY29uLXRvcCxcbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIGxpIGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgQGlmICRhbGlnbm1lbnQgPT0gbGVmdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBwb3NpdGlvbiBjbGFzc2VzIGZvciBpY29ucyB3aXRoaW4gYSBtZW51LlxuQG1peGluIG1lbnUtaWNvbi1wb3NpdGlvbigkcG9zaXRpb246IGxlZnQsICRzcGFjaW5nOiAkbWVudS1pY29uLXNwYWNpbmcpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJHNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmcgYXV0byAwO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIG1lbnUtc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZSwgKCRtZW51LWl0ZW0tY29sb3ItYWN0aXZlLCAkbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmUpKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLWFsaWdubWVudChsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSBpY29uIHBvc2l0aW9uXG4gICAgLy8gSW5jbHVkZXMgc3BlY2lmaWNpdHkgdG8gbmVzdGVkIGljb25zIHdpdGggYSBkaWZmZXJlbnQgcG9zaXRpb25cbiAgICAmLFxuICAgICYubmVzdGVkIHtcbiAgICAgIC8vIEljb24gTGVmdFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gUmlnaHRcbiAgICAgICYuaWNvbi1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gVG9wXG4gICAgICAmLmljb24tdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEljb24gQm90dG9tXG4gICAgICAmLmljb24tYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4gICRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4gICRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgLy8gQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAvLyAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKSB7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIDAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAwLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAudmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgTW9kZSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBJRTEwKyBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1pZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC5zaG93LWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaGlkZS1mb3ItaWUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBWaXNpYmlsaXR5XG4gIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlzLXN0dWNrIC5zaG93LWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyAkbG9nby1ibHVlIDogIzAwMTk0Mztcbi8vICRhY2NlbnQtYmx1ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuLy8gJG5hdnk6ICMwMTExMkE7XG4vLyAkYmxhY2stbmF2eSA6IzAwMDYwRjtcblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogJHdoaXRlO1xuICAubGlzdGluZyBsaSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG4udGV4dC1sb2dvIHtcbiAgY29sb3I6ICRsb2dvLWJsdWU7XG59XG4udGV4dC1hY2NlbnQge1xuICBjb2xvcjogJGFjY2VudC1ibHVlO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG4uYmctbG9nbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsb2dvLWJsdWU7XG59XG4uYmctbmF2eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xufVxuLmJnLWFjY2VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmx1ZTtcblxuICAuYnV0dG9uIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAuaWNvbiBwYXRoIHtcbiAgICAgIHN0cm9rZTogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4uYmctbmF2eWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLW5hdnk7XG59XG5cbi5maWxsLWxvZ28ge1xuICBmaWxsOiAkbG9nby1ibHVlO1xufVxuLmZpbGwtd2hpdGUgcGF0aCB7XG4gIGZpbGw6ICR3aGl0ZTtcbn1cbiIsIi8qXG5taW46IDc2OHB4XG5tYXg6IDI4ODBweFxucHJlZGVmaW5lZCB2YWx1ZXNAIDE3ODBweCBcbiovXG5cbmJvZHkge1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogXCJzbG50XCIgMCwgXCJ3ZHRoXCIgMTI1LCBcIkdSQURcIiAwLCBcIlhPUFFcIiA5NiwgXCJYVFJBXCIgNDY4LFxuICAgIFwiWU9QUVwiIDc5LCBcIllUQVNcIiA3MjAsIFwiWVRERVwiIC0yMDMsIFwiWVRGSVwiIDczOCwgXCJZVExDXCIgNTMwLCBcIllUVUNcIiA3NDU7XG59XG5cbi8qIEhfL0gxIDk1ICovXG5oMSxcbi5oMSB7XG4gIC8vIDNyZW0gQCA3NjhweFxuICAvLyA3LjVyZW0gQCAyODgwcHhcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICBmb250LXdlaWdodDogNDIwO1xuICBsaW5lLWhlaWdodDogMS4xZW07XG5cbiAgLnNtYWxsLXNjYWxlZG93biAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjZweCk7XG4gICAgfVxuICB9XG5cbiAgJi5iaWdidXR0b24tYW5pIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogNi41dnc7XG4gICAgfVxuICB9XG59XG5cbi8qIEhfL0gxIDExMCAqL1xuaDEuZ2lhbnQsXG4uaDEuZ2lhbnQge1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjA1ZW07XG4gIGZvbnQtd2VpZ2h0OiA0ODA7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogdW5xdW90ZShcImNsYW1wKDMuNXJlbSwgMi4yMjczcmVtICsgMi42NTE1dncsIDcuNXJlbSlcIik7XG4gIH1cbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgLy8gICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgyLjI1cmVtLCAzLjFyZW0gKyAzLjg0NzF2dywgOC41cmVtKVwiKTtcbiAgLy8gfVxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgLy8gICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgyLjI1cmVtLCAzLjUzMDRyZW0gKyAzLjg0NzF2dywgOS42ODU4cmVtKVwiKTtcbiAgLy8gfVxufVxuXG4vKiBIXy9IMiA3NSAqL1xuaDIsXG4uaDIge1xuICAvLyAxLjkzNzVyZW0gQCA3NjhweFxuICAvLyA0cmVtIEAgMjg4MHB4XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgLy8gZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgZm9udC13ZWlnaHQ6IDQwNTsgLy8gYSBzYWZhcmkgdGhpbmdcblxuICAuc21hbGwtc2NhbGVkb3duICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMnB4KTtcbiAgICB9XG4gIH1cbn1cblxuaDMsXG4uaDMge1xuICAvLyAxLjkzNzVyZW0gQCA3NjhweFxuICAvLyA0cmVtIEAgMjg4MHB4XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuXG4gICYudXBwZXJjYXNlIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICB9XG5cbiAgZm9udC1zaXplOiAxMTAlO1xuXG4gIC5zbWFsbC1zY2FsZWRvd24gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4cHgpO1xuICAgIH1cbiAgfVxufVxuXG5oNCxcbi5oNCB7XG4gIC8vIDEuNTYyNXJlbSBAIDc2OHB4XG4gIC8vIDIuNXJlbSBAIDI4ODBweFxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBoMSxcbiAgLmgxIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4cHgpO1xuICB9XG4gIGgyLFxuICAuaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDBweCk7XG4gIH1cbiAgaDMsXG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzMXB4KTtcbiAgfVxuICBoNCxcbiAgLmg0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1cHgpO1xuICB9XG4gIGg1LFxuICAuaDUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjBweCk7XG4gIH1cbiAgaDYsXG4gIC5oNiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gIGgxLFxuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogdW5xdW90ZShcImNsYW1wKDNyZW0sIDEuOTA5MXJlbSArIDJ2dywgNS4ycmVtKVwiKTtcbiAgfVxuICBoMixcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgyLjVyZW0sIDEuNjgxOHJlbSArIDEuNzA0NXZ3LCA0Ljc1cmVtKVwiKTtcbiAgfVxuICBoMyxcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgxLjkzNzVyZW0sIDEuNDYwMnJlbSArIDAuOTk0M3Z3LCAzLjI1cmVtKVwiKTtcbiAgfVxuICBoNCxcbiAgLmg0IHtcbiAgICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgxLjU2MjVyZW0sIDEuMjIxNnJlbSArIDAuNzEwMnZ3LCAyLjVyZW0pXCIpO1xuICB9XG59XG5cbmgxLFxuLmgxLFxuaDIsXG4uaDIsXG5oMyxcbi5oMyxcbmg0LFxuLmg0IHtcbiAgbWFyZ2luLXRvcDogLTAuMTJlbTtcbiAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIGJvdHRvbSwgZmFsc2UpO1xufVxuXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCB7XG4gICY6bm90KC5naWFudCkge1xuICAgIC8vIGZvbnQtZmFtaWx5OiBcIlNwYWNlIEdyb3Rlc2tcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIC8vIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuOGVtO1xuICAgIGZvbnQtc2l6ZTogNTAlO1xuICB9XG59XG5cbnAge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIC8vIGZvbnQtZmFtaWx5OiBcIlNwYWNlIEdyb3Rlc2tcIiwgc2Fucy1zZXJpZjtcblxuICAvLyBmb250LXdlaWdodDogMzM3O1xuICBmb250LXdlaWdodDogMzMwO1xuICBmb250LXNpemU6IHVucXVvdGUoXCJjbGFtcCgxcmVtLCAwLjc3MjdyZW0gKyAwLjQ3MzV2dywgMS42MjVyZW0pXCIpO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgLy8gZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgLy8gbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMycHgpO1xuICAvLyBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLy8gICB0ZXh0LWluZGVudDogMjVweDtcbiAgLy8gfVxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAvLyAgIHRleHQtaW5kZW50OiA1MHB4O1xuICAvLyB9XG59XG5cbnAgKyAuYnV0dG9uIHtcbiAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1hcmdpbiwgdG9wLCBmYWxzZSk7XG59XG5cbi8vIGgxICsgcCwgLmgxICsgcCxcbi8vIGgyICsgcCwgLmgyICsgcCAge1xuLy8gICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycyxtYXJnaW4sdG9wLGZhbHNlKTtcbi8vIH1cblxucC51bmluZGVudCxcbnAudW5pbmRlbnQgKyBwIH4gcCxcbi51bmluZGVudCA+IHAge1xuICB0ZXh0LWluZGVudDogMDtcbn1cblxucCA+IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnBsYXN0LW1iMCB7XG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgfVxufVxuXG4uc21hbGxlciB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcbiAgfVxufVxuXG4ub3ZlcmxpbmUge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEycHgpO1xuICBmb250LXdlaWdodDogMzUwO1xuICAvLyBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIG9wYWNpdHk6IDAuODtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNHB4KTtcbiAgICBmb250LXdlaWdodDogNDUwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAvLyBmb250LXdlaWdodDogMjUwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTZweCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxcHgpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4eGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOHB4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjRweCk7XG4gIH1cbn1cblxuc3Ryb25nLFxuLnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdHJvbmdlc3Qge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3BhY2Uge1xuICBmb250LWZhbWlseTogXCJTcGFjZSBHcm90ZXNrXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gIC8vIGZvbnQtd2VpZ2h0OiA8d2VpZ2h0PjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udGV4dC1idXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIC8vIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgLy8gcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgMDtcbiAgfVxufVxuXG4udXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZnVsbGd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LXNtYXJ0Z3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZSxcbiAgJG11bHRpcGxpZXI6IDFcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogJG11bHRpcGxpZXI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpICogJG11bHRpcGxpZXI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn0iLCIvLyBhcnRpY2xlIHtcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxOTIwKSB7XG4vLyAgICAgcGFkZGluZy1sZWZ0OjUlO1xuLy8gICAgIHBhZGRpbmctcmlnaHQ6NSU7XG4vLyAgIH1cbi8vIH1cblxuc2VjdGlvbixcbi5yZWxhdGl2ZSxcbmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnNlY3Rpb24sXG5mb290ZXIge1xuICB6LWluZGV4OiA2O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGNsaXA7XG59XG5cbi5hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLnJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBNQVJHSU5TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEFMTFxuLm0ge1xuICAmLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vLyBUT1Bcbi5tdCB7XG4gICYtMCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cbiAgJi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCB0b3AsIGZhbHNlLCAxKTtcbiAgfVxufVxuLy9CT1RUT01cbi5tYiB7XG4gICYtMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cbiAgJi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCBib3R0b20sIGZhbHNlLCAxKTtcbiAgfVxuICAmLWwtMCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJi14bC0wIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbi8vIExFRlRcbi5tbC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG4vLyBSSUdIVFxuLm1yLWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIFBBRERJTkdTIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEFMTFxuLnAge1xuICAmLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBWRVJUSUNBTFxuLnB5IHtcbiAgJi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgcGFkZGluZyxcbiAgICAgIHRvcCBib3R0b20sXG4gICAgICBmYWxzZSxcbiAgICAgIDFcbiAgICApO1xuICB9XG4gICYtZ3JpZC0tc3BhY2VkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkc3BhY2VkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBwYWRkaW5nLFxuICAgICAgdG9wIGJvdHRvbSxcbiAgICAgIGZhbHNlLFxuICAgICAgMVxuICAgICk7XG4gIH1cblxuICAmLTI1MCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICA0XG4gICAgKTtcbiAgfVxuXG4gICYtbC0wIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuLnB4IHtcbiAgJi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgcGFkZGluZyxcbiAgICAgIGxlZnQgcmlnaHQsXG4gICAgICBmYWxzZSxcbiAgICAgIDFcbiAgICApO1xuICB9XG4gICYtZ3JpZC0tc3BhY2VkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkc3BhY2VkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBwYWRkaW5nLFxuICAgICAgbGVmdCByaWdodCxcbiAgICAgIGZhbHNlLFxuICAgICAgMVxuICAgICk7XG4gIH1cbn1cbi8vIFRPUFxuLnB0IHtcbiAgJi0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gICYtZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCwgZmFsc2UsIDEpO1xuICB9XG4gICYtZ3JpZC0tc3BhY2VkIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCB0b3AsIGZhbHNlLCAxKTtcbiAgfVxuICAmLWdyaWQtLWZpcnN0IHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCB0b3AsIGZhbHNlLCAyKTtcbiAgfVxuICAmLTEwMCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCwgZmFsc2UsIDIpO1xuICB9XG4gICYtMTUwIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgdG9wLCBmYWxzZSwgMyk7XG4gIH1cbiAgJi0yMDAge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCB0b3AsIGZhbHNlLCA0KTtcbiAgfVxuICAmLTI1MCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCwgZmFsc2UsIDQpO1xuICB9XG59XG4vLyBCT1RUT01cbi5wYiB7XG4gICYtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAmLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCBib3R0b20sIGZhbHNlLCAxKTtcbiAgfVxuICAmLWdyaWQtLXNwYWNlZCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgcGFkZGluZyxcbiAgICAgIGJvdHRvbSxcbiAgICAgIGZhbHNlLFxuICAgICAgMVxuICAgICk7XG4gIH1cbiAgJi0xMDAge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCBib3R0b20sIGZhbHNlLCAyKTtcbiAgfVxuICAmLTE1MCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIGJvdHRvbSwgZmFsc2UsIDMpO1xuICB9XG4gICYtMjAwIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgYm90dG9tLCBmYWxzZSwgNCk7XG4gIH1cbiAgJi0yNTAge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCBib3R0b20sIGZhbHNlLCA0KTtcbiAgfVxuXG4gICYtbC0wIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJi14bC0wIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICYteHhsLTAge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vXG4ucHIge1xuICAmLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgcGFkZGluZywgcmlnaHQsIGZhbHNlLCAxKTtcbiAgfVxufVxuXG4ub3ZlcmxpbmUge1xuICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgYm90dG9tLCBmYWxzZSwgMSk7XG59XG5cbi8vIHNtYWxsc3RhY2sgaXMgMTUgMjUgNTBcblxuLm5vLWJvcmRlcixcbi5uby1ib3JkZXIgLmdyaWQteCB7XG4gIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xufVxuXG4ueGxhcmdlLWFicy1iZW50byB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIEBpbmNsdWRlIHh5LWZ1bGxndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtYXJnaW4sIGxlZnQsIGZhbHNlKTtcbiAgfVxufVxuXG4udy1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53LTUwIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi53LTY2IHtcbiAgd2lkdGg6IDY2JTtcbn1cblxuLmgtZnVsbCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnhsYXJnZS1tdzIwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1heC13aWR0aDogNDB2dztcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIG1heC13aWR0aDogMjB2dztcbiAgfVxufVxuXG4ueHh4eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMjMwMHB4KSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICB9XG59XG5cbnVsLmdyaWQteCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuI2ljb25HcmlkIHtcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxvZ28tYmx1ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxvZ28tYmx1ZTtcblxuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBwYWRkaW5nLFxuICAgICAgbGVmdCByaWdodCxcbiAgICAgIGZhbHNlLFxuICAgICAgMlxuICAgICk7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAxXG4gICAgKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbG9nby1ibHVlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsb2dvLWJsdWU7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgIHRvcCBib3R0b20sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxLjVcbiAgICAgICk7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgIGxlZnQgcmlnaHQsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxLjVcbiAgICAgICk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgIHRvcCBib3R0b20sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxXG4gICAgICApO1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICBsZWZ0IHJpZ2h0LFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgMS41XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC5jZWxsOmZpcnN0LWNoaWxkIC5hbGlnbi1jZW50ZXItbWlkZGxlLFxuICAuY2VsbDpsYXN0LWNoaWxkIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsb2dvLWJsdWU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxvZ28tYmx1ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LXdoaXRlICYge1xuICAgIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnNob3ctZm9yLXh4bGFyZ2Uge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGlkZS1mb3IteHhsYXJnZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5idXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSAwO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgMDtcbiAgfVxuXG4gICYuc21hbGwsXG4gICYubGl0dGxlIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cblxuICAmLmxpdHRsZSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIC8vIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG5cbiAgJi5jb25zZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTtcblxuICAgIC5pY29uIHtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIHRvcCwgZmFsc2UsIDEpO1xuICAgICAgc3ZnIGNpcmNsZSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAuaWNvbiBzdmcgY2lyY2xlIHtcbiAgICAgICAgZmlsbDogJGFjY2VudC1ibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5weC1ncmlkIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5hLmRvd25sb2FkIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGNvbG9yOiAkbG9nby1ibHVlO1xuXG4gIGltZyB7XG4gICAgLy8gbWF4LXdpZHRoOiAxMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhMGI2ZDU7XG4gIH1cblxuICAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBzdHJva2U6ICRhY2NlbnQtYmx1ZTtcbiAgICBjb2xvcjogJGFjY2VudC1ibHVlO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNjVweDtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgbWFyZ2luLFxuICAgICAgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAwLjVcbiAgICApO1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXBhZGRpbmctZ3V0dGVycywgbWFyZ2luLCByaWdodCwgZmFsc2UsIDEpO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbWFsbGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCBib3R0b20sIGZhbHNlLCAxKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmljb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHBhZGRpbmcsIHJpZ2h0LCBmYWxzZSwgMSk7XG4gICAgfVxuICAgIC5zbWFsbGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDBweCkge1xuICAgIC5pY29uIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXBhZGRpbmctZ3V0dGVycyxcbiAgICAgICAgbWFyZ2luLFxuICAgICAgICByaWdodCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDFcbiAgICAgICk7XG4gICAgfVxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cblxuICAmLmhhcy1pbWFnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg5MDBweCkge1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAuaWNvbiB7XG4gICAgICAgIC8vIG9yZGVyOiAxO1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgICBtYXJnaW4sXG4gICAgICAgICAgYm90dG9tLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIDAuNzVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIC8vIC5kZXNjcmlwdGlvbiB7XG4gICAgICAvLyAgIG9yZGVyOiAyO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIC8vIG9yZGVyOiAxO1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgICAgbWFyZ2luLFxuICAgICAgICAgIGJvdHRvbSxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAwLjVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmljb24gc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5idXR0b24udGV4dC1hY2NlbnQsXG4uYnV0dG9uLmFjdGl2ZSB7XG4gIGNvbG9yOiAkYWNjZW50LWJsdWU7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1ibHVlO1xuXG4gIHN2ZyB7XG4gICAgc3Ryb2tlOiAkYWNjZW50LWJsdWU7XG4gIH1cbn1cblxuLmJ1dHRvbiAuaWNvbixcbi5zY3JvbGxoaW50IC5pY29uLFxuLm9wZW52aWRlbyAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLm92ZXJsYXktcGxheSB7XG4gIHdpZHRoOiA2dnc7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICAuaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2dnc7XG4gIH1cbiAgc3ZnID4gKiB7XG4gICAgc3Ryb2tlOiAkYWNjZW50LWJsdWU7XG4gICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAkYWNjZW50LWJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5iaWdidXR0b24tYW5pIHtcbiAgLS1iYi1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KFxuICAgIDkwZGVnLFxuICAgIHJnYigyNTUsIDI1NSwgMjU1KSAtMTUlLFxuICAgIHJnYigxOCwgMTEzLCAyNTUpIC0xNCUsXG4gICAgcmdiKDE4LCAxMTMsIDI1NSkgLTEwJSxcbiAgICByZ2IoMjU1LCAyNTUsIDI1NSkgLTUlLFxuICAgIHJnYigwLCAyNSwgNjcpIDBcbiAgKTtcbiAgLS1zdHJva2U6IDBlbTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmItZ3JhZGllbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTUwJTtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiB2YXIoLS1zdHJva2UpIHRyYW5zcGFyZW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHNwYW4uaDEge1xuICAgICAgZm9udC1zaXplOiA2LjV2dztcbiAgICB9XG4gIH1cbn1cblxuLmJ1dHRvbiAuaWNvbi5kdXBsaWNhdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5idXJnZXI6aG92ZXIsXG4uYnVyZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuQGtleWZyYW1lcyBwbGF5MTAge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMHB4O1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJldjEwIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAwcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgfVxufVxuQGtleWZyYW1lcyBwbGF5MTAyNCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjg4cHggMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NjhweCAwcHg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcmV2MTAyNCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzY4cHggMHB4O1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAwcHg7XG4gIH1cbn1cblxuLmJ1cmdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzJSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTUlLDMlKTtcbiAgfVxufVxuXG4uYnVyZ2VyIC5pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9idXJnZXItaWNvbi5zdmcpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDE1MG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwcyg5KTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBsaW5lYXI7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpIHJvdGF0ZSgtNDVkZWcpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cbi5idXJnZXIgLmljb24uc3RlcDEge1xuICBhbmltYXRpb24tbmFtZTogcGxheTEwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNykgcm90YXRlKDBkZWcpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICB9XG59XG4uYnVyZ2VyIC5pY29uLnJldi1zdGVwMSB7XG4gIGFuaW1hdGlvbi1uYW1lOiByZXYxMDtcbn1cblxuLmJ1cmdlciAuaWNvbi5zdGVwMiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByZXYxMDI0O1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHN0ZXBzKDE1KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgbGluZWFyO1xufVxuLmJ1cmdlciAuaWNvbi5yZXYtc3RlcDIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNykgcm90YXRlKC0xODBkZWcpO1xuICBhbmltYXRpb24tbmFtZTogcGxheTEwMjQ7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcHMoMTUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBsaW5lYXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgtMTgwZGVnKTtcbiAgfVxufVxuXG4uYnVyZ2VyIC5idG5sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG5cbi5zY3JvbGxoaW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1hcmdpbiwgcmlnaHQsIGZhbHNlKTtcbiAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRzcGFjZWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCBib3R0b20sIGZhbHNlLCAxKTtcblxuICAuaWNvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ub3BlbnZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICRhY2NlbnQtYmx1ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyZ2luLCByaWdodCwgZmFsc2UpO1xuICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgJHNwYWNlZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgIG1hcmdpbixcbiAgICBib3R0b20sXG4gICAgZmFsc2UsXG4gICAgMC41XG4gICk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC50ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkc3BhY2VkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBtYXJnaW4sXG4gICAgICBib3R0b20sXG4gICAgICBmYWxzZSxcbiAgICAgIDFcbiAgICApO1xuICB9XG5cbiAgLmljb24ge1xuICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICB9XG4gIC5pY29uIHN2ZyBwYXRoLFxuICAuaWNvbiBzdmcgY2lyY2xlIHtcbiAgICBzdHJva2U6ICRhY2NlbnQtYmx1ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG59XG5cbi5jbG9zZS1idXR0b24ubWVkaXVtLFxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyZ2luLCB0b3AgcmlnaHQsIGZhbHNlKTtcbn1cblxuLmNsb3NlLWJ1dHRvbi5tZWRpdW0sXG4uY2xvc2UtYnV0dG9uIHtcbiAgLmljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xuICB9XG4gICY6aG92ZXIgLmljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuICAmOmhvdmVyIC5pY29uIHN2ZyBwYXRoIHtcbiAgICBzdHJva2U6ICRhY2NlbnQtYmx1ZTtcbiAgfVxufVxuIiwiI21lbnVMb2dvIHtcbiAgd2lkdGg6IDI1dnc7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDAuMzUlO1xuICBmaWxsOiAkd2hpdGU7XG59XG5cbiN0aXRsZWJhcldyYXBwZXIuc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLnRpdGxlLWJhciB7XG4gIEBpbmNsdWRlIHh5LWZ1bGxndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBwYWRkaW5nLCBsZWZ0IHJpZ2h0LCBmYWxzZSk7XG4gIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBwYWRkaW5nLCB0b3AsIGZhbHNlLCAwLjcpO1xuICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgYm90dG9tLCBmYWxzZSwgMC41KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBwYWRkaW5nLFxuICAgICAgdG9wIGJvdHRvbSxcbiAgICAgIGZhbHNlLFxuICAgICAgMC40XG4gICAgKTtcbiAgfVxufVxuXG4udGl0bGUtYmFyLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgcmdiYSgwLCA2LCAxNSwgMC45KSAxMy4zMyUsXG4gICAgcmdiYSgwLCAxMywgMzQsIDAuMjUpIDEwMCVcbiAgKTtcbiAgei1pbmRleDogLTE7XG59XG5cbiNob21lIC50aXRsZS1iYXItYmcge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6IDU4MHB4O1xuICB9XG59XG5cbnNlY3Rpb246Zmlyc3QtY2hpbGQgLmFkZC10b3BiYXJzcGFjZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjBweCk7XG4gIH1cbn1cblxuLmFkZC10b3BiYXJwYWRkaW5nIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC5tZW51Lmhvcml6b250YWwge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIG1hcmdpbiwgbGVmdCByaWdodCwgdHJ1ZSk7XG4gIH1cbiAgLm1lbnUuaG9yaXpvbnRhbCBsaSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyZ2luLCBsZWZ0IHJpZ2h0LCBmYWxzZSk7XG4gIH1cblxuICAubWVudS52ZXJ0aWNhbCAuYnV0dG9uLnNtYWxsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5oYXMtZm9vdGVySWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBjbGlwO1xuICB9XG5cbiAgLm1lbnUudmVydGljYWwuY29tcGFjdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLmFkZHJlc3Mge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cblxuICAgICYgPiBwOm50aC1jaGlsZCgyKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2dtYmhJY29uIHtcbiAgbWF4LXdpZHRoOiA2MHB4O1xuXG4gIHBhdGgge1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMjVzIGxpbmVhcjtcbiAgfVxufVxuXG4jZm9vdGVySWNvbixcbiNuYXZJY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAyNSU7XG4gIHdpZHRoOiA4NSU7XG4gIGhlaWdodDogYXV0bztcbiAgZmlsbDogcmdiYSgkbG9nby1ibHVlLCAwLjA1KTtcbn1cblxuI2Zvb3Rlckljb24ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuI25hdkljb24ge1xuICBib3R0b206IDAlO1xuICB3aWR0aDogNjUlO1xuICBmaWxsOiByZ2JhKCR3aGl0ZSwgMC4wNSk7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWVudS52ZXJ0aWNhbC5jb21wYWN0IHtcbiAgYS5idXR0b24ge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG59XG5cbi5vZmYtY2FudmFzIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vLyAjbWFpbk1lbnUgZGl2IHtcbi8vICAgaGVpZ2h0OiAxMDB2aDtcbi8vIH1cblxuI21haW5OYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBsaS5wYi1ncmlkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzdhOTBhZjtcbiAgICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIGJvdHRvbSwgZmFsc2UpO1xuICB9XG5cbiAgLnRvbmUtZG93biBhLmJ1dHRvbjpub3QoOmhvdmVyKSB7XG4gICAgY29sb3I6ICNhMGI2ZDU7XG5cbiAgICAjZ21iaEljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjYTBiNmQ1O1xuICAgIH1cbiAgfVxuXG4gIC5vdmVybGluZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEuYnV0dG9uLFxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYS5idXR0b24ge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG5cbiAgICAmLmhlYWRxdWF0ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTUlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXM6aG92ZXIge1xuICAgICAgY29sb3I6ICRhY2NlbnQtYmx1ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyICNnbWJoSWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICRhY2NlbnQtYmx1ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgdG9wIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuMjVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gc3Bhbjpub3QoLm92ZXJsaW5lKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiA2MCU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXR0b24gLmljb24ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbjpob3ZlciAuaWNvbiBzdmcgcGF0aCB7XG4gICAgc3Ryb2tlOiAkYWNjZW50LWJsdWU7XG4gIH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAuYnV0dG9uIHtcbiAgICBjb2xvcjogJGFjY2VudC1ibHVlO1xuICB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLmJ1dHRvbiAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuXG4gIHVsLm5lc3RlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiA1cHggMDtcblxuICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIGJvdHRvbSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGEuYnV0dG9uOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiAjYTBiNmQ1O1xuICAgIH1cbiAgfVxufVxuXG4jc2lkZU5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGEuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCBib3R0b20sIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5hc3BlY3QtcmF0aW8tMi0xIHtcbiAgYXNwZWN0LXJhdGlvOiAxNS83O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5zbWFsbC1hc3BlY3QtcmF0aW8tNC0zIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYXNwZWN0LXJhdGlvOiA0LzMgIWltcG9ydGFudDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxufVxuXG4uYXNwZWN0LXJhdGlvLTE2LTkge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmFzcGVjdC1yYXRpby1hNCB7XG4gIGFzcGVjdC1yYXRpbzogMS8xLjQxNDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ub3BhY2l0eS0xIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4ub2JqZWN0LXRvcCB7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbn1cblxuLm1heC1oLXNjcmVlbiB7XG4gIG1heC1oZWlnaHQ6IDEwMHZoO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG4ubWF4LWgtc2NyZWVuLS04MCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuLm1heC13LXNjcmVlbi0tODAge1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gVklERU9TXG5cbiNoZXJvRnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiA0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG4gIC5iZy12aWRlbyB2aWRlbyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYXNwZWN0LXJhdGlvOiA0Lzc7XG4gICAgfVxuICB9XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuICAtLWJnLW9wYWNpdHk6IDAuODtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgb3BhY2l0eTogdmFyKC0tYmctb3BhY2l0eSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfSBhbmQgI3ticmVha3BvaW50KGxhbmRzY2FwZSl9IHtcbiAgICBoZWlnaHQ6MTAwdmg7XG4gIH1cblxuICAmID4gLmNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG59XG5cbi5iZy12aWRlbyB2aWRlbyxcbi5iZy12aWRlbyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLmxhcmdlLWZ1bGxzY3JlZW4ge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuYmctdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uc2NyZWVuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbn1cblxuLmJnLWltZyB7XG4gIGJhY2tncm91bmQ6ICRibGFjay1uYXZ5O1xuXG4gIGltZyB7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxufVxuXG4ubGlrZS1vdmVybGF5IHtcbiAgb3BhY2l0eTogMC43NTtcbn1cblxuLnZpZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjay1uYXZ5LTUwO1xufVxuXG4jaW1hZ2VWaWRlb1JldmVhbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICAvLyBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9XZWlzc2JhY2hfTWV0YWxsYmF1X1NjaHdlaXNzZW5fMDEud2VicCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuXG4ucXItY29kZSB7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTglKTtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgfVxufVxuXG4vLyBhc3BlY3QgcmF0aW9zXG4uc20tc3F1YXJlIGltZyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5tZGRvd24tcGFzcyBpbWcsXG4ubWRkb3duLXBhc3MgdmlkZW8ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgYXNwZWN0LXJhdGlvOiA0LzM7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cbiIsIi5saXN0aW5nIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgdG9wIGJvdHRvbSwgZmFsc2UpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkc3BhY2VkLXZlcnRpY2FsLWd1dHRlcnMsIHBhZGRpbmcsIHRvcCBib3R0b20sIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBsaSB1bCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIHRvcCBib3R0b20sIGZhbHNlKTtcblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5jZWxsICY6bm90KC51bmdyaWQpIHtcbiAgLy8gICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1hcmdpbixyaWdodCBsZWZ0LGZhbHNlKTtcbiAgLy8gfVxuXG4gIC5jZWxsICYgbGkge1xuICAgIC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ubGlzdGluZy51bmdyaWQge1xuICBwYWRkaW5nOiAwO1xuICAvLyBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLG1hcmdpbixsZWZ0IHJpZ2h0LHRydWUpO1xufVxuXG4ubGlzdGluZyBhIHtcbiAgY29sb3I6ICRsb2dvLWJsdWU7XG5cbiAgLnRleHQtd2hpdGUgJiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uZ3JpZC1saXN0IHtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRzcGFjZWQtdmVydGljYWwtZ3V0dGVycywgcGFkZGluZywgdG9wIGJvdHRvbSwgZmFsc2UpO1xuICB9XG5cbiAgLm92ZXJsaW5lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5cXDMxIDAtYW5jaG9ycy1oNCB7XG4gIGgyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDY2JTtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIGxpIHtcbiAgICAvLyBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAub3ZlcmxpbmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gICAgfVxuICB9XG59XG5cbi5saXN0aW5nIGxpIHNwYW4uaDEge1xuICBtYXJnaW4tYm90dG9tOiAtMC4xZW07XG59XG5cbi5cXDMxIDAtNTYtaDMsXG4uZnVsbC00Ni1oMyB7XG4gIGxpIHtcbiAgICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycyhcbiAgICAgICRzcGFjZWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2VcbiAgICApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWZ1bGxndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICB0b3AgYm90dG9tLFxuICAgICAgICBmYWxzZVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgaDMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuOFxuICAgICAgKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNlxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuLlxcMzEgMi1saW5rZWQtaDEge1xuICBsaSB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAxXG4gICAgKTtcbiAgICAvLyBib3JkZXItdG9wLXdpZHRoOjJweDtcbiAgfVxufVxuXG4vLyAjY29udGFjdFxuXG4uY29udGFjdC1jYXJkIHtcbiAgLy8gJiA+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KDUwMHB4KSB7XG4gIC8vICAgICB3aWR0aDpcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4JSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIH1cbiAgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gIH1cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHAub3ZlcmxpbmUge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICBwYWRkaW5nLFxuICAgICAgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAwLjVcbiAgICApO1xuICB9XG5cbiAgcC5ncmlkLXgge1xuICAgIGZsZXgtZmxvdzogcm93O1xuICB9XG5cbiAgYS5saWFtIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICB9XG59XG4iLCIuYnJhbmNoYWNjb3JkaW9uIHtcbiAgYS5hY2NvcmRpb24tdGl0bGUuZ3JpZC14IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAxXG4gICAgKTtcbiAgfVxuICBhLmdyaWQteCxcbiAgLmFjY29yZGlvbi1jb250ZW50LmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyaWduLCByaWdodCBsZWZ0LCB0cnVlKTtcbiAgfVxuXG4gIGxpLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkbG9nby1ibHVlO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSA+IC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIEBpbmNsdWRlIHh5LWZ1bGxndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBwYWRkaW5nLCByaWdodCwgZmFsc2UpO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5hY2NvcmRpb24tdGl0bGUgPiAuaDEge1xuICAgIG1hcmdpbi10b3A6IC0wLjAyZW07XG4gIH1cbiAgLmFjY29yZGlvbi10aXRsZSA+IC5pY29uIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtYXJnaW4sIHJpZ2h0LCBmYWxzZSk7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgIHBhZGRpbmcsXG4gICAgICB0b3AgYm90dG9tLFxuICAgICAgZmFsc2UsXG4gICAgICAxXG4gICAgKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICB0b3A6IDBweDtcbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBhLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyZ2luLCByaWdodCBsZWZ0LCBmYWxzZSk7XG4gICAgfVxuICB9XG4gIC5hY2NvcmRpb24tY29udGVudCAuZ3JpZC1saXN0IGxpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIHN2Zy5zdmdsb2dvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIGhlaWdodDogdW5zZXQ7XG4gICAgZmlsbDogJGxvZ28tYmx1ZTtcbiAgfVxufVxuIiwiLmZ1bGwtb25ib3R0b20tYm90dG9tIHtcbiAgLy8gaDMge1xuICAvLyAgIHdpZHRoOjEwMCU7XG5cbiAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAvLyAgICAgd2lkdGg6IDY2JTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLm9mZnNldC01MCB7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSg1MCUpO1xuICAgICAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJGdyaWQtbWFyZ2luLWd1dHRlcnMsbWFyZ2luLGJvdHRvbSx0cnVlKTtcbiAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDQgLyAzO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cbi5cXDMxIDItb25ib3R0b20tYm90dG9tIHtcbiAgJiA+IC5ncmlkLXg6Zmlyc3QtY2hpbGQsIC5pbWctb2Zmc2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5cXDMxIDAtb25ib3R0b20tYm90dG9tIHtcbiAgJjpmaXJzdC1jaGlsZCAuZ3JpZC14OmZpcnN0LWNoaWxkLFxuICAmOmZpcnN0LWNoaWxkIC5ncmlkLXg6Zmlyc3QtY2hpbGQgLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIHBhZGRpbmctbGVmdDowO1xuICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgIH1cbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQgPiAuZ3JpZC14OmZpcnN0LWNoaWxkID4gLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsbWFyZ2luLGxlZnQgcmlnaHQsZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC50b3AtbGF5ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgQGluY2x1ZGUgeHktZnVsbGd1dHRlcnMoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLG1hcmdpbixsZWZ0IHJpZ2h0LGZhbHNlKTtcbiAgICAgIEBpbmNsdWRlIHh5LWZ1bGxndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMscGFkZGluZyx0b3AgYm90dG9tLGZhbHNlKTtcblxuICAgICAgLmNlbGw6bGFzdC1jaGlsZCB7IG1hcmdpbi10b3A6YXV0byB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBoMyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwJSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgIH1cbiAgfVxuXG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gIC8vICAgaDMge1xuICAvLyAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NSUpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIGgzIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi5mdWxsLW9uYm90dG9tLWJvdHRvbTpub3QoOmZpcnN0LWNoaWxkKSAuYmctdmlkZW8gaW1nLFxuLmZ1bGwtb25ib3R0b20tYm90dG9tOm5vdCg6Zmlyc3QtY2hpbGQpIC5iZy12aWRlbyB2aWRlbyB7XG4gIG1heC1oZWlnaHQ6IDEyMDBweDtcbn0iLCIjY29udGFjdCBzZWN0aW9uLFxuI2Rvd25sb2FkcyBzZWN0aW9uIHtcbiAgcC5vdmVybGluZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbmF2eTtcbiAgICBAaW5jbHVkZSB4eS1mdWxsZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgbWFyZ2luLCBsZWZ0IHJpZ2h0LCBmYWxzZSk7XG4gIH1cbn1cblxuI25ld3MsXG4jam9icyB7XG4gIGEuYWNjb3JkaW9uLXRpdGxlLmdyaWQteCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAvLyBhLmdyaWQteCwgLmFjY29yZGlvbi1jb250ZW50LmdyaWQteCB7XG4gIC8vICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycyxtYXJpZ24scmlnaHQgbGVmdCx0cnVlKTtcbiAgLy8gfVxuICAuYWNjb3JkaW9uLXRpdGxlID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBsaS5hY2NvcmRpb24taXRlbSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGxvZ28tYmx1ZTtcbiAgfVxufVxuXG4uaW50cm8gc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA1NTBweDtcbn1cblxuI2hpc3Rvcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgc2VjdGlvbi5iZy1ibHVlZ3JheSAudGV4dGNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU2ZWY7XG4gIH1cblxuICAuc2VjdGlvbi1saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1ibHVlO1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIG1hcmdpbiwgbGVmdCwgZmFsc2UsIDEuNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gIH1cblxuICAjaGlzdG9yeVNlY3Rpb25zIHNlY3Rpb24udGltZWxpbmVlbGVtZW50OmZpcnN0LW9mLXR5cGUgLnNlY3Rpb24tbGluZSB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRzcGFjZWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCB0b3AsIGZhbHNlLCAxKTtcbiAgfVxuXG4gICNoaXN0b3J5U2VjdGlvbnMgc2VjdGlvbi50ZXh0aW1hZ2UgLnNlY3Rpb24tbGluZSB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXBhZGRpbmctZ3V0dGVycywgbWFyZ2luLCBsZWZ0LCBmYWxzZSwgMSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiAudGltZXN0YW1wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtb3B0aWNhbC1zaXppbmc6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDExO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJsdWViYXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1ibHVlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBzZWN0aW9uIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24gPiAuY2VsbDpmaXJzdC1jaGlsZDpub3QoLnN0aWNreSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLnRleHRpbWFnZSAuYmx1ZWJhciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBzZWN0aW9uLnRleHRpbWFnZSAuY2VsbC5tZWRpdW0tMiAudGltZXN0YW1wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dGNvbnRlbnQgLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC1tYXJnaW4tZ3V0dGVycywgcGFkZGluZywgcmlnaHQsIGZhbHNlLCAxKTtcbiAgfVxuICAudGV4dGNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsIHBhZGRpbmcsIHJpZ2h0LCBmYWxzZSwgMS41KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5oYXMtdGlwIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjU1ZW07XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuc3RpY2t5IC5vdmVybGluZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLmlubGluZWltYWdlIHtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgbWFyZ2luLFxuICAgICAgdG9wIGJvdHRvbSxcbiAgICAgIGZhbHNlLFxuICAgICAgMC41XG4gICAgKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6IDI1dnc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJnLWJsdWVncmF5IC5pbmxpbmVpbWFnZSBpbWcge1xuICAgIGJvcmRlcjogNXB4IHNvbGlkICRibGFjay1uYXZ5O1xuICB9XG5cbiAgLnN3aXRjaCB7XG4gICAgLnN3aXRjaC1wYWRkbGUge1xuICAgICAgYmFja2dyb3VuZDogIzg5YTVmYTtcbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xuICAgIH1cbiAgICBsYWJlbCxcbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBicmVha3MgYXQgbGFyZ2VcblxuI2NvbXBhbnlHcmlkIHtcbiAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIG1hcmdpbiwgdG9wLCBmYWxzZSwgMik7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIG1hcmdpbiwgdG9wLCBmYWxzZSwgMS41KTtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIG1hcmdpbiwgYm90dG9tLCBmYWxzZSwgMik7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgJGdyaWQtcGFkZGluZy1ndXR0ZXJzLFxuICAgICAgcGFkZGluZyxcbiAgICAgIGxlZnQgcmlnaHQsXG4gICAgICBmYWxzZSxcbiAgICAgIDFcbiAgICApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXBhZGRpbmctZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgbGVmdCByaWdodCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgbWFyZ2luLFxuICAgICAgICBib3R0b20sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAwLjVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXBhZGRpbmctZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgbGVmdCByaWdodCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNzVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMzUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ21iaCB7XG4gICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKCRncmlkLXZlcnRpY2FsLWd1dHRlcnMsIG1hcmdpbiwgYm90dG9tLCBmYWxzZSwgMyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDEuNVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNSU7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgIG1hcmdpbixcbiAgICAgICAgYm90dG9tLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgMS41XG4gICAgICApO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcG9ydCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycygkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLCBtYXJnaW4sIHRvcCwgZmFsc2UsIDAuNSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgIHRvcCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNzVcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLm1ldGFsLFxuICAuYnJpZGdlLFxuICAuc2V3ZXIsXG4gIC5zcG9ydCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MDBweCkge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgLmdtYmg6YWZ0ZXIsXG4gICAgLm1ldGFsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxvZ28tYmx1ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICBib3R0b20sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxLjRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLm1ldGFsOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDkwJSk7XG4gICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgIHBhZGRpbmcsXG4gICAgICAgIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDEuMlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAuYnJpZGdlOmFmdGVyLFxuICAgIC5zZXdlcjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0b3A6IDQ1JTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxvZ28tYmx1ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbiAgICAuc2V3ZXI6YWZ0ZXIge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAuYnJpZGdlOmFmdGVyLFxuICAgIC5zZXdlcjphZnRlciB7XG4gICAgICB3aWR0aDogMTMlO1xuICAgIH1cbiAgICAuZ21iaDphZnRlcixcbiAgICAubWV0YWw6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICBwYWRkaW5nLFxuICAgICAgICBib3R0b20sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAxLjRcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHh4bGFyZ2UpIHtcbiAgICAuYnJpZGdlOmFmdGVyLFxuICAgIC5zZXdlcjphZnRlciB7XG4gICAgICB3aWR0aDogMjIlO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuI2NvbXBhbnlHcmlkIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgcGFkZGluZyxcbiAgICAgIGxlZnQgcmlnaHQsXG4gICAgICBmYWxzZSxcbiAgICAgIDFcbiAgICApO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgdG9wIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNVxuICAgICAgKTtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgbGVmdCByaWdodCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNVxuICAgICAgKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgdG9wIGJvdHRvbSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAuNVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRsb2dvLWJsdWU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogNSUgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNSUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jZWxsOm50aC1jaGlsZCgyKSBzdmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzUlKSBzY2FsZSgxLjMpO1xuICB9XG5cbiAgLnRleHQtd2hpdGUgJiB7XG4gICAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmIC5jZWxsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgJiAuY2VsbDpudGgtY2hpbGQoMikge1xuICAgICAgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgLy8gICBtYXJnaW4sXG4gICAgICAvLyAgIGJvdHRvbSxcbiAgICAgIC8vICAgZmFsc2UsXG4gICAgICAvLyAgIDFcbiAgICAgIC8vICk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbG9nby1ibHVlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbG9nby1ibHVlO1xuICAgICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgICBwYWRkaW5nLFxuICAgICAgICAgIGJvdHRvbSxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAwLjZcbiAgICAgICAgKTtcbiAgICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgICAgbWFyZ2luLFxuICAgICAgICAgIHRvcCxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIDAuM1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAmIC5jZWxsOm50aC1jaGlsZCg0KSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxvZ28tYmx1ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsb2dvLWJsdWU7XG4gICAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICAgIHBhZGRpbmcsXG4gICAgICAgICAgbGVmdCxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAwLjVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiAuY2VsbDpudGgtY2hpbGQoNSkge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsb2dvLWJsdWU7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsb2dvLWJsdWU7XG4gICAgICAgIEBpbmNsdWRlIHh5LXNtYXJ0Z3V0dGVycyhcbiAgICAgICAgICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgICAgIHBhZGRpbmcsXG4gICAgICAgICAgYm90dG9tLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIDAuNlxuICAgICAgICApO1xuICAgICAgICBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAgICAgJGdyaWQtdmVydGljYWwtZ3V0dGVycyxcbiAgICAgICAgICBtYXJnaW4sXG4gICAgICAgICAgdG9wLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgMC4zXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgICYgLmNlbGw6bnRoLWNoaWxkKDYpIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbG9nby1ibHVlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxvZ28tYmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgICAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAgICAgcGFkZGluZyxcbiAgICAgICAgICBsZWZ0LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIDAuNVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAmIC5jZWxsOm50aC1jaGlsZCg4KSB7XG4gICAgICAvLyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoJGdyaWQtdmVydGljYWwtZ3V0dGVycywgbWFyZ2luLCB0b3AsIGZhbHNlLCAxKTtcbiAgICB9XG4gICAgJiAuY2VsbDpudGgtY2hpbGQoM24gKyAxKSBkaXYge1xuICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgICAgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgLy8gICBtYXJnaW4sXG4gICAgICAvLyAgIGxlZnQgcmlnaHQsXG4gICAgICAvLyAgIGZhbHNlLFxuICAgICAgLy8gICAwLjVcbiAgICAgIC8vICk7XG4gICAgfVxuICAgICYgLmNlbGw6bnRoLWNoaWxkKDNuICsgMykgZGl2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgLy8gICBtYXJnaW4sXG4gICAgICAvLyAgIGxlZnQgcmlnaHQsXG4gICAgICAvLyAgIGZhbHNlLFxuICAgICAgLy8gICAwLjVcbiAgICAgIC8vICk7XG4gICAgfVxuXG4gICAgJiAuY2VsbDpudGgtY2hpbGQoMikgZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG4gICAgJiAuY2VsbDpudGgtY2hpbGQoOCkgZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAvLyBAaW5jbHVkZSB4eS1zbWFydGd1dHRlcnMoXG4gICAgICAvLyAgICRncmlkLXZlcnRpY2FsLWd1dHRlcnMsXG4gICAgICAvLyAgIG1hcmdpbixcbiAgICAgIC8vICAgbGVmdCByaWdodCxcbiAgICAgIC8vICAgZmFsc2UsXG4gICAgICAvLyAgIDAuNVxuICAgICAgLy8gKTtcbiAgICB9XG5cbiAgICAmIC5jZWxsOm50aC1jaGlsZCg1KSBkaXYge1xuICAgICAgLy8gQGluY2x1ZGUgeHktc21hcnRndXR0ZXJzKFxuICAgICAgLy8gICAkZ3JpZC12ZXJ0aWNhbC1ndXR0ZXJzLFxuICAgICAgLy8gICBtYXJnaW4sXG4gICAgICAvLyAgIGxlZnQgcmlnaHQsXG4gICAgICAvLyAgIGZhbHNlLFxuICAgICAgLy8gICAwLjVcbiAgICAgIC8vICk7XG4gICAgfVxuICB9XG59XG4qL1xuIiwiQGNoYXJzZXQgJ3V0Zi04JztcblxuQGltcG9ydCBcImdsb2JhbC92YXJzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJmb3VuZGF0aW9uXCI7XG5cbiRjb250cmFzdC13YXJuaW5nczogZmFsc2U7XG5cbi8vIEdsb2JhbCBzdHlsZXNcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbi8vIEdyaWRzIChjaG9vc2Ugb25lKVxuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcblxuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vLyBCYXNpYyBjb21wb25lbnRzXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbi8vIENvbnRhaW5lcnNcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbi8vIEhlbHBlcnNcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW1wb3J0IFwiZ2xvYmFsL21peGluc1wiO1xuQGltcG9ydCBcImdsb2JhbC9jb2xvcnNcIjtcbkBpbXBvcnQgXCJnbG9iYWwvdHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcImdsb2JhbC9ncmlkXCI7XG5cbi8vIEBpbXBvcnQgXCJjb21wb25lbnRzL3N3aXBlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdWlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lZGlhXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saXN0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWNjb3JkaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGV4dGltYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcGFueWdyaWRcIjtcblxuOnJvb3Qge1xuICAvLyAtLWJiLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYigyNTUsMjU1LDI1NSkgLTE1JSxyZ2IoMTgsIDExMywgMjU1KSAtMTQlLCByZ2IoMTgsIDExMywgMjU1KSAtMTAlLCByZ2IoMjU1LDI1NSwyNTUpIC01JSxyZ2IoMCwgMjUsIDY3KSAwKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLS14LXNwYWNpbmc6ICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKX07XG4gICAgLS15LXNwYWNpbmc6ICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJzbWFsbFwiKX07XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAtLXgtc3BhY2luZzogI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcIm1lZGl1bVwiKX07XG4gICAgLS15LXNwYWNpbmc6ICN7bWFwLWdldCgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgXCJtZWRpdW1cIil9O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAtLXgtc3BhY2luZzogI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcImxhcmdlXCIpfTtcbiAgICAtLXktc3BhY2luZzogI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcImxhcmdlXCIpfTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIC0teC1zcGFjaW5nOiAje21hcC1nZXQoJGdyaWQtbWFyZ2luLWd1dHRlcnMsIFwieGxhcmdlXCIpfTtcbiAgICAtLXktc3BhY2luZzogI3ttYXAtZ2V0KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBcInhsYXJnZVwiKX07XG4gIH1cbn1cbiJdfQ== */
