@charset "UTF-8";
/*! normalize.css simplified version*/
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

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

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

button,
select {
  text-transform: none;
}

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

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 {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

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

:root {
  --transition-timing-function: ease-in-out;
  --transition-speed: .2s;
  --transition-speed-longer: .35s;
  --transition-speed-animation: .7s;
  --transition-speed-animation-pattern: 1s;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-timing-function: linear;
    --transition-speed: 0s;
    --transition-speed-longer: 0s;
    --transition-speed-animation: 0s;
    --transition-speed-animation-pattern: 0s;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

html {
  box-sizing: border-box;
}

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

*:focus {
  outline: 4px solid var(--wp--preset--color--primary) !important;
}

::selection {
  color: var(--wp--preset--color--light);
  background: var(--wp--preset--color--secondary);
}

::-moz-selection {
  color: var(--wp--preset--color--light);
  background: var(--wp--preset--color--secondary);
}

html {
  font-size: 1rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

body {
  top: auto !important;
}
@media (min-width: 768px) {
  body {
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.5;
  }
}
body.using-mouse :focus {
  outline: none !important;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
}
html.user-tab-nav a:focus,
html.user-tab-nav button:focus,
html.user-tab-nav input:focus,
html.user-tab-nav select:focus,
html.user-tab-nav textarea:focus {
  outline: 2px solid blue;
  outline-offset: 0;
}

input,
select,
textarea {
  max-width: 100%;
}

figure {
  margin: 0;
}

img,
svg {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
nav li {
  display: inline-block;
}
nav li > a {
  text-decoration: none;
}

.skiptranslate:not(.goog-te-gadget) {
  display: none;
}

.page-content {
  margin-top: 3.75rem;
}
@media (min-width: 768px) {
  .page-content {
    margin-top: 5rem;
  }
}

#page {
  overflow: hidden;
  width: 100%;
}

.mobile {
  display: flex;
}
@media (min-width: 768px) {
  .mobile {
    display: none;
  }
}

.tablet {
  display: none;
}
@media (min-width: 768px) {
  .tablet {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .tablet {
    display: none;
  }
}

.desktop {
  display: none;
}
@media (min-width: 1200px) {
  .desktop {
    display: flex;
  }
}

.grecaptcha-badge {
  visibility: hidden !important;
}

.screen-reader-text,
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  margin: -1px !important;
  white-space: nowrap !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

a.skip-link {
  width: 1px;
  height: 1px;
  position: absolute;
  z-index: -999;
  top: auto;
  left: -999px;
  overflow: hidden;
}
[dir=rtl] a.skip-link {
  right: -999px;
}

a.skip-link:focus,
a.skip-link:active {
  width: 150px;
  height: auto;
  padding: 5px;
  z-index: 999;
  top: 20px;
  left: 20px;
  margin: 0;
  font-size: 1rem;
  text-align: center;
  color: #FFF;
  border: 2px solid yellow;
  border-radius: 8px;
  background-color: #000;
  overflow: auto;
}

[hidden] {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "minerva-modern", sans-serif;
}
h1:only-child,
h2:only-child,
h3:only-child,
h4:only-child,
h5:only-child,
h6:only-child,
.h1:only-child,
.h2:only-child,
.h3:only-child,
.h4:only-child,
.h5:only-child,
.h6:only-child {
  margin-bottom: 0;
}

h1, .h1 {
  font-size: 2.5rem;
  line-height: 1.25;
}
@media (min-width: 768px) {
  h1, .h1 {
    font-size: 3.125rem;
    line-height: 1.08;
  }
}

h2, .h2 {
  font-size: 1.875rem;
  line-height: 1.1666666667;
}
@media (min-width: 768px) {
  h2, .h2 {
    font-size: 2.5rem;
    line-height: 1.2;
  }
}

h3, .h3 {
  font-size: 1.5625rem;
  line-height: 1.2;
}
@media (min-width: 768px) {
  h3, .h3 {
    font-size: 2rem;
    line-height: 0.9375;
  }
}

h4, .h4 {
  font-size: 1.4375rem;
  line-height: 1.1739130435;
}
@media (min-width: 768px) {
  h4, .h4 {
    font-size: 1.6875rem;
    line-height: 1.1111111111;
  }
}

h5, .h5 {
  font-size: 1.375rem;
  line-height: 1.1363636364;
}
@media (min-width: 768px) {
  h5, .h5 {
    font-size: 1.5rem;
    line-height: 1.1666666667;
  }
}

h6, .h6 {
  font-size: 1.25rem;
  line-height: 1.15;
}
@media (min-width: 768px) {
  h6, .h6 {
    font-size: 1.3125rem;
    line-height: 1.1904761905;
  }
}

a img {
  border: 0;
}

p:last-child {
  margin-bottom: 0;
}

strong {
  font-weight: bolder;
}

.page-content ul:not([class]) ul,
.page-content ul:not([class]) ol,
.acf-block ul:not([class]) ul,
.acf-block ul:not([class]) ol,
.editor-rich-text ul ul,
.editor-rich-text ul ol,
ol ul,
ol ol {
  margin: 0;
}

ul:not([class]) {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  font-weight: 700;
  padding-left: 1.6875rem;
}

hr {
  box-sizing: content-box;
  height: 0;
  margin-top: 1.875rem;
  margin-bottom: 1.875rem;
  border-top: 1px solid var(--wp--preset--color--dark);
}
@media (min-width: 768px) {
  hr {
    margin-top: calc(var(--wp--preset--spacing--medium) / 16)rem;
    margin-bottom: calc(var(--wp--preset--spacing--medium) / 16)rem;
  }
}

.title-font {
  font-family: "minerva-modern", sans-serif;
}

.text-font {
  font-family: var(--wp--preset--font-family--base-font), sans-serif;
}
.text-font--narrow {
  font-family: "din-2014-narrow", sans-serif;
}

.inline {
  display: inline;
}

.single-title {
  max-width: 53.8125rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.general-text {
  margin: 7.5rem 0 5rem;
}
.general-text a:not([class]) {
  font-weight: 700;
  text-decoration: none;
  color: var(--wp--preset--color--secondary);
  transition: color var(--transition-speed) var(--transition-timing-function);
}
.general-text a:not([class]):hover {
  color: var(--wp--preset--color--dark);
}
.general-text ul:not([class]) {
  padding-left: 0.6875rem;
  list-style: none;
}
@media (min-width: 768px) {
  .general-text ul:not([class]) {
    font-size: 1.125rem;
    line-height: 1.6666666667;
    margin-bottom: 4.625rem;
  }
}
.general-text ul:not([class]) li {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0 0.625rem;
}
.general-text ul:not([class]) li::before {
  content: "•";
  display: block;
}
.general-text ul:not([class]) ul {
  width: 100%;
}
.general-text p + h1, .general-text p + .h1 {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .general-text p + h1, .general-text p + .h1 {
    margin-top: 3.75rem;
    margin-bottom: 1.5625rem;
  }
}
.general-text p + h2, .general-text p + .h2 {
  margin-top: 2.1875rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .general-text p + h2, .general-text p + .h2 {
    margin-top: 3.125rem;
    margin-bottom: 1.5625rem;
  }
}
.general-text p + h3, .general-text p + .h3 {
  margin-top: 1.875rem;
  margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .general-text p + h3, .general-text p + .h3 {
    margin-top: 2.5rem;
  }
}
.general-text p + h4, .general-text p + .h4 {
  margin-top: 1.5625rem;
  margin-bottom: 0.9375rem;
}
@media (min-width: 768px) {
  .general-text p + h4, .general-text p + .h4 {
    margin-top: 2.1875rem;
  }
}
.general-text p + h5, .general-text p + .h5 {
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
}
@media (min-width: 768px) {
  .general-text p + h5, .general-text p + .h5 {
    margin-top: 1.875rem;
  }
}
.general-text p + h6, .general-text p + .h6 {
  margin-top: 1.25rem;
  margin-bottom: 0.625rem;
}
@media (min-width: 768px) {
  .general-text p + h6, .general-text p + .h6 {
    margin-top: 1.5625rem;
  }
}

.bounce {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: opacity var(--transition-speed-animation) var(--transition-timing-function), transform var(--transition-speed-animation) var(--transition-timing-function), backface-visibility var(--transition-speed-animation) var(--transition-timing-function);
}

.bounce-up {
  transform: translate3d(0, 12.5rem, 0);
}

.bounce-left {
  transform: translate3d(-12.5rem, 0, 0);
}

.bounce-right {
  transform: translate3d(12.5rem, 0, 0);
}

.bounce.in-view {
  opacity: 1;
  transform: none;
}

@media (min-width: 2200px) {
  .pattern {
    display: none;
  }
}
.pattern--left {
  transform: translateX(-100%);
}
.pattern--right {
  transform: translateX(100%);
}

.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.wpcf7-form-control-wrap {
  display: block;
  font-size: 0;
}
.wpcf7-form.success .wpcf7-response-output {
  display: block !important;
}
.wpcf7-form.sent .form-group {
  display: none;
}
.wpcf7-form.sent .form-column-row {
  display: none;
}
.wpcf7-form.sent p:has(.wpcf7-submit) {
  display: none;
}
.wpcf7-spinner {
  display: none !important;
}
.wpcf7-not-valid-tip {
  display: block;
  font-size: 1rem;
  line-height: 1.125;
  color: var(--wp--preset--color--secondary);
  margin-top: 0.1875rem;
  margin-bottom: -0.1875rem;
}
.wpcf7-not-valid-tip:not(:first-of-type) {
  display: none;
}
.wpcf7-response-output {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 1.125rem;
  line-height: 1.2222222222;
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
}
.wpcf7 .form-group br {
  display: none;
}
.wpcf7 .form-group .label {
  display: flex;
  margin-top: 0.3125rem;
  font-size: 1rem;
  line-height: 1.3125;
}
.wpcf7 .form-group .label--bigger {
  font-size: 1.25rem;
  line-height: 1.05;
  font-weight: 700;
  color: var(--wp--preset--color--secondary);
  margin-top: -0.1875rem;
  margin-bottom: 0.5rem;
}
.wpcf7 .form-group input, .wpcf7 .form-group textarea {
  padding: 0.5rem 1rem;
  border: 0.0625rem solid var(--wp--preset--color--secondary);
  font-size: 1.125rem;
  line-height: 1.1666666667;
  font-weight: 700;
}
.wpcf7 .form-group input[type=file] {
  padding: 0.3125rem 1.3125rem;
}
.wpcf7 .form-group textarea {
  height: 7.5rem;
  width: 100% !important;
}
@media (min-width: 768px) {
  .wpcf7 .form-group textarea {
    height: 9.5rem;
  }
}
.wpcf7 .form-column {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  .wpcf7 .form-column:nth-child(2) {
    margin-bottom: 1.625rem;
  }
}
.wpcf7 .form-column-row {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .wpcf7 .form-column-row {
    flex-direction: row;
    align-items: flex-end;
    gap: 4.0625rem;
  }
}
.wpcf7 .wpcf7-submit {
  background-color: var(--wp--preset--color--primary);
  border-radius: 0;
  border: 0.1875rem solid var(--wp--preset--color--primary);
  font-size: 1rem;
  line-height: 1.3125;
  letter-spacing: 0.1rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--wp--preset--color--light);
  min-width: 9rem;
  padding: 0.4375rem 0.9375rem;
  margin-top: 0.375rem;
  transition: color var(--transition-speed) var(--transition-timing-function), background-color var(--transition-speed) var(--transition-timing-function);
}
.wpcf7 .wpcf7-submit:hover {
  background-color: var(--wp--preset--color--light);
  color: var(--wp--preset--color--secondary);
}
.wpcf7 .wpcf7-submit:focus {
  outline: 0.25rem solid var(--wp--preset--color--secondary) !important;
}

.wp-caption {
  width: auto !important;
}
.wp-caption figure {
  width: auto !important;
  margin: 0;
}

.alignleft,
.wp-block-image .alignleft {
  float: left;
  margin: 0 var(--wp--custom--media-spacing) var(--wp--custom--media-spacing) 0;
}

.alignright,
.wp-block-image .alignright {
  float: right;
  margin: 0 0 var(--wp--custom--media-spacing) var(--wp--custom--media-spacing);
}

.alignnone,
.wp-block-image .alignnone {
  display: inline-block;
  max-width: 100%;
}

.aligncenter,
.wp-block-image .aligncenter {
  clear: both;
  margin: var(--wp--custom--media-spacing) auto;
  text-align: center;
}

.has-text-uppercase {
  text-transform: uppercase;
}

.is-content-justification-top-center {
  align-items: flex-start;
  justify-content: center;
}
.is-content-justification-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}
.is-content-justification-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}
.is-content-justification-center-center {
  align-items: center;
  justify-content: center;
}
.is-content-justification-center-left {
  align-items: center;
  justify-content: flex-start;
}
.is-content-justification-center-right {
  align-items: center;
  justify-content: flex-end;
}
.is-content-justification-bottom-center {
  align-items: flex-end;
  justify-content: center;
}
.is-content-justification-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}
.is-content-justification-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.container {
  width: 100%;
  max-width: var(--wp--style--global--wide-size);
  padding: 0 1.625rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .container {
    padding: 0 4.375rem;
  }
}

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

.d-flex {
  display: flex;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -4.375rem;
  margin-left: -4.375rem;
}
.row.justify-content-end {
  justify-content: flex-end;
}
.row.justify-content-center {
  justify-content: center;
}
.row.justify-content-between {
  justify-content: space-between;
}
.row.justify-content-evenly {
  justify-content: space-evenly;
}
.row.align-items-center {
  align-items: center;
}

.col {
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0 4.375rem;
}

[class*=col-] {
  flex-grow: 0;
  flex-shrink: 0;
  padding: 0 4.375rem;
}

.col-1 {
  flex-basis: 8.3333333333%;
  max-width: 8.3333333333%;
}

.col-2 {
  flex-basis: 16.6666666667%;
  max-width: 16.6666666667%;
}

.col-3 {
  flex-basis: 25%;
  max-width: 25%;
}

.col-4 {
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
}

.col-5 {
  flex-basis: 41.6666666667%;
  max-width: 41.6666666667%;
}

.col-6 {
  flex-basis: 50%;
  max-width: 50%;
}

.col-7 {
  flex-basis: 58.3333333333%;
  max-width: 58.3333333333%;
}

.col-8 {
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
}

.col-9 {
  flex-basis: 75%;
  max-width: 75%;
}

.col-10 {
  flex-basis: 83.3333333333%;
  max-width: 83.3333333333%;
}

.col-11 {
  flex-basis: 91.6666666667%;
  max-width: 91.6666666667%;
}

.col-12 {
  flex-basis: 100%;
  max-width: 100%;
}

@media (min-width: 768px) {
  .col-md-1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 768px) {
  .col-md-2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
}

@media (min-width: 768px) {
  .col-md-4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 768px) {
  .col-md-5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media (min-width: 768px) {
  .col-md-7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 768px) {
  .col-md-8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
}

@media (min-width: 768px) {
  .col-md-10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 768px) {
  .col-md-11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 768px) {
  .col-md-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}

@media (min-width: 992px) {
  .col-lg-1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 992px) {
  .col-lg-2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
}

@media (min-width: 992px) {
  .col-lg-4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 992px) {
  .col-lg-5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media (min-width: 992px) {
  .col-lg-7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 992px) {
  .col-lg-8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
}

@media (min-width: 992px) {
  .col-lg-10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 992px) {
  .col-lg-11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 992px) {
  .col-lg-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}

@media (min-width: 1200px) {
  .col-xl-1 {
    flex-basis: 8.3333333333%;
    max-width: 8.3333333333%;
  }
}

@media (min-width: 1200px) {
  .col-xl-2 {
    flex-basis: 16.6666666667%;
    max-width: 16.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl-3 {
    flex-basis: 25%;
    max-width: 25%;
  }
}

@media (min-width: 1200px) {
  .col-xl-4 {
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
  }
}

@media (min-width: 1200px) {
  .col-xl-5 {
    flex-basis: 41.6666666667%;
    max-width: 41.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl-6 {
    flex-basis: 50%;
    max-width: 50%;
  }
}

@media (min-width: 1200px) {
  .col-xl-7 {
    flex-basis: 58.3333333333%;
    max-width: 58.3333333333%;
  }
}

@media (min-width: 1200px) {
  .col-xl-8 {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl-9 {
    flex-basis: 75%;
    max-width: 75%;
  }
}

@media (min-width: 1200px) {
  .col-xl-10 {
    flex-basis: 83.3333333333%;
    max-width: 83.3333333333%;
  }
}

@media (min-width: 1200px) {
  .col-xl-11 {
    flex-basis: 91.6666666667%;
    max-width: 91.6666666667%;
  }
}

@media (min-width: 1200px) {
  .col-xl-12 {
    flex-basis: 100%;
    max-width: 100%;
  }
}

.block-spacing--pt {
  padding-top: 1.625rem;
}
@media (min-width: 768px) {
  .block-spacing--pt {
    padding-top: var(--wp--preset--spacing--medium);
  }
}
.block-spacing--pb {
  padding-bottom: 1.625rem;
}
@media (min-width: 768px) {
  .block-spacing--pb {
    padding-bottom: var(--wp--preset--spacing--medium);
  }
}
.block-spacing--mt {
  margin-top: 1.875rem;
}
@media (min-width: 768px) {
  .block-spacing--mt {
    margin-top: var(--wp--preset--spacing--medium);
  }
}
.block-spacing--mb {
  margin-bottom: 1.875rem;
}
@media (min-width: 768px) {
  .block-spacing--mb {
    margin-bottom: var(--wp--preset--spacing--medium);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX2dsb2JhbC9fbm9ybWFsaXplLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19nbG9iYWwvX2dlbmVyYWwuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19nbG9iYWwvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fc2V0dGluZ3MvX21peGlucy5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fZ2xvYmFsL19hbmltYXRpb24uc2NzcyIsIndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9fX2dsb2JhbC9fZm9ybS5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fZ2xvYmFsL193cC5zY3NzIiwid2ViL2FwcC90aGVtZXMva2Jyby9hc3NldHMvY3NzL19fZ2xvYmFsL19ncmlkLnNjc3MiLCJ3ZWIvYXBwL3RoZW1lcy9rYnJvL2Fzc2V0cy9jc3MvX19nbG9iYWwvX3NwYWNpbmdzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7RUFDQztFQUNBOzs7QUFHRDtBQUFBO0FBQUE7RUFHQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUFBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUdEO0VBQ0M7OztBQUdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLQztFQUNBO0VBQ0E7RUFDQTs7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Ozs7O0FQd2VEO0VPNWVEO0lBRUU7SUFFQTs7OztBUHdlRDtFTzVlRDtJQUVFO0lBRUE7Ozs7QVB3ZUQ7RU81ZUQ7SUFFRTtJQUVBOzs7O0FQd2VEO0VPNWVEO0lBRUU7SUFFQTs7OztBUHdlRDtFTzVlRDtJQUVFO0lBRUE7Ozs7QVB3ZUQ7RU81ZUQ7SUFFRTtJQUVBOzs7O0FQd2VEO0VPNWVEO0lBRUU7SUFFQTs7OztBUHdlRDtFTzVlRDtJQUVFO0lBRUE7Ozs7QVB3ZUQ7RU81ZUQ7SUFFRTtJQUVBOzs7O0FQd2VEO0VPamVEO0lBRUU7SUFFQTs7OztBUDZkRDtFT2plRDtJQUVFO0lBRUE7Ozs7QVA2ZEQ7RU9qZUQ7SUFFRTtJQUVBOzs7O0FQNmREO0VPamVEO0lBRUU7SUFFQTs7OztBUDZkRDtFT2plRDtJQUVFO0lBRUE7Ozs7QVA2ZEQ7RU9qZUQ7SUFFRTtJQUVBOzs7O0FQNmREO0VPamVEO0lBRUU7SUFFQTs7OztBUDZkRDtFT2plRDtJQUVFO0lBRUE7Ozs7QVA2ZEQ7RU9qZUQ7SUFFRTtJQUVBOzs7O0FQNmREO0VPamVEO0lBRUU7SUFFQTs7OztBUDZkRDtFT2plRDtJQUVFO0lBRUE7Ozs7QVA2ZEQ7RU9qZUQ7SUFFRTtJQUVBOzs7O0FQNmREO0VPdGREO0lBRUU7SUFFQTs7OztBUGtkRDtFT3RkRDtJQUVFO0lBRUE7Ozs7QVBrZEQ7RU90ZEQ7SUFFRTtJQUVBOzs7O0FQa2REO0VPdGREO0lBRUU7SUFFQTs7OztBUGtkRDtFT3RkRDtJQUVFO0lBRUE7Ozs7QVBrZEQ7RU90ZEQ7SUFFRTtJQUVBOzs7O0FQa2REO0VPdGREO0lBRUU7SUFFQTs7OztBUGtkRDtFT3RkRDtJQUVFO0lBRUE7Ozs7QVBrZEQ7RU90ZEQ7SUFFRTtJQUVBOzs7O0FQa2REO0VPdGREO0lBRUU7SUFFQTs7OztBUGtkRDtFT3RkRDtJQUVFO0lBRUE7Ozs7QVBrZEQ7RU90ZEQ7SUFFRTtJQUVBOzs7O0FDNUZGO0VBQ0M7O0FSNmlCQTtFUTlpQkQ7SUFJRSxhVG1CTzs7O0FTaEJUO0VBQ0M7O0FSc2lCQTtFUXZpQkQ7SUFJRSxnQlRZTzs7O0FTVFQ7RUFDQzs7QVIraEJBO0VRaGlCRDtJQUlFLFlUUU07OztBU0xSO0VBQ0M7O0FSd2hCQTtFUXpoQkQ7SUFJRSxlVENNIiwiZmlsZSI6IndlYi9hcHAvdGhlbWVzL2ticm8vYXNzZXRzL2Nzcy9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyBzaW1wbGlmaWVkIHZlcnNpb24qL1xyXG5wcmUge1xyXG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuXHRmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbnNtYWxsIHtcclxuXHRmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuc3ViLFxyXG5zdXAge1xyXG5cdGZvbnQtc2l6ZTogNzUlO1xyXG5cdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcblx0Ym90dG9tOiAtMC4yNWVtO1xyXG59XHJcblxyXG5zdXAge1xyXG5cdHRvcDogLTAuNWVtO1xyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5vcHRncm91cCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiAxMDAlO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuXHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxucHJvZ3Jlc3Mge1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcblx0Zm9udDogaW5oZXJpdDtcclxufVxyXG5cclxuZGV0YWlscyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufSIsIjpyb290IHtcclxuXHQtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuXHJcblx0LS10cmFuc2l0aW9uLXNwZWVkOiAuMnM7XHJcblx0LS10cmFuc2l0aW9uLXNwZWVkLWxvbmdlcjogLjM1cztcclxuXHQtLXRyYW5zaXRpb24tc3BlZWQtYW5pbWF0aW9uOiAuN3M7XHJcblx0LS10cmFuc2l0aW9uLXNwZWVkLWFuaW1hdGlvbi1wYXR0ZXJuOiAxcztcclxuXHJcblx0QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcclxuXHRcdC0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHJcblx0XHQtLXRyYW5zaXRpb24tc3BlZWQ6IDBzO1xyXG5cdFx0LS10cmFuc2l0aW9uLXNwZWVkLWxvbmdlcjogMHM7XHJcblx0XHQtLXRyYW5zaXRpb24tc3BlZWQtYW5pbWF0aW9uOiAwcztcclxuXHRcdC0tdHJhbnNpdGlvbi1zcGVlZC1hbmltYXRpb24tcGF0dGVybjogMHM7XHJcblx0fVxyXG5cdEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xyXG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcblx0fVxyXG59XHJcblxyXG5odG1sIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4qOmZvY3VzIHtcclxuXHRvdXRsaW5lOiA0cHggc29saWQgJGNvbG9yLS1wcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6c2VsZWN0aW9uIHtcclxuXHRjb2xvcjogJGNvbG9yLS10ZXh0LWxpZ2h0O1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItLXNlY29uZGFyeTtcclxufVxyXG46Oi1tb3otc2VsZWN0aW9uIHtcclxuXHRjb2xvcjogJGNvbG9yLS10ZXh0LWxpZ2h0O1xyXG5cclxuXHRiYWNrZ3JvdW5kOiAkY29sb3ItLXNlY29uZGFyeTtcclxufVxyXG5cclxuaHRtbCB7XHJcblx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblxyXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxufVxyXG5cclxuYm9keSB7XHJcblx0dG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWRlc2t0b3A7XHJcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWRlc2t0b3A7XHJcblx0fVxyXG5cdCYudXNpbmctbW91c2UgOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbmEsXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdCY6Zm9jdXMge1xyXG5cdFx0b3V0bGluZTogbm9uZTtcclxuXHJcblx0XHRodG1sLnVzZXItdGFiLW5hdiAmIHtcclxuXHRcdFx0b3V0bGluZTogJG91dGxpbmU7XHJcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuZmlndXJlIHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbmltZyxcclxuc3ZnIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5uYXYge1xyXG5cdHVsIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0bWFyZ2luOiAwO1xyXG5cclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdD4gYSB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5za2lwdHJhbnNsYXRlOm5vdCguZ29vZy10ZS1nYWRnZXQpIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucGFnZS1jb250ZW50IHtcclxuXHRtYXJnaW4tdG9wOiByZW0oNjApO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdG1hcmdpbi10b3A6IHJlbSg4MCk7XHJcblx0fVxyXG59XHJcblxyXG4jcGFnZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubW9iaWxlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4udGFibGV0IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj14bCcpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uZGVza3RvcCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJz49eGwnKSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxufVxyXG5cclxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG5cdHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8vKiBCUkVBS1BPSU5UUyAqLy9cclxuJGJyZWFrcG9pbnRzOiAoeHM6IDM3NXB4LCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0NDBweCwgbWF4OiAxOTIwcHgpO1xyXG5cclxuLy8qIENPTlRBSU5FUiB3aWR0aCB2YXJpYWJsZXMgKi8vXHJcbiRjb250YWluZXItbW9iaWxlOiA3MjBweDtcclxuJGNvbnRhaW5lci1sZzogOTYwcHg7XHJcbiRjb250YWluZXIteGw6IDEwODBweDtcclxuJGNvbnRhaW5lci14eGw6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpOyAvLyB0aGVtZS5qc29uIHNldHRpbmdzLmxheW91dFxyXG4kY29udGFpbmVyLXBhZGRpbmc6IDcwOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jdXN0b20uYmFzZVBhZGRpbmdcclxuXHJcbi8vKiBGT05UUyAqLy9cclxuJGZvbnQtYmFzZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWJhc2UtZm9udCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLnR5cG9ncmFwaHkuZm9udEZhbWlsaWVzXHJcbiRmb250LWJhc2UtbmFycm93OiAnZGluLTIwMTQtbmFycm93JztcclxuJGZvbnQtdGl0bGU6ICdtaW5lcnZhLW1vZGVybic7XHJcblxyXG4kZm9udC1zaXplLWRlc2t0b3A6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbWVkaXVtKTsvL3RoZW1lLmpzb24gc2V0dGluZy50eXBvZ3JhcGh5LmZvbnRTaXplc1xyXG4kbGluZS1oZWlnaHQtZGVza3RvcDogMS41O1xyXG5cclxuLy8gU2V0IE1vYmlsZSBmb250LXNpemUgLyBsaW5lLWhlaWdodCBzdHlsZXMgaW4gdGhlbWUuanNvbiBzdHlsZXMudHlwb2dyYXBoeVxyXG5cclxuLy8qIFNQQUNJTkdTICovL1xyXG5cclxuLy8gQmxvY2sgU3BhY2luZ3NcclxuJHNwYWNpbmctbW9iaWxlOiAyNjsgLy90aGVtZS5qc29uIHNldHRpbmcuc3BhY2luZy5zcGFjaW5nU2l6ZXNcclxuJHNwYWNpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XHJcblxyXG4kbWFyZ2luLW1vYmlsZTogMzA7IC8vdGhlbWUuanNvbiBzZXR0aW5nLnNwYWNpbmcuc3BhY2luZ1NpemVzXHJcbiRtYXJnaW46IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XHJcblxyXG4vLyBNZWRpYSBTcGFjaW5nXHJcbiRtZWRpYS1tYXJnaW46IHZhcigtLXdwLS1jdXN0b20tLW1lZGlhLXNwYWNpbmcpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jdXN0b20ubWVkaWFTcGFjaW5nOyAvL3B4XHJcblxyXG4vLyogQ09MT1JTICovL1xyXG5cclxuLy8gQmFzZSBDb2xvcnNcclxuJGNvbG9yLS1kYXJrOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tZGFyayk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tbGlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1saWdodCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBNYWluIENvbG9yc1xyXG4kY29sb3ItLXByaW1hcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1zZWNvbmRhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ncmF5KTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS1ncmF5LTE6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ncmF5LTEpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLWdyYXktMjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWdyYXktMik7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcblxyXG4vLyBPdGhlciBDb2xvcnNcclxuJGNvbG9yLS0xOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItMSk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tMjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTIpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG4kY29sb3ItLTM6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb2xvci0zKTsgLy90aGVtZS5qc29uIHNldHRpbmcuY29sb3JcclxuJGNvbG9yLS00OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29sb3ItNCk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tNTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbG9yLTUpOyAvL3RoZW1lLmpzb24gc2V0dGluZy5jb2xvclxyXG5cclxuLy8gRWxlbWVudHMgQ29sb3JzXHJcbiRjb2xvci0tYmc6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZyk7IC8vdGhlbWUuanNvbiBzZXR0aW5nLmNvbG9yXHJcbiRjb2xvci0tYm9keTogJGNvbG9yLS1saWdodDtcclxuJGNvbG9yLS1ib3JkZXI6ICRjb2xvci0tZGFyaztcclxuXHJcbi8vIFRoZW1lIFRleHQgQ29sb3JzXHJcbiRjb2xvci0tdGV4dDogJGNvbG9yLS1kYXJrO1xyXG4kY29sb3ItLXRleHQtbGlnaHQ6ICRjb2xvci0tbGlnaHQ7XHJcbiRjb2xvci0tbGluazogJGNvbG9yLS1wcmltYXJ5O1xyXG4kY29sb3ItLWxpbmstaG92ZXI6ICRjb2xvci0tZGFyaztcclxuXHJcbi8vKiBPVEhFUiAqLy9cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbiR0cmFucy1zcGVlZDogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCk7XHJcbiR0cmFucy1zcGVlZC1sb25nZXI6IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtbG9uZ2VyKTtcclxuJHRyYW5zLXNwZWVkLWFuaW1hdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1hbmltYXRpb24pO1xyXG4kdHJhbnMtc3BlZWQtYW5pbWF0aW9uLXBhdHRlcm46IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtYW5pbWF0aW9uLXBhdHRlcm4pO1xyXG4kdHJhbnMtZnVuYzogdmFyKC0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xyXG5cclxuLy8gT3V0bGluZVxyXG4kb3V0bGluZTogMnB4IHNvbGlkIGJsdWU7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuXHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG5cdCdwaG9uZSc6IDMyMHB4LFxyXG5cdCd0YWJsZXQnOiA3NjhweCxcclxuXHQnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG5cdCdzY3JlZW4nOiAnc2NyZWVuJyxcclxuXHQncHJpbnQnOiAncHJpbnQnLFxyXG5cdCdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcblx0J2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG5cdCdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcblx0J3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuXHQncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcblx0J3B4JzogMSxcclxuXHQnZW0nOiAwLjAxLFxyXG5cdCdyZW0nOiAwLjEsXHJcblx0Jyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAd2FybiAkbWVzc2FnZTtcclxuXHRcdCRfOiBub29wKCk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuXHR9XHJcblxyXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG5cdFx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0XHRcdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG5cdFx0XHRcdFx0KCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcblx0XHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuXHRAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuXHRcdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdFx0XHRAcmV0dXJuICRvcGVyYXRvcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdCRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcblx0JGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcblx0QGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcblx0XHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcblx0QHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuXHRcdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0JGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcblx0QGlmIG5vdCAkaW50ZXJ2YWwge1xyXG5cdFx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdFx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHRcdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdFx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHRcdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHRcdCRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuXHR9XHJcblxyXG5cdEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG5cdH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG5cdC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuXHQvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcblx0XHRAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcblx0fVxyXG5cclxuXHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuXHQkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcblx0XHRAcmV0dXJuICgpO1xyXG5cdH1cclxuXHJcblx0JHJlc3VsdDogKCk7XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcblx0QGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcblx0XHRAcmV0dXJuICR2YWx1ZTtcclxuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcblx0XHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG5cdH1cclxuXHJcblx0JGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcblx0JHJlc3VsdDogMDtcclxuXHQkZGlnaXRzOiAwO1xyXG5cdCRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG5cdC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuXHRcdCR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcblx0fVxyXG5cclxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcblx0XHQkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuXHRcdEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuXHRcdFx0QHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG5cdFx0XHQkZGlnaXRzOiAxO1xyXG5cdFx0fSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuXHQkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcblx0XHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG5cdC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcblx0QGNvbnRlbnQ7XHJcblxyXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuXHRcdFx0KG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG5cdFx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG5cdFx0XHQvLyBSZWN1cnNpdmUgY2FsbFxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuXHRcdFx0XHRAY29udGVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIuc2NyZWVuLXJlYWRlci10ZXh0LFxyXG4udmlzdWFsbHktaGlkZGVuLFxyXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xyXG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XHJcblxyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcclxuXHJcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcclxufVxyXG5hLnNraXAtbGluayB7XHJcblx0d2lkdGg6IDFweDtcclxuXHRoZWlnaHQ6IDFweDtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHotaW5kZXg6IC05OTk7XHJcblx0dG9wOiBhdXRvO1xyXG5cdGxlZnQ6IC05OTlweDtcclxuXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0W2Rpcj1cInJ0bFwiXSAmIHtcclxuXHRcdHJpZ2h0OiAtOTk5cHg7XHJcblx0fVxyXG59XHJcbmEuc2tpcC1saW5rOmZvY3VzLFxyXG5hLnNraXAtbGluazphY3RpdmUge1xyXG5cdHdpZHRoOiAxNTBweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0cGFkZGluZzogNXB4O1xyXG5cclxuXHR6LWluZGV4OiA5OTk7XHJcblx0dG9wOiAyMHB4O1xyXG5cdGxlZnQ6IDIwcHg7XHJcblx0bWFyZ2luOiAwO1xyXG5cclxuXHRmb250LXNpemU6IHJlbSgxNik7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiAjRkZGO1xyXG5cclxuXHRib3JkZXI6IDJweCBzb2xpZCB5ZWxsb3c7XHJcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8vIEJhc2UgZ2xvYmFsIHN0eWxlcyBtb3ZlZCB0byB0aGVtZS5qc29uXHJcblxyXG4vLyBIZWFkaW5ncyAvL1xyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2LFxyXG4uaDEsXHJcbi5oMixcclxuLmgzLFxyXG4uaDQsXHJcbi5oNSxcclxuLmg2IHtcclxuXHRmb250LWZhbWlseTogJ21pbmVydmEtbW9kZXJuJywgc2Fucy1zZXJpZjtcclxuXHJcblx0Jjpvbmx5LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG5oMSwgLmgxIHtcclxuXHRAaW5jbHVkZSBmb250KDQwLCA1MCk7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCg1MCwgNTQpO1xyXG5cdH1cclxufVxyXG5cclxuaDIsIC5oMiB7XHJcblx0QGluY2x1ZGUgZm9udCgzMCwgMzUpO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoNDAsIDQ4KTtcclxuXHR9XHJcbn1cclxuXHJcbmgzLCAuaDMge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjUsIDMwKTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDMyLCAzMCk7XHJcblx0fVxyXG59XHJcblxyXG5oNCwgLmg0IHtcclxuXHRAaW5jbHVkZSBmb250KDIzLCAyNyk7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgyNywgMzApO1xyXG5cdH1cclxufVxyXG5cclxuaDUsIC5oNSB7XHJcblx0QGluY2x1ZGUgZm9udCgyMiwgMjUpO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjQsIDI4KTtcclxuXHR9XHJcbn1cclxuXHJcbmg2LCAuaDYge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjAsIDIzKTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDIxLCAyNSk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gTWFpbiBFbGVtZW50cyAvL1xyXG5hIHtcclxuXHRpbWcge1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdH1cclxufVxyXG5cclxucCB7XHJcblx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi5wYWdlLWNvbnRlbnQgdWw6bm90KFtjbGFzc10pLFxyXG4uYWNmLWJsb2NrIHVsOm5vdChbY2xhc3NdKSxcclxuLmVkaXRvci1yaWNoLXRleHQgdWwsXHJcbm9sIHtcclxuXHR1bCxcclxuXHRvbCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG59XHJcblxyXG51bDpub3QoW2NsYXNzXSkge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTgsIDMwKTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cclxuXHRwYWRkaW5nLWxlZnQ6IHJlbSgyNyk7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuXHJcblx0aGVpZ2h0OiAwO1xyXG5cclxuXHRtYXJnaW4tdG9wOiByZW0oJG1hcmdpbi1tb2JpbGUpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbSgkbWFyZ2luLW1vYmlsZSk7XHJcblxyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItLXRleHQ7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKCRtYXJnaW4pO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKCRtYXJnaW4pO1xyXG5cdH1cclxufVxyXG5cclxuLnRpdGxlLWZvbnQge1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZSwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLnRleHQtZm9udCB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LWJhc2UsIHNhbnMtc2VyaWY7XHJcblxyXG5cdCYtLW5hcnJvdyB7XHJcblx0XHRmb250LWZhbWlseTogJ2Rpbi0yMDE0LW5hcnJvdycsIHNhbnMtc2VyaWY7XHJcblx0fVxyXG59XHJcblxyXG4uaW5saW5lIHtcclxuXHRkaXNwbGF5OiBpbmxpbmU7XHJcbn1cclxuXHJcbi5zaW5nbGUtdGl0bGUge1xyXG5cdG1heC13aWR0aDogcmVtKDg2MSk7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uZ2VuZXJhbC10ZXh0IHtcclxuXHRtYXJnaW46IHJlbSgxMjApIDAgcmVtKDgwKTtcclxuXHJcblx0YTpub3QoW2NsYXNzXSkge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnMtc3BlZWQgJHRyYW5zLWZ1bmM7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItLWRhcms7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bDpub3QoW2NsYXNzXSkge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiByZW0oMTEpO1xyXG5cclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnQoMTgsIDMwKTtcclxuXHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg3NCk7XHJcblx0XHR9XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRnYXA6IDAgcmVtKDEwKTtcclxuXHJcblx0XHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogJ+KAoic7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHR1bCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHQmICsgaDEsICYgKyAuaDEge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oNDApO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjApO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtKDYwKTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JiArIGgyLCAmICsgLmgyIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDM1KTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSg1MCk7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYgKyBoMywgJiArIC5oMyB7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgzMCk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oNDApO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JiArIGg0LCAmICsgLmg0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDI1KTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IHJlbSgzNSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmICsgaDUsICYgKyAuaDUge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogcmVtKDMwKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYgKyBoNiwgJiArIC5oNiB7XHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oMjUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vXHJcbi8vIE1JWElOU1xyXG4vL1xyXG5AbWl4aW4gY2Yge1xyXG5cdCY6YmVmb3JlLFxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblxyXG5cdFx0ZGlzcGxheTogdGFibGU7XHJcblx0fVxyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3LXNpemUoJHMsICR3OiAxNDQwKSB7XHJcblx0QHJldHVybiAoJHMgLyAkdykgKiAxMDAgKyB2dztcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZVZhbHVlOiAxNikge1xyXG5cdEByZXR1cm4gY2FsYygkc2l6ZVZhbHVlIC8gMTYpICsgcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVsKCRzaXplLCAkcmVsKSB7XHJcblx0QHJldHVybiBjYWxjKCRzaXplIC8gJHJlbCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlbSgkc2l6ZSwgJHJlbCkge1xyXG5cdEByZXR1cm4gcmVsKCRzaXplLCAkcmVsKSAqIDFlbTtcclxufVxyXG5cclxuQG1peGluIG9iamVjdC1maXQtY292ZXIoKSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblxyXG5cdG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG5AbWl4aW4gbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0OiAwKSB7XHJcblx0QGlmICRsaW5lLWhlaWdodCAhPSAwIHtcclxuXHRcdEBpZiAkbGluZS1oZWlnaHQgPCAxMCB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiBjYWxjKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUsICRsZXR0ZXItc3BhY2luZzogMCkge1xyXG5cdEBpZiAkbGV0dGVyLXNwYWNpbmcgIT0gMCB7XHJcblx0XHRAaWYgJGxldHRlci1zcGFjaW5nIDwgMTAge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogcmVtKCRsZXR0ZXItc3BhY2luZyk7XHJcblx0XHR9XHJcblx0XHRAZWxzZSB7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oKCRmb250LXNpemUgKiAkbGV0dGVyLXNwYWNpbmcpIC8gMTAwMCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0OiAwLCAkbGV0dGVyLXNwYWNpbmc6IDApIHtcclxuXHRAaWYgdHlwZS1vZigkZm9udC1zaXplLW1hcCkgPT0gJ21hcCcge1xyXG5cdFx0QGVhY2ggJGJyZWFrcG9pbnQsICRmb250LXNpemUgaW4gJGZvbnQtc2l6ZS1tYXAge1xyXG5cdFx0XHRAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGxpbmUtaGVpZ2h0KG1hcC1nZXQoJGZvbnQtc2l6ZS1tYXAsIG50aChtYXAta2V5cygkZm9udC1zaXplLW1hcCksIC0xKSksICRsaW5lLWhlaWdodCk7XHJcblx0XHRcdFx0QGluY2x1ZGUgbGV0dGVyLXNwYWNpbmcobWFwLWdldCgkZm9udC1zaXplLW1hcCwgbnRoKG1hcC1rZXlzKCRmb250LXNpemUtbWFwKSwgLTEpKSwgJGxldHRlci1zcGFjaW5nKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAZWxzZSB7XHJcblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdEBlbHNlIHtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUtbWFwKTtcclxuXHJcblx0XHRAaW5jbHVkZSBsaW5lLWhlaWdodCgkZm9udC1zaXplLW1hcCwgJGxpbmUtaGVpZ2h0KTtcclxuXHRcdEBpbmNsdWRlIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUtbWFwLCAkbGV0dGVyLXNwYWNpbmcpO1xyXG5cdH1cclxufVxyXG4iLCIuYm91bmNlIHtcclxuXHRvcGFjaXR5OiAwO1xyXG5cclxuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcblxyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zLXNwZWVkLWFuaW1hdGlvbiAkdHJhbnMtZnVuYywgdHJhbnNmb3JtICR0cmFucy1zcGVlZC1hbmltYXRpb24gJHRyYW5zLWZ1bmMsIGJhY2tmYWNlLXZpc2liaWxpdHkgJHRyYW5zLXNwZWVkLWFuaW1hdGlvbiAkdHJhbnMtZnVuYztcclxufVxyXG5cclxuLmJvdW5jZS11cCB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMi41cmVtLCAwKTtcclxufVxyXG5cclxuLmJvdW5jZS1sZWZ0IHtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMi41cmVtLCAwLCAwKTtcclxufVxyXG5cclxuLmJvdW5jZS1yaWdodCB7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMi41cmVtLCAwLCAwKTtcclxufVxyXG5cclxuLmJvdW5jZS5pbi12aWV3IHtcclxuXHRvcGFjaXR5OiAxO1xyXG5cclxuXHR0cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi5wYXR0ZXJuIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgnPj0yMjAwcHgnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Ji0tbGVmdCB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG5cdH1cclxuXHJcblx0Ji0tcmlnaHQge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG5cdH1cclxufVxyXG4iLCIud3BjZjcge1xyXG4gICAgJi1mb3JtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiByZW0oMTYpO1xyXG5cclxuICAgICAgICAmLWNvbnRyb2wtd3JhcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAgICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNlbnQge1xyXG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZm9ybS1jb2x1bW4tcm93IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHA6aGFzKC53cGNmNy1zdWJtaXQpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1zcGlubmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi1ub3QtdmFsaWQtdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgMTgpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgtMyk7XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtcmVzcG9uc2Utb3V0cHV0IHtcclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb250KDE4LCAyMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0ge1xyXG4gICAgICAgICYtZ3JvdXAge1xyXG4gICAgICAgICAgICBiciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgxNiwgMjEpO1xyXG5cclxuICAgICAgICAgICAgICAgICYtLWJpZ2dlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udCgyMCwgMjEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTMpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW5wdXQsIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4KSByZW0oMTYpO1xyXG5cclxuICAgICAgICAgICAgICAgIGJvcmRlcjogcmVtKDEpIHNvbGlkICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoMTgsIDIxKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICZbdHlwZT1cImZpbGVcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1KSByZW0oMjEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgxMjApO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNTIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWNvbHVtbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogcmVtKDE2KTtcclxuXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI2KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi1yb3cge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBnYXA6IHJlbSgyMCk7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiByZW0oNjUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLndwY2Y3LXN1Ym1pdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1wcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyOiByZW0oMykgc29saWQgJGNvbG9yLS1wcmltYXJ5O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb250KDE2LCAyMSk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgxLjYpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLS1saWdodDtcclxuXHJcbiAgICAgICAgbWluLXdpZHRoOiByZW0oMTQ0KTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oNykgcmVtKDE1KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNik7XHJcblxyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFucy1zcGVlZCAkdHJhbnMtZnVuYywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnMtc3BlZWQgJHRyYW5zLWZ1bmM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IHJlbSg0KSBzb2xpZCAkY29sb3ItLXNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi53cC1jYXB0aW9uIHtcclxuXHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cdGZpZ3VyZSB7XHJcblx0XHR3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5hbGlnbmxlZnQsXHJcbi53cC1ibG9jay1pbWFnZSAuYWxpZ25sZWZ0IHtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRtYXJnaW46IDAgJG1lZGlhLW1hcmdpbiAkbWVkaWEtbWFyZ2luIDA7XHJcbn1cclxuXHJcbi5hbGlnbnJpZ2h0LFxyXG4ud3AtYmxvY2staW1hZ2UgLmFsaWducmlnaHQge1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRtYXJnaW46IDAgMCAkbWVkaWEtbWFyZ2luICRtZWRpYS1tYXJnaW47XHJcbn1cclxuXHJcbi5hbGlnbm5vbmUsXHJcbi53cC1ibG9jay1pbWFnZSAuYWxpZ25ub25lIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG5cdG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmFsaWduY2VudGVyLFxyXG4ud3AtYmxvY2staW1hZ2UgLmFsaWduY2VudGVyIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHJcblx0bWFyZ2luOiAkbWVkaWEtbWFyZ2luIGF1dG87XHJcblxyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmhhcy10ZXh0LXVwcGVyY2FzZSB7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLmlzLWNvbnRlbnQtanVzdGlmaWNhdGlvbiB7XHJcblx0Ji10b3AtY2VudGVyIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cdCYtdG9wLWxlZnQge1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0fVxyXG5cdCYtdG9wLXJpZ2h0IHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHR9XHJcblx0Ji1jZW50ZXItY2VudGVyIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0Ji1jZW50ZXItbGVmdCB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdH1cclxuXHQmLWNlbnRlci1yaWdodCB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHR9XHJcblx0Ji1ib3R0b20tY2VudGVyIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHQmLWJvdHRvbS1sZWZ0IHtcclxuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHR9XHJcblx0Ji1ib3R0b20tcmlnaHQge1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHR9XHJcbn1cclxuIiwiLmNvbnRhaW5lciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAkY29udGFpbmVyLXh4bDtcclxuXHRwYWRkaW5nOiAwIHJlbSgyNik7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0cGFkZGluZzogMCByZW0oJGNvbnRhaW5lci1wYWRkaW5nKTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250YWluZXIuY29udGFpbmVyLS1mdWxsIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kLWZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLnJvdyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG5cdG1hcmdpbi1yaWdodDogcmVtKCRjb250YWluZXItcGFkZGluZyAqIC0xKTtcclxuXHRtYXJnaW4tbGVmdDogcmVtKCRjb250YWluZXItcGFkZGluZyAqIC0xKTtcclxuXHJcblx0Ji5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0fVxyXG5cdCYuanVzdGlmeS1jb250ZW50LWNlbnRlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0Ji5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdCYuanVzdGlmeS1jb250ZW50LWV2ZW5seSB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuXHR9XHJcblx0Ji5hbGlnbi1pdGVtcy1jZW50ZXIge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi5jb2wge1xyXG5cdGZsZXgtYmFzaXM6IDA7XHJcblx0ZmxleC1ncm93OiAxO1xyXG5cdGZsZXgtc2hyaW5rOiAxO1xyXG5cclxuXHRwYWRkaW5nOiAwIHJlbSgkY29udGFpbmVyLXBhZGRpbmcpO1xyXG59XHJcblxyXG5bY2xhc3MqPSdjb2wtJ10ge1xyXG5cdGZsZXgtZ3JvdzogMDtcclxuXHRmbGV4LXNocmluazogMDtcclxuXHJcblx0cGFkZGluZzogMCByZW0oJGNvbnRhaW5lci1wYWRkaW5nKTtcclxufVxyXG5cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XHJcblx0LmNvbC0jeyRpfSB7XHJcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcclxuXHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuLy8gVGFibGV0XHJcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xyXG5cdC5jb2wtbWQtI3skaX0ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xyXG5cclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIFNtYWxsIERlc2t0b3BcclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XHJcblx0LmNvbC1sZy0jeyRpfSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcclxuXHRcdFx0ZmxleC1iYXNpczogY2FsYygkaSAvIDEyKSAqIDEwMCU7XHJcblxyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoJGkgLyAxMikgKiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gRGVza3RvcFxyXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcclxuXHQuY29sLXhsLSN7JGl9IHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXhsJykge1xyXG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCRpIC8gMTIpICogMTAwJTtcclxuXHJcblx0XHRcdG1heC13aWR0aDogY2FsYygkaSAvIDEyKSAqIDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmJsb2NrLXNwYWNpbmcge1xyXG5cdCYtLXB0IHtcclxuXHRcdHBhZGRpbmctdG9wOiByZW0oJHNwYWNpbmctbW9iaWxlKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0cGFkZGluZy10b3A6ICRzcGFjaW5nO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLS1wYiB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKCRzcGFjaW5nLW1vYmlsZSk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkc3BhY2luZztcclxuXHRcdH1cclxuXHR9XHJcblx0Ji0tbXQge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKCRtYXJnaW4tbW9iaWxlKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcclxuXHRcdH1cclxuXHR9XHJcblx0Ji0tbWIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKCRtYXJnaW4tbW9iaWxlKTtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19 */
